msracver / FCIS

Fully Convolutional Instance-aware Semantic Segmentation
MIT License
1.57k stars 415 forks source link

Trouble building on Windows 10 (TypeError: expected str, bytes or os.PathLike object, not NoneType) #152

Closed ferakon closed 4 years ago

ferakon commented 4 years ago

I receive the following messages when running init.bat on Windows 10.

Specifically with: setup_windows_cuda.py in lib/nms setup_windows.py in lib/mask

VS build tools are installed and build the other Cython files fine. I did have to change .iteritems to .items in setups for compatibility with python 3.

CUDA is 10.1, CUDNN up to date, mxnet up to date:

C:\Users\User\Desktop\ML_project\FCIS-master> nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Fri_Feb__8_19:08:26_Pacific_Standard_Time_2019
Cuda compilation tools, release 10.1, V10.1.105

Any ideas what is going wrong here?

C:\Users\User\Desktop\ML_project\FCIS-master\lib\nms>python setup_windows_cuda.py build_ext --inplace
running build_ext
building 'gpu_nms' extension
Traceback (most recent call last):
  File "setup_windows_cuda.py", line 127, in <module>
    cmdclass={'build_ext': CUDA_build_ext},
  File "C:\Users\User\Anaconda3\lib\site-packages\setuptools\__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "C:\Users\User\Anaconda3\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Users\User\Anaconda3\lib\distutils\dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "C:\Users\User\Anaconda3\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\Users\User\Anaconda3\lib\site-packages\setuptools\command\build_ext.py", line 84, in run
    _build_ext.run(self)
  File "C:\Users\User\Anaconda3\lib\site-packages\Cython\Distutils\old_build_ext.py", line 186, in run
    _build_ext.build_ext.run(self)
  File "C:\Users\User\Anaconda3\lib\distutils\command\build_ext.py", line 340, in run
    self.build_extensions()
  File "setup_windows_cuda.py", line 53, in build_extensions
    build_ext.build_extensions(self)
  File "C:\Users\User\Anaconda3\lib\site-packages\Cython\Distutils\old_build_ext.py", line 195, in build_extensions
    _build_ext.build_ext.build_extensions(self)
  File "C:\Users\User\Anaconda3\lib\distutils\command\build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "C:\Users\User\Anaconda3\lib\distutils\command\build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "C:\Users\User\Anaconda3\lib\site-packages\setuptools\command\build_ext.py", line 205, in build_extension
    _build_ext.build_extension(self, ext)
  File "C:\Users\User\Anaconda3\lib\distutils\command\build_ext.py", line 534, in build_extension
    depends=ext.depends)
  File "C:\Users\User\Anaconda3\lib\distutils\_msvccompiler.py", line 424, in compile
    self.spawn(args)
  File "setup_windows_cuda.py", line 82, in spawn
    os.path.dirname(find_executable("cl.exe", PATH))
  File "C:\Users\User\Anaconda3\lib\ntpath.py", line 221, in dirname
    return split(p)[0]
  File "C:\Users\User\Anaconda3\lib\ntpath.py", line 183, in split
    p = os.fspath(p)
TypeError: expected str, bytes or os.PathLike object, not NoneType

C:\Users\User\Desktop\ML_project\FCIS-master\lib\nms>cd ..\mask

