現象は以下。
- Dockerfileでmim install mmdetを実行して作ったコンテナで推論を実行すると発生する
- docker buildのログを見ていると、mmcvのcpu版がインストールされている。でも実行環境ではgpu版を使おうとしてエラーになっているっぽい
- 手動でmim install mmdetを実行した場合は発生しない
docker build時の環境でgpuが使えないので自動的にcpu版のmmcvをインストールしてしまうのが原因と思われる。
build環境でもgpuを使えるようにする方法がちょっとわからなかったので以下のようにmmcv-fullのgpu版はpipでinstallし、その後mim install mmdetを実行するようにしたら直った。
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html
参考: