Open ferakon opened 4 years ago
Hello, I got the following result after the compile process. I have too many errors
I am not sure that I could help you with your specific issues as I wrote this guide a few years ago now and have not used this FCIS repo since then. The authors have also not updated the repo in 4+ years so there has probably been quite a few updates to required packages and software since release. I would imagine you are most likely encountering a version incompatibility issue somewhere. I would start by checking that your mxnet is the same as that listed in the guide. Sorry I can't be of further help.
Hi all,
I had quite a bit of trouble getting this working on Windows 10, so wanted to share my setup process for others who may be struggling to get FCIS working. I understand that this isn't really an 'Issue' per se, but I think it might help a lot of people until these steps are better highlighted in the official repo README. Remember to replace Your_User_Name in some of the file paths I discuss here.
After following these steps I successfully managed to train FCIS on the COCO 2014 40K validation dataset.
1. Required software etc.
Visual Studio Community 2015 https://visualstudio.microsoft.com/vs/older-downloads/
CUDA Toolkit 8.0 GA2 (Feb 2017) and Patch 2: https://developer.nvidia.com/cuda-toolkit-archive
cuDNN 6.0: https://developer.nvidia.com/rdp/cudnn-download
CMake: https://cmake.org/download/
Open CV 3.4.9: https://opencv.org/releases/ *OpenCV - 3.4.9 > Windows
OpenBLAS: https://sourceforge.net/projects/openblas/files/v0.3.6/ *OpenBLAS-0.3.6-x64.zip
mingw64 DLLs: https://sourceforge.net/projects/openblas/files/v0.2.12/mingw64_dll.zip/download
2. Set Environment Variables:
Start > Advanced System Settings > Environment variables...
Then under User variables for User:
Path > Edit > New ...add the following to Path:
OK
Now back on 'Environment Variables' Add the following new variables: New...
3. Setup Python:
Anaconda 2.7 (...yes FCIS is written in 2.7 and would otherwise d require a lot of work to convert to 3) https://www.anaconda.com/distribution/
conda update --all
pip install opencv-python
... everything else seemed to already be there but you might want to make sure to also pip: Cython easydict hickle
4. Install git
Open Anaconda2 prompt and type:
conda install git
5. Download FCIS and fix code for Windows:
git clone https://github.com/msracver/FCIS.git
fix windows cuda setup by adding:
...to the bottom of the elif statements in: setup_windows_cuda.py in lib\nms (elif statement should be added within for loop that starts at line 85) setup_windows.py in lib\mask (elif statement should be added within for loop that starts at line 82)
fix kvstore param problem by following instructions at https://github.com/msracver/FCIS/issues/135 In summary:
Change some lines between 570--590 in ./fcis/core/module.py to the following:
6. Setup and compile proper mxnet version:
In command prompt go to:
C:\Users\**Your_User_Name**\Anaconda2\Lib\site-packages
Enter the follwoing commands:
git clone --recursive https://github.com/dmlc/mxnet.git
wait for mxnet to download...
wait for submodules to update...
Copy files in FCIS repo
.\fcis\operator_cxx
toC:\Users\**Your_User_Name**\Anaconda2\Lib\site-packages\mxnet\src\operator\contrib
... 3 files will be overwritten
Navigate Anaconda2 prompt to:
C:\Users\**Your_User_Name**\Anaconda2\Lib\site-packages\mxnet
Enter commands:
make the code with the following command:
cmake -G "Visual Studio 14 2015 Win64" -T cuda=8.0,host=x64 -DUSE_CUDA=1 -DUSE_CUDNN=1 -DUSE_NVRTC=1 -DUSE_OPENCV=1 -DUSE_OPENMP=1 -DUSE_BLAS=open -DUSE_LAPACK=1 -DUSE_DIST_KVSTORE=0 -DCUDA_ARCH_LIST=Common -DCUDA_TOOLSET=8.0 -DCUDNN_INCLUDE="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include" -DCUDNN_LIBRARY="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64\cudnn.lib" "C:\Users\**Your_User_Name**\Anaconda2\Lib\site-packages\mxnet"
...compile code with the following command (may take a while, should end with warnings but no errors if previous steps have been followed correctly):
msbuild mxnet.sln /p:Configuration=Release;Platform=x64
After compile, setup mxnet for python (assuming you are currently still in
C:\Users\**Your_User_Name**\Anaconda2\Lib\site-packages\mxnet\build:
Fix mxnet to behave like older version in base_module.py as described in https://github.com/msracver/FCIS/issues/107
.. in summary:
Open:
C:\Users\*Your_User_Name*\Anaconda2\Lib\site-packages\mxnet-0.10.1-py2.7.egg\mxnet\module\base_module.py
...delete
allow_extra=allow_extra
on line 649Everything should now be ready to go. Follow instructions in README.md of FCIS repo to try demo code.
Hope that helps some people struggling with software versions / setup, or just finding it hard to get this working on windows.