C:\Users\User\Desktop\ML_project\FCIS-master\lib\mask>python setup_windows.py build_ext --inplace
running build_ext
building 'gpu_mv' extension
Traceback (most recent call last):
  File "setup_windows.py", line 124, in <module>
    cmdclass={'build_ext': CUDA_build_ext},
  File "C:\Users\User\Anaconda3\lib\site-packages\setuptools\__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "C:\Users\User\Anaconda3\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Users\User\Anaconda3\lib\distutils\dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "C:\Users\User\Anaconda3\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\Users\User\Anaconda3\lib\site-packages\setuptools\command\build_ext.py", line 84, in run
    _build_ext.run(self)
  File "C:\Users\User\Anaconda3\lib\site-packages\Cython\Distutils\old_build_ext.py", line 186, in run
    _build_ext.build_ext.run(self)
  File "C:\Users\User\Anaconda3\lib\distutils\command\build_ext.py", line 340, in run
    self.build_extensions()
  File "setup_windows.py", line 50, in build_extensions
    build_ext.build_extensions(self)
  File "C:\Users\User\Anaconda3\lib\site-packages\Cython\Distutils\old_build_ext.py", line 195, in build_extensions
    _build_ext.build_ext.build_extensions(self)
  File "C:\Users\User\Anaconda3\lib\distutils\command\build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "C:\Users\User\Anaconda3\lib\distutils\command\build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "C:\Users\User\Anaconda3\lib\site-packages\setuptools\command\build_ext.py", line 205, in build_extension
    _build_ext.build_extension(self, ext)
  File "C:\Users\User\Anaconda3\lib\distutils\command\build_ext.py", line 534, in build_extension
    depends=ext.depends)
  File "C:\Users\User\Anaconda3\lib\distutils\_msvccompiler.py", line 424, in compile
    self.spawn(args)
  File "setup_windows.py", line 79, in spawn
    os.path.dirname(find_executable("cl.exe", PATH))
  File "C:\Users\User\Anaconda3\lib\ntpath.py", line 221, in dirname
    return split(p)[0]
  File "C:\Users\User\Anaconda3\lib\ntpath.py", line 183, in split
    p = os.fspath(p)
TypeError: expected str, bytes or os.PathLike object, not NoneType
ferakon commented 4 years ago

Was not detecting cl.exe in PATH (fixed this...) New errors:

Probably more OS / directory issues. Not to do with FCIS code.

C:\Users\User\Desktop\ML_project\FCIS-master\lib\nms>python setup_windows_cuda.py build_ext --inplace
running build_ext
building 'gpu_nms' extension
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\nvcc.exe --compiler-bindir "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.24.28314\bin\Hostx64\x64" -c -IC:\Users\User\Anaconda3\lib\site-packages\numpy\core\include -IC:\Programming\CUDA\v8.0\include -IC:\Users\User\Anaconda3\include -IC:\Users\User\Anaconda3\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.24.28314\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" gpu_nms.cu -o build\temp.win-amd64-3.7\Release\gpu_nms.obj -O --ptxas-options=-v -arch=compute_35 -code=sm_35,sm_52,sm_61 -c --compiler-options=/nologo,/Ox,/W3,/GL,/DNDEBUG,/MD
nvcc fatal   : '--ptxas-options=-v': expected a number
error: command 'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.1\\bin\\nvcc.exe' failed with exit status 1

C:\Users\User\Desktop\ML_project\FCIS-master\lib\nms>cd ..\mask

C:\Users\User\Desktop\ML_project\FCIS-master\lib\mask>python setup_windows.py build_ext --inplace
running build_ext
building 'gpu_mv' extension
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\nvcc.exe --compiler-bindir "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.24.28314\bin\Hostx64\x64" -c -IC:\Users\User\Anaconda3\lib\site-packages\numpy\core\include -IC:\Programming\CUDA\v8.0\include -IC:\Users\User\Anaconda3\include -IC:\Users\User\Anaconda3\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.24.28314\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" gpu_mv.cu -o build\temp.win-amd64-3.7\Release\gpu_mv.obj -O --ptxas-options=-v -arch=sm_35 -c --compiler-options=/nologo,/Ox,/W3,/GL,/DNDEBUG,/MDnvcc fatal   : '--ptxas-options=-v': expected a number
error: command 'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.1\\bin\\nvcc.exe' failed with exit status 1
ferakon commented 4 years ago

This code only work with CUDA 8 and old versions of VS out of the box it seems...