Windows10でYOLOXを動かしてみたら色々とエラーがでて苦戦したので、エラーと対策をまとめてみました。
subprocess.CalledProcessError: Command '['where', 'cl']' returned non-zero exit status 1.
内容
Visual Studioの環境変数が通っておらず、clコマンドが実行できないというエラー。
対策
VisualStudioの環境変数を設定します。パスの内容は自身の環境に合わせて適宜変更してください。
1.PATHに以下の2つのパスを追加
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE
2.LIBという環境変数を作成し以下の3つパスを追加
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\lib\x64;
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x86;
C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86
3.INCLUDEという環境変数を作成し以下の2つのパスを追加
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.
内容
ninjaの更新によりninja --vというコマンドが使えなくなっている。
対策
PYTHONのインストール先\Lib\site-packages\torch\utils\cpp_extension.pyの_run_ninja_buildメソッドを以下の通り修正する。
修正前
command = ['ninja', '--v']
修正後
command = ['ninja', '--version']
ModuleNotFoundError: No module named 'yolox.layers.fast_cocoeval
内容
importエラー。
対策
YOLOX/yolox/evaluators\coco_evaluator.pyの291行目を以下の通り修正する。
修正前
from yolox.layers import COCOeval_opt as COCOeval
修正後
from pycocotools.cocoeval import COCOeval