lucasjinreal / DCNv2_latest

DCNv2 supports decent pytorch such as torch 1.5+ (now 1.8+)
BSD 3-Clause "New" or "Revised" License
614 stars 125 forks source link

Setting Up CenterNet on PyTorch 1.7.1 #19

Closed veds12 closed 3 years ago

veds12 commented 3 years ago

I am trying to run CenterNet on PyTorch 1.7.1. I removed the original DCNv2 module from $Centernet_ROOT/src/lib/models/networks/ and cloned DCNv2_latest in the same location. Now, when I try running sh ./make.sh to build DCNv2_latest I can the following error log :

rm: cannot remove '*.so': No such file or directory
running build
running build_ext
building '_ext' extension
creating build
creating build/temp.linux-x86_64-3.6
creating build/temp.linux-x86_64-3.6/mnt
creating build/temp.linux-x86_64-3.6/mnt/Works
creating build/temp.linux-x86_64-3.6/mnt/Works/oyla
creating build/temp.linux-x86_64-3.6/mnt/Works/oyla/Test
creating build/temp.linux-x86_64-3.6/mnt/Works/oyla/Test/CenterNet
creating build/temp.linux-x86_64-3.6/mnt/Works/oyla/Test/CenterNet/src
creating build/temp.linux-x86_64-3.6/mnt/Works/oyla/Test/CenterNet/src/lib
creating build/temp.linux-x86_64-3.6/mnt/Works/oyla/Test/CenterNet/src/lib/models
creating build/temp.linux-x86_64-3.6/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks
creating build/temp.linux-x86_64-3.6/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest
creating build/temp.linux-x86_64-3.6/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src
creating build/temp.linux-x86_64-3.6/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src/cpu
creating build/temp.linux-x86_64-3.6/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src/cuda
g++ -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DWITH_CUDA -I/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src -I/home/antpc/anaconda3/envs/CenterNet_test/lib/python3.6/site-packages/torch/lib/include -I/home/antpc/anaconda3/envs/CenterNet_test/lib/python3.6/site-packages/torch/lib/include/torch/csrc/api/include -I/home/antpc/anaconda3/envs/CenterNet_test/lib/python3.6/site-packages/torch/lib/include/TH -I/home/antpc/anaconda3/envs/CenterNet_test/lib/python3.6/site-packages/torch/lib/include/THC -I/usr/local/cuda/include -I/usr/include/python3.6m -c /mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src/vision.cpp -o build/temp.linux-x86_64-3.6/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src/vision.o -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11
g++ -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DWITH_CUDA -I/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src -I/home/antpc/anaconda3/envs/CenterNet_test/lib/python3.6/site-packages/torch/lib/include -I/home/antpc/anaconda3/envs/CenterNet_test/lib/python3.6/site-packages/torch/lib/include/torch/csrc/api/include -I/home/antpc/anaconda3/envs/CenterNet_test/lib/python3.6/site-packages/torch/lib/include/TH -I/home/antpc/anaconda3/envs/CenterNet_test/lib/python3.6/site-packages/torch/lib/include/THC -I/usr/local/cuda/include -I/usr/include/python3.6m -c /mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src/cpu/dcn_v2_cpu.cpp -o build/temp.linux-x86_64-3.6/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src/cpu/dcn_v2_cpu.o -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11
/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src/cpu/dcn_v2_cpu.cpp: In function ‘at::Tensor dcn_v2_cpu_forward(const at::Tensor&, const at::Tensor&, const at::Tensor&, const at::Tensor&, const at::Tensor&, int, int, int, int, int, int, int, int, int)’:
/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src/cpu/dcn_v2_cpu.cpp:112:66: error: expected primary-expression before ‘>’ token
         modulated_deformable_im2col_cpu(input_n.data_ptr<scalar_t>(),
                                                                  ^
/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src/cpu/dcn_v2_cpu.cpp:112:68: error: expected primary-expression before ‘)’ token
         modulated_deformable_im2col_cpu(input_n.data_ptr<scalar_t>(),
                                                                    ^
/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src/cpu/dcn_v2_cpu.cpp:113:68: error: expected primary-expression before ‘>’ token
                                          offset_n.data_ptr<scalar_t>(),
                                                                    ^
/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src/cpu/dcn_v2_cpu.cpp:113:70: error: expected primary-expression before ‘)’ token
                                          offset_n.data_ptr<scalar_t>(),
                                                                      ^
/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src/cpu/dcn_v2_cpu.cpp:114:66: error: expected primary-expression before ‘>’ token
                                          mask_n.data_ptr<scalar_t>(),
                                                                  ^
/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src/cpu/dcn_v2_cpu.cpp:114:68: error: expected primary-expression before ‘)’ token
                                          mask_n.data_ptr<scalar_t>(),
                                                                    ^
/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src/cpu/dcn_v2_cpu.cpp:119:67: error: expected primary-expression before ‘>’ token
                                          columns.data_ptr<scalar_t>());
                                                                   ^
/mnt/Works/oyla/Test/CenterNet/src/lib/models/networks/DCNv2_latest/src/cpu/dcn_v2_cpu.cpp:119:69: error: expected primary-expression before ‘)’ token
                                          columns.data_ptr<scalar_t>());
                                                                     ^
error: command 'g++' failed with exit status 1

Now, when I try running python setup.py build develop instead, I get the following error:

Traceback (most recent call last):
  File "setup.py", line 6, in <module>
    import torch
ImportError: No module named torch

even though PyTorch 1.7.1 is installed in the environment that I am using. Here are the exact details of my machine and environment:

To reproduce the error, you can follow the given set of commands:

conda create --name CenterNet
conda activate CenterNet
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch
conda install -c anaconda cython

git clone https://github.com/cocodataset/cocoapi
cd cocoapi/PythonAPI
make
python setup.py install --user
cd ..

git clone https://github.com/xingyizhou/CenterNet
cd CenterNet
pip install -r requirements.txt

cd src/lib/external/
make 

cd ../models/networks/
rm -rf DCNv2
git clone https://github.com/jinfagang/DCNv2_latest/
cd DCNv2_latest
sh ./make.sh
OR
python setup.py build develop
lucasjinreal commented 3 years ago

@veds12 Please using official CenterNet requirements.

This lib used under PyTorch 1.7 above only.

Lower version you can found on other git repo. It is should work on lower version though, I don't know what's wrong on your side.