M2DetをWindowsで実装しようと思い、サイトを参考にやっていたのですが、最後のコンパイルでエラーが出て、原因が分からず困っています。
環境
anaconda
python3.7
cuda10.0
(何を書けばいいかわからなかったのでとりあえずこれだけ書いてますが、他に知りたいバージョンあればコメントしてください)
やったこと
python setup.py build_ext --inplace
python setup_cuda.py build_ext --inplace
この二つを実行して、それぞれ
running build_ext
error: each element of 'ext_modules' option must be an Extension instance or 2-tuple
"setup_cuda.py", line 79, in spawn
os.path.dirname(find_executable("cl.exe", PATH))
~\ntpath.py", line 221, in dirname
return split(p)[0]
~\ntpath.py", line 183, in split
p = os.fspath(p)
TypeError: expected str, bytes or os.PathLike object, not NoneType
というエラーが出ました。
初心者なので、できるだけわかりやすく教えていただけると幸いです。
参考コードのURL
https://github.com/qijiezhao/M2Det
変更箇所
・setup.py
61行目を変更
変更前:for k, v in cudaconfig.iteritems():
変更後:for k, v in cudaconfig.items():
128~136行目をコメントアウト
・setup_cuda.py
61行目を変更
変更前:nvcc_compile_args = ['-O', '--ptxas-options=-v', '-arch=sm_35', '-c', '--compiler-options=-fPIC']
変更後:nvcc_compile_args = ['-O2', '--ptxas-options=-v', '-arch=sm_35', '-c', '--compiler-options=-fPIC']
100行目と101行目の間に以下を追記
#Remove ',ID=2'
elif ',ID=2' in c: cmd[idx] = c[0:len(c)-5]