ModuleNotFoundError: No module named 'mmcv._ext'が出てしまって困った解決策
こんばんは、クロガネです。
タイトル通りMMCVモジュールを使用していると以下のエラーが出ることがあります。
ModuleNotFoundError: No module named 'mmcv._ext'
GitHubのissueではどのバージョンを入れたらどうのこうの、という話しか見つからなかったので、自環境では解決した方法を共有しておきます。
解決策
解決策はシンプルでした。
公式ドキュメントからどのバージョに合わせるべきかを選ぶことができます。PyTorchのバージョンに合わせて導入するとエラーが消えました。
Installation — mmcv 2.2.0 documentation
実際のところ、公式ドキュメントを最初に読むべきでしたね。GitHubのページにもPyTorchに言及はしてあるので、最初に疑うべきでしたね。
PyTorchのバージョンを確認
自分の場合は
・Windows
・PyTorchが「2.2.2+cu118」
です。
上記サイトでそれぞれプルダウンから選択すると、以下のコマンドでインストールしてください。と言われます。
MMCVの入れ直し
すでにmmcvを導入済みだと思うのでuninstallします。
pip uninstall mmcv
また、mmcv-fullも導入していたらこちらもuninstallします。
pip uninstall mmcv-full
最後に公式ドキュメントで選択したコマンドで導入します。念のため、pipの--no-cache-dirオプションを指定しておきましょう。
自分の環境では最終的に以下のコマンドで解決しました。
pip install mmcv==2.2.0 --no-cache-dir -f https://download.openmmlab.com/mmcv/dist/cu118/torch2.2/index.html
注) mmcv2.xではmmcv-fullではなくmmcvのみの導入で問題ありません
注意点として、古いドキュメントだとmmcv-fullを導入してください、と書いてあることがありますが、mmcv2.x以降はmmcvのみで問題ありません。
下記の通り、
1.xのmmcv → 2.xのmmcv-lite
1.xのmmcv-full → 2.xのmmcv
です。
お疲れ様です。
以上で自環境では解決しました。
プログラミングnoobなので半日かかってしまったので共有しておきます。
これで解決すれば幸いです。
クロガネでした!
この記事が気に入ったらサポートをしてみませんか?