Git Product home page Git Product logo

dcnv2's Introduction

dcnv2's People

Contributors

charlesshang avatar lbin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dcnv2's Issues

python setup.py develop

running develop
running egg_info
creating monoflex.egg-info
writing monoflex.egg-info/PKG-INFO
writing dependency_links to monoflex.egg-info/dependency_links.txt
writing top-level names to monoflex.egg-info/top_level.txt
writing manifest file 'monoflex.egg-info/SOURCES.txt'
reading manifest file 'monoflex.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'monoflex.egg-info/SOURCES.txt'
running build_ext
building '_ext' extension
Emitting ninja build file /home/pc-111/d2workspace/lcodes/3D/MonoFlex/build/temp.linux-x86_64-3.7/build.ninja...
Traceback (most recent call last):
File "setup.py", line 66, in
cmdclass={"build_ext": torch.utils.cpp_extension.BuildExtension},
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/site-packages/setuptools/init.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/site-packages/setuptools/command/develop.py", line 34, in run
self.install_for_development()
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/site-packages/setuptools/command/develop.py", line 114, in install_for_development
self.run_command('build_ext')
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/site-packages/setuptools/command/build_ext.py", line 79, in run
_build_ext.run(self)
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/distutils/command/build_ext.py", line 340, in run
self.build_extensions()
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 653, in build_extensions
build_ext.build_extensions(self)
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/distutils/command/build_ext.py", line 449, in build_extensions
self._build_extensions_serial()
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/distutils/command/build_ext.py", line 474, in _build_extensions_serial
self.build_extension(ext)
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/site-packages/setuptools/command/build_ext.py", line 202, in build_extension
_build_ext.build_extension(self, ext)
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/distutils/command/build_ext.py", line 534, in build_extension
depends=ext.depends)
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 482, in unix_wrap_ninja_compile
with_cuda=with_cuda)
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1230, in _write_ninja_file_and_compile_objects
with_cuda=with_cuda)
File "/home/pc-111/d1workspace/linux/anaconda3/envs/monoflex/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1697, in _write_ninja_file
assert len(sources) > 0
AssertionError

My version:pytorch1.7

raise RuntimeError(message) from e RuntimeError: Error compiling objects for extension

Previously when compiling DCNv2, it always appeared:

File "/home/xxx/miniconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1682, in _run_ninja_build
raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension

Then I made changes to the setup.py file for the compilation problem. The changed code is as follows:

`
import glob
import os
import sys

import torch
from setuptools import find_packages, setup
from torch.utils.cpp_extension import CUDA_HOME, CppExtension, CUDAExtension

requirements = ["torch", "torchvision"]

def get_extensions():
this_dir = os.path.dirname(os.path.abspath(file))
# extensions_dir = os.path.join(this_dir, "src")
extensions_dir = os.path.abspath(
os.path.join(this_dir, "csrc"))

main_file = glob.glob(os.path.join(extensions_dir, "*.cpp"))
source_cpu = glob.glob(os.path.join(extensions_dir, "cpu", "*.cpp"))
source_cuda = glob.glob(os.path.join(extensions_dir, "cuda", "*.cu"))

os.environ["CC"] = "g++"
sources = main_file + source_cpu
extension = CppExtension
extra_compile_args = {"cxx": []}
define_macros = []

if torch.cuda.is_available() and CUDA_HOME is not None:
    extension = CUDAExtension
    sources += source_cuda
    define_macros += [("WITH_CUDA", None)]
    extra_compile_args["nvcc"] = [
        "-DCUDA_HAS_FP16=1",
        "-D__CUDA_NO_HALF_OPERATORS__",
        "-D__CUDA_NO_HALF_CONVERSIONS__",
        "-D__CUDA_NO_HALF2_OPERATORS__",
    ]
else:
    # raise NotImplementedError('Cuda is not available')
    pass

extra_compile_args['cxx'].append('-fopenmp')

sources = [os.path.join(extensions_dir, s) for s in sources]
include_dirs = [extensions_dir]
ext_modules = [
    extension(
        "_ext",
        sources,
        include_dirs=include_dirs,
        define_macros=define_macros,
        extra_compile_args=extra_compile_args,
    )
]
return ext_modules

setup(
name="DCNv2",
version="0.1",
author="charlesshang",
url="https://github.com/charlesshang/DCNv2",
description="deformable convolutional networks",
packages=find_packages(
exclude=(
"configs",
"tests",
)
),
# install_requires=requirements,
ext_modules=get_extensions(),
cmdclass={"--build_ext": torch.utils.cpp_extension.BuildExtension},
)
'''
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
'''
`

Then it will be compiled successfully. I hope it will be useful to you.

what is the supported torch version of the master branch?

Hello,
Thanks for your work. I have a simple question regarding the master branch. I checked the repo and the branches are written in which torch version they support. But in the master branch, this information is not provided. It would be great if you can answer this question. Thanks.

Torch1.7 | RuntimeError: Error compiling objects for extension

Problem met when run ./make.sh to install DCNv2

I used the latest version of you which supports pytorch1.7
My environment (using anaconda virtual env):
ubuntu 18.04
python 3.7
pytorch 1.7
cudatoolkit 10.2

Error Message:
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1522, in _run_ninja_build
env=env)
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/subprocess.py", line 481, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "setup.py", line 69, in
cmdclass={"build_ext": torch.utils.cpp_extension.BuildExtension},
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/site-packages/setuptools/init.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/distutils/core.py", line 148, in setup
dist.run_commands()
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/site-packages/setuptools/command/build_ext.py", line 79, in run
_build_ext.run(self)
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 653, in build_extensions
build_ext.build_extensions(self)
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/distutils/command/build_ext.py", line 448, in build_extensions
self._build_extensions_serial()
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/distutils/command/build_ext.py", line 473, in _build_extensions_serial
self.build_extension(ext)
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/site-packages/setuptools/command/build_ext.py", line 196, in build_extension
_build_ext.build_extension(self, ext)
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/distutils/command/build_ext.py", line 533, in build_extension
depends=ext.depends)
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 482, in unix_wrap_ninja_compile
with_cuda=with_cuda)
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1238, in _write_ninja_file_and_compile_objects
error_prefix='Error compiling objects for extension')
File "/NAS/home01/tanzhenwei/anaconda3/envs/torch17/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1538, in _run_ninja_build
raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension

Could you help me?

Error when running pytorch1.9 version

(rgo-py37-f) fy@neu:~/DCNv2-pytorch_1.9/test$ python test.py
error in modulated_deformable_im2col_cuda: no kernel image is available for execution on the device
error in modulated_deformable_col2im_coord_cuda: no kernel image is available for execution on the device
error in modulated_deformable_col2im_cuda: no kernel image is available for execution on the device
error in modulated_deformable_im2col_cuda: no kernel image is available for execution on the device
error in modulated_deformable_col2im_coord_cuda: no kernel image is available for execution on the device
error in modulated_deformable_col2im_cuda: no kernel image is available for execution on the device
error in modulated_deformable_im2col_cuda: no kernel image is available for execution on the device
torch.Size([2, 64, 128, 128])
THCudaCheck FAIL file=/home/fy/DCNv2-pytorch_1.9/src/cuda/dcn_v2_psroi_pooling_cuda.cu line=339 error=209 : no kernel image is available for execution on the device
Traceback (most recent call last):
File "test.py", line 285, in
example_dpooling()
File "test.py", line 238, in example_dpooling
out = pooling(input, rois, offset)
File "/home/fy/anaconda3/envs/rgo-py37-f/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
return forward_call(*input, **kwargs)
File "/home/fy/DCNv2-pytorch_1.9/dcn_v2.py", line 278, in forward
self.trans_std,
File "/home/fy/DCNv2-pytorch_1.9/dcn_v2.py", line 210, in forward
ctx.trans_std,
RuntimeError: cuda runtime error (209) : no kernel image is available for execution on the device at /home/fy/DCNv2-pytorch_1.9/src/cuda/dcn_v2_psroi_pooling_cuda.cu:339

I can compile successfully. But when I run the test.py, it will go wrong with deformable pooling.My graphics card is rtx3090, pytorch=1.9.0 CUDA=11.1.
What should i do, could you give me some suggestions?Thanks.

how to solve?

[7/7] c++ -MMD -MF /home/ubuntu/Downloads/TDAN/DCNv216/build/temp.linux-x86_64-3.7/home/ubuntu/Downloads/TDAN/DCNv216/src/vision.o.d -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DWITH_CUDA -I/home/ubuntu/Downloads/TDAN/DCNv216/src -I/home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include -I/home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/TH -I/home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/ubuntu/anaconda3/envs/python3.7/include/python3.7m -c -c /home/ubuntu/Downloads/TDAN/DCNv216/src/vision.cpp -o /home/ubuntu/Downloads/TDAN/DCNv216/build/temp.linux-x86_64-3.7/home/ubuntu/Downloads/TDAN/DCNv216/src/vision.o -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/Parallel.h:149:0,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/utils.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/nn/cloneable.h:5,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/nn.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:7,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/extension.h:4,
from /home/ubuntu/Downloads/TDAN/DCNv216/src/cpu/vision.h:2,
from /home/ubuntu/Downloads/TDAN/DCNv216/src/dcn_v2.h:3,
from /home/ubuntu/Downloads/TDAN/DCNv216/src/vision.cpp:2:
/home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/ParallelOpenMP.h:84:0: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
#pragma omp parallel for if ((end - begin) >= grain_size)
^
In file included from /home/ubuntu/Downloads/TDAN/DCNv216/src/vision.cpp:2:0:
/home/ubuntu/Downloads/TDAN/DCNv216/src/dcn_v2.h: In function ‘at::Tensor dcn_v2_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)’:
/home/ubuntu/Downloads/TDAN/DCNv216/src/dcn_v2.h:25:20: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
if (input.type().is_cuda())
^
In file included from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/Tensor.h:3:0,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/Context.h:4,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/ATen.h:5,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:4,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/extension.h:4,
from /home/ubuntu/Downloads/TDAN/DCNv216/src/cpu/vision.h:2,
from /home/ubuntu/Downloads/TDAN/DCNv216/src/dcn_v2.h:3,
from /home/ubuntu/Downloads/TDAN/DCNv216/src/vision.cpp:2:
/home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/core/TensorBody.h:268:30: note: declared here
DeprecatedTypeProperties & type() const {
^
In file included from /home/ubuntu/Downloads/TDAN/DCNv216/src/vision.cpp:2:0:
/home/ubuntu/Downloads/TDAN/DCNv216/src/dcn_v2.h: In function ‘std::vectorat::Tensor dcn_v2_backward(const at::Tensor&, const at::Tensor&, const at::Tensor&, const at::Tensor&, const at::Tensor&, const at::Tensor&, int, int, int, int, int, int, int, int, int)’:
/home/ubuntu/Downloads/TDAN/DCNv216/src/dcn_v2.h:61:20: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
if (input.type().is_cuda())
^
In file included from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/Tensor.h:3:0,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/Context.h:4,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/ATen.h:5,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:4,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/extension.h:4,
from /home/ubuntu/Downloads/TDAN/DCNv216/src/cpu/vision.h:2,
from /home/ubuntu/Downloads/TDAN/DCNv216/src/dcn_v2.h:3,
from /home/ubuntu/Downloads/TDAN/DCNv216/src/vision.cpp:2:
/home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/core/TensorBody.h:268:30: note: declared here
DeprecatedTypeProperties & type() const {
^
In file included from /home/ubuntu/Downloads/TDAN/DCNv216/src/vision.cpp:2:0:
/home/ubuntu/Downloads/TDAN/DCNv216/src/dcn_v2.h: In function ‘std::tuple<at::Tensor, at::Tensor> dcn_v2_psroi_pooling_forward(const at::Tensor&, const at::Tensor&, const at::Tensor&, int, float, int, int, int, int, int, float)’:
/home/ubuntu/Downloads/TDAN/DCNv216/src/dcn_v2.h:107:20: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
if (input.type().is_cuda())
^
In file included from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/Tensor.h:3:0,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/Context.h:4,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/ATen.h:5,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:4,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/extension.h:4,
from /home/ubuntu/Downloads/TDAN/DCNv216/src/cpu/vision.h:2,
from /home/ubuntu/Downloads/TDAN/DCNv216/src/dcn_v2.h:3,
from /home/ubuntu/Downloads/TDAN/DCNv216/src/vision.cpp:2:
/home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/core/TensorBody.h:268:30: note: declared here
DeprecatedTypeProperties & type() const {
^
In file included from /home/ubuntu/Downloads/TDAN/DCNv216/src/vision.cpp:2:0:
/home/ubuntu/Downloads/TDAN/DCNv216/src/dcn_v2.h: In function ‘std::tuple<at::Tensor, at::Tensor> dcn_v2_psroi_pooling_backward(const at::Tensor&, const at::Tensor&, const at::Tensor&, const at::Tensor&, const at::Tensor&, int, float, int, int, int, int, int, float)’:
/home/ubuntu/Downloads/TDAN/DCNv216/src/dcn_v2.h:155:20: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
if (input.type().is_cuda())
^
In file included from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/Tensor.h:3:0,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/Context.h:4,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/ATen.h:5,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:4,
from /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/torch/extension.h:4,
from /home/ubuntu/Downloads/TDAN/DCNv216/src/cpu/vision.h:2,
from /home/ubuntu/Downloads/TDAN/DCNv216/src/dcn_v2.h:3,
from /home/ubuntu/Downloads/TDAN/DCNv216/src/vision.cpp:2:
/home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/include/ATen/core/TensorBody.h:268:30: note: declared here
DeprecatedTypeProperties & type() const {
^
g++ -pthread -shared -B /home/ubuntu/anaconda3/envs/python3.7/compiler_compat -L/home/ubuntu/anaconda3/envs/python3.7/lib -Wl,-rpath=/home/ubuntu/anaconda3/envs/python3.7/lib -Wl,--no-as-needed -Wl,--sysroot=/ /home/ubuntu/Downloads/TDAN/DCNv216/build/temp.linux-x86_64-3.7/home/ubuntu/Downloads/TDAN/DCNv216/src/vision.o /home/ubuntu/Downloads/TDAN/DCNv216/build/temp.linux-x86_64-3.7/home/ubuntu/Downloads/TDAN/DCNv216/src/cpu/dcn_v2_im2col_cpu.o /home/ubuntu/Downloads/TDAN/DCNv216/build/temp.linux-x86_64-3.7/home/ubuntu/Downloads/TDAN/DCNv216/src/cpu/dcn_v2_psroi_pooling_cpu.o /home/ubuntu/Downloads/TDAN/DCNv216/build/temp.linux-x86_64-3.7/home/ubuntu/Downloads/TDAN/DCNv216/src/cpu/dcn_v2_cpu.o /home/ubuntu/Downloads/TDAN/DCNv216/build/temp.linux-x86_64-3.7/home/ubuntu/Downloads/TDAN/DCNv216/src/cuda/dcn_v2_cuda.o /home/ubuntu/Downloads/TDAN/DCNv216/build/temp.linux-x86_64-3.7/home/ubuntu/Downloads/TDAN/DCNv216/src/cuda/dcn_v2_psroi_pooling_cuda.o /home/ubuntu/Downloads/TDAN/DCNv216/build/temp.linux-x86_64-3.7/home/ubuntu/Downloads/TDAN/DCNv216/src/cuda/dcn_v2_im2col_cuda.o -L/home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/torch/lib -L/usr/local/cuda/lib64 -lc10 -ltorch -ltorch_cpu -ltorch_python -lcudart -lc10_cuda -ltorch_cuda -o build/lib.linux-x86_64-3.7/_ext.cpython-37m-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.7/_ext.cpython-37m-x86_64-linux-gnu.so ->
Creating /home/ubuntu/anaconda3/envs/python3.7/lib/python3.7/site-packages/DCNv2.egg-link (link to .)
Adding DCNv2 0.1 to easy-install.pth file

Installed /home/ubuntu/Downloads/TDAN/DCNv216
Processing dependencies for DCNv2==0.1
Finished processing dependencies for DCNv2==0.1

error: command 'g++' failed with exit status 1

when i run the make.sh . it give this mistakes
g++ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DWITH_CUDA -I/mnt/lbh/base_indoor_dcn_mix/DCNv2/src -I/home/lbh/anaconda3/envs/dcn_lbh/lib/python3.6/site-packages/torch/include -I/home/lbh/anaconda3/envs/dcn_lbh/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/lbh/anaconda3/envs/dcn_lbh/lib/python3.6/site-packages/torch/include/TH -I/home/lbh/anaconda3/envs/dcn_lbh/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-11.1/include -I/home/lbh/anaconda3/envs/dcn_lbh/include/python3.6m -c /mnt/lbh/base_indoor_dcn_mix/DCNv2/src/vision.cpp -o build/temp.linux-x86_64-3.6/mnt/lbh/base_indoor_dcn_mix/DCNv2/src/vision.o -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="_gcc" -DPYBIND11_STDLIB="_libstdcpp" -DPYBIND11_BUILD_ABI="_cxxabi1011" -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
g++: error: unrecognized command line option ‘-std=c++14’
error: command 'g++' failed with exit status 1

编译报错

running build
running build_ext
building '_ext' extension
creating /home/work/deep_learning/local/DCNv2-pytorch_1.5/build
creating /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6
creating /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home
creating /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work
creating /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning
creating /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local
creating /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5
creating /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5/src
creating /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5/src/cpu
creating /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5/src/cuda
Emitting ninja build file /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/build.ninja...
Compiling objects...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
1.10.0
creating build/lib.linux-x86_64-3.6
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5/src/vision.o /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5/src/cpu/dcn_v2_cpu.o /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5/src/cpu/dcn_v2_psroi_pooling_cpu.o /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5/src/cpu/dcn_v2_im2col_cpu.o /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5/src/cuda/dcn_v2_cuda.o /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5/src/cuda/dcn_v2_psroi_pooling_cuda.o /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5/src/cuda/dcn_v2_im2col_cuda.o -L/usr/local/lib/python3.6/dist-packages/torch/lib -L/usr/local/cuda-10.2/lib64 -lc10 -ltorch -ltorch_cpu -ltorch_python -lcudart -lc10_cuda -ltorch_cuda -o build/lib.linux-x86_64-3.6/_ext.cpython-36m-x86_64-linux-gnu.so
x86_64-linux-gnu-g++: error: /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5/src/vision.o: 没有那个文件或目录
x86_64-linux-gnu-g++: error: /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5/src/cpu/dcn_v2_cpu.o: 没有那个文件或目录
x86_64-linux-gnu-g++: error: /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5/src/cpu/dcn_v2_psroi_pooling_cpu.o: 没有那个文件或目录
x86_64-linux-gnu-g++: error: /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5/src/cpu/dcn_v2_im2col_cpu.o: 没有那个文件或目录
x86_64-linux-gnu-g++: error: /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5/src/cuda/dcn_v2_cuda.o: 没有那个文件或目录
x86_64-linux-gnu-g++: error: /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5/src/cuda/dcn_v2_psroi_pooling_cuda.o: 没有那个文件或目录
x86_64-linux-gnu-g++: error: /home/work/deep_learning/local/DCNv2-pytorch_1.5/build/temp.linux-x86_64-3.6/home/work/deep_learning/local/DCNv2-pytorch_1.5/src/cuda/dcn_v2_im2col_cuda.o: 没有那个文件或目录
error: command 'x86_64-linux-gnu-g++' failed with exit status 1

raise RuntimeError(message) from e RuntimeError: Error compiling objects for extension

Previously when compiling DCNv2, it always appeared:

File "/home/xxx/miniconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1682, in _run_ninja_build
raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension

Then I made changes to the setup.py file for the compilation problem. The changed code is as follows:

`#!/usr/bin/env python

import glob
import os
import sys

import torch
from setuptools import find_packages, setup
from torch.utils.cpp_extension import CUDA_HOME, CppExtension, CUDAExtension

requirements = ["torch", "torchvision"]

def get_extensions():
this_dir = os.path.dirname(os.path.abspath(file))
# extensions_dir = os.path.join(this_dir, "src")
extensions_dir = os.path.abspath(
os.path.join(this_dir, "csrc"))

main_file = glob.glob(os.path.join(extensions_dir, "*.cpp"))
source_cpu = glob.glob(os.path.join(extensions_dir, "cpu", "*.cpp"))
source_cuda = glob.glob(os.path.join(extensions_dir, "cuda", "*.cu"))

os.environ["CC"] = "g++"
sources = main_file + source_cpu
extension = CppExtension
extra_compile_args = {"cxx": []}
define_macros = []

if torch.cuda.is_available() and CUDA_HOME is not None:
    extension = CUDAExtension
    sources += source_cuda
    define_macros += [("WITH_CUDA", None)]
    extra_compile_args["nvcc"] = [
        "-DCUDA_HAS_FP16=1",
        "-D__CUDA_NO_HALF_OPERATORS__",
        "-D__CUDA_NO_HALF_CONVERSIONS__",
        "-D__CUDA_NO_HALF2_OPERATORS__",
    ]
else:
    # raise NotImplementedError('Cuda is not available')
    pass

extra_compile_args['cxx'].append('-fopenmp')

sources = [os.path.join(extensions_dir, s) for s in sources]
include_dirs = [extensions_dir]
ext_modules = [
    extension(
        "_ext",
        sources,
        include_dirs=include_dirs,
        define_macros=define_macros,
        extra_compile_args=extra_compile_args,
    )
]
return ext_modules

setup(
name="DCNv2",
version="0.1",
author="charlesshang",
url="https://github.com/charlesshang/DCNv2",
description="deformable convolutional networks",
packages=find_packages(
exclude=(
"configs",
"tests",
)
),
# install_requires=requirements,
ext_modules=get_extensions(),
cmdclass={"--build_ext": torch.utils.cpp_extension.BuildExtension},
)
'''
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
'''`

Then it will be compiled successfully. I hope it will be useful to you.

Unable to import .ext file even after successful build

Hi,
Thank you for the repo. I am working with https://github.com/mrnabati/CenterFusion and one of the requirements was to build DCNv2.

I used this and did a git check out for version pytorch_1.6. When I did the ./make.sh, I was able to build successfully and no errors. This was done in pytorch version 1.7 and ./make.sh was modified with --user since I do not have root privilages.

Now, when I run the centerFuse train.py file, I face two problems.

  1. In dcn_v2.py, import _ext as _backend fails and it displays "import DCN failed" and "NoneType" object is not callable. But _ext.so file exsists in the same directory but the code is unable to import it.

  2. If i comment out import _ext as _backend, then import DCN becomes succesful and the error now is Torch not compiled with CUDA enabled.

I tried various work around and no fix.

If I compile ./make.sh with pytorch 1.7 (CUDA compiled) , does my train.py should alse be run in same pytroch 1.7 (CUDA compiled) ? Is this why I am facing the issue?

Or what other things I could be considering?

I a stuck in a loop here. Any help would be very much helpful.

Thank you.

FP16 training error

Hi, I want to use fp16 to train DCN, but error "RuntimeError: expected scalar type Float but found Half (data_ptr at /home/amax/.conda/envs/pytorch/lib/python3.6/site-packages/torch/include/ATen/core/TensorMethods.h:5747)" occurs. Do you know the reason? Hope for your reply!

error: command '/usr/bin/nvcc' failed with exit status 1

Hey, i cloned the repo and when i run ./make.sh i get this error i know this is some CUDA related error but i checked my nvcc version and it shows the version correctly, I aslo have the toolkit installed, can you please help me sort this :

running build
running build_ext
/usr/local/lib/python3.6/dist-packages/torch/utils/cpp_extension.py:352: UserWarning: Attempted to use ninja as the BuildExtension backend but we could not find ninja.. Falling back to using the slow distutils backend.
warnings.warn(msg.format('we could not find ninja.'))
building '_ext' extension
creating build
creating build/temp.linux-x86_64-3.6
creating build/temp.linux-x86_64-3.6/home
creating build/temp.linux-x86_64-3.6/home/dhananjay0701
creating build/temp.linux-x86_64-3.6/home/dhananjay0701/Downloads
creating build/temp.linux-x86_64-3.6/home/dhananjay0701/Downloads/DCNv2
creating build/temp.linux-x86_64-3.6/home/dhananjay0701/Downloads/DCNv2/src
creating build/temp.linux-x86_64-3.6/home/dhananjay0701/Downloads/DCNv2/src/cpu
creating build/temp.linux-x86_64-3.6/home/dhananjay0701/Downloads/DCNv2/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/home/dhananjay0701/Downloads/DCNv2/src -I/usr/local/lib/python3.6/dist-packages/torch/include -I/usr/local/lib/python3.6/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/lib/python3.6/dist-packages/torch/include/TH -I/usr/local/lib/python3.6/dist-packages/torch/include/THC -I/usr/include/python3.6m -c /home/dhananjay0701/Downloads/DCNv2/src/vision.cpp -o build/temp.linux-x86_64-3.6/home/dhananjay0701/Downloads/DCNv2/src/vision.o -fopenmp -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="_gcc" -DPYBIND11_STDLIB="_libstdcpp" -DPYBIND11_BUILD_ABI="_cxxabi1011" -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
g++ -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DWITH_CUDA -I/home/dhananjay0701/Downloads/DCNv2/src -I/usr/local/lib/python3.6/dist-packages/torch/include -I/usr/local/lib/python3.6/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/lib/python3.6/dist-packages/torch/include/TH -I/usr/local/lib/python3.6/dist-packages/torch/include/THC -I/usr/include/python3.6m -c /home/dhananjay0701/Downloads/DCNv2/src/cpu/dcn_v2_cpu.cpp -o build/temp.linux-x86_64-3.6/home/dhananjay0701/Downloads/DCNv2/src/cpu/dcn_v2_cpu.o -fopenmp -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="gcc" -DPYBIND11_STDLIB="libstdcpp" -DPYBIND11_BUILD_ABI="cxxabi1011" -DTORCH_EXTENSION_NAME=ext -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
g++ -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DWITH_CUDA -I/home/dhananjay0701/Downloads/DCNv2/src -I/usr/local/lib/python3.6/dist-packages/torch/include -I/usr/local/lib/python3.6/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/lib/python3.6/dist-packages/torch/include/TH -I/usr/local/lib/python3.6/dist-packages/torch/include/THC -I/usr/include/python3.6m -c /home/dhananjay0701/Downloads/DCNv2/src/cpu/dcn_v2_psroi_pooling_cpu.cpp -o build/temp.linux-x86_64-3.6/home/dhananjay0701/Downloads/DCNv2/src/cpu/dcn_v2_psroi_pooling_cpu.o -fopenmp -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="gcc" -DPYBIND11_STDLIB="libstdcpp" -DPYBIND11_BUILD_ABI="cxxabi1011" -DTORCH_EXTENSION_NAME=ext -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
g++ -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DWITH_CUDA -I/home/dhananjay0701/Downloads/DCNv2/src -I/usr/local/lib/python3.6/dist-packages/torch/include -I/usr/local/lib/python3.6/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/lib/python3.6/dist-packages/torch/include/TH -I/usr/local/lib/python3.6/dist-packages/torch/include/THC -I/usr/include/python3.6m -c /home/dhananjay0701/Downloads/DCNv2/src/cpu/dcn_v2_im2col_cpu.cpp -o build/temp.linux-x86_64-3.6/home/dhananjay0701/Downloads/DCNv2/src/cpu/dcn_v2_im2col_cpu.o -fopenmp -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="gcc" -DPYBIND11_STDLIB="libstdcpp" -DPYBIND11_BUILD_ABI="cxxabi1011" -DTORCH_EXTENSION_NAME=ext -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
/usr/bin/nvcc -DWITH_CUDA -I/home/dhananjay0701/Downloads/DCNv2/src -I/usr/local/lib/python3.6/dist-packages/torch/include -I/usr/local/lib/python3.6/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/lib/python3.6/dist-packages/torch/include/TH -I/usr/local/lib/python3.6/dist-packages/torch/include/THC -I/usr/include/python3.6m -c /home/dhananjay0701/Downloads/DCNv2/src/cuda/dcn_v2_im2col_cuda.cu -o build/temp.linux-x86_64-3.6/home/dhananjay0701/Downloads/DCNv2/src/cuda/dcn_v2_im2col_cuda.o -D__CUDA_NO_HALF_OPERATORS
-D__CUDA_NO_HALF_CONVERSIONS
-D__CUDA_NO_HALF2_OPERATORS
--expt-relaxed-constexpr --compiler-options '-fPIC' -DCUDA_HAS_FP16=1 -D__CUDA_NO_HALF_OPERATORS
-D__CUDA_NO_HALF_CONVERSIONS
-D__CUDA_NO_HALF2_OPERATORS
-DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="_gcc" -DPYBIND11_STDLIB="_libstdcpp" -DPYBIND11_BUILD_ABI="_cxxabi1011" -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_61,code=sm_61 -ccbin g++ -std=c++14
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type = ]’
/usr/include/c++/6/tuple:1396:58: required from ‘constexpr std::tuple<typename std::__decay_and_strip<_Elements>::__type ...> std::make_tuple(_Elements&& ...) [with _Elements = {const at::Tensor&, const at::Tensor&, const at::Tensor&}]’
/usr/local/lib/python3.6/dist-packages/torch/include/ATen/ExpandUtils.h:93:58: required from here
/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
return _and<is_constructible<_Elements, _UElements&&>...>::value;
^~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type = ]’
/usr/include/c++/6/tuple:1396:58: required from ‘constexpr std::tuple<typename std::__decay_and_strip<_Elements>::__type ...> std::make_tuple(_Elements&& ...) [with _Elements = {const at::Tensor&, const at::Tensor&, const at::Tensor&}]’
/usr/local/lib/python3.6/dist-packages/torch/include/ATen/ExpandUtils.h:93:58: required from here
/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
return _and<is_convertible<_UElements&&, _Elements>...>::value;
^~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:662:419: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’
/usr/include/c++/6/tuple:1396:58: required from ‘constexpr std::tuple<typename std::__decay_and_strip<_Elements>::__type ...> std::make_tuple(_Elements&& ...) [with _Elements = {const at::Tensor&, const at::Tensor&, const at::Tensor&}]’
/usr/local/lib/python3.6/dist-packages/torch/include/ATen/ExpandUtils.h:93:58: required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)
return _and<_not<is_same<tuple<_Elements...>,
^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
struct is_convertible
^~~~~~~~~~~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:686:422: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’
/usr/include/c++/6/tuple:1396:58: required from ‘constexpr std::tuple<typename std::__decay_and_strip<_Elements>::__type ...> std::make_tuple(_Elements&& ...) [with _Elements = {const at::Tensor&, const at::Tensor&, const at::Tensor&}]’
/usr/local/lib/python3.6/dist-packages/torch/include/ATen/ExpandUtils.h:93:58: required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)
return _and<_not<is_same<tuple<_Elements...>,
^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
struct is_convertible
^~~~~~~~~~~~~~
error: command '/usr/bin/nvcc' failed with exit status 1

question about the version of pytoch 2.0.1

Thank you very much for your project, but the environment I use is torch2.0.1+cu118,pytorch2.0.1 still fails, raise RuntimeError(message) from e RuntimeError: Error compiling objects for extension

run testcuda error

image
The following problem occurs when I run testcuda. It seems to be torch.autograd.gradcheck. How should I fix it?

torch.autograd.gradcheck.GradcheckError: Backward is not reentrant, i.e., running backward with same input and grad_output multiple times gives different values, although analytical gradient matches numerical gradient.The tolerance for nondeterminism was 0.0.

solve: /usr/local/cuda-11.0/bin/nvcc': No such file or directory

环境:

  • Ubuntu=18.04
  • pytorch= 1.7.1
  • python=3.6.6
  • CUDA Version: 11.4
  • NVIDIA-SMI 470.103.01

编译:

./make.sh

出现错误1:
'/usr/local/cuda-11.0/bin/nvcc': No such file or directory

解决方法:
终端输入:export CUDA_HOME=/usr/local/cuda-11.0

PS:如果写成export CUDA_HOME=/usr/local/cuda-11.0:$PATH,或者export CUDA_HOME=/usr/local/cuda-11.0/bin都会出错

出现错误2:nvcc fatal : Unsupported gpu architecture ‘compute_86‘

解决方法:降低算力:export TORCH_CUDA_ARCH_LIST="7.5"

nvcc fatal : Value 'c++14' is not defined for option 'std'

cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
g++ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DWITH_CUDA -I/home/disk/chengpeisong/project/LaneAF/models/dla/DCNv2/src -I/home/chengpeisong/anaconda3/envs/laneaf/lib/python3.6/site-packages/torch/include -I/home/chengpeisong/anaconda3/envs/laneaf/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/chengpeisong/anaconda3/envs/laneaf/lib/python3.6/site-packages/torch/include/TH -I/home/chengpeisong/anaconda3/envs/laneaf/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/chengpeisong/anaconda3/envs/laneaf/include/python3.6m -c /home/disk/chengpeisong/project/LaneAF/models/dla/DCNv2/src/cpu/dcn_v2_im2col_cpu.cpp -o build/temp.linux-x86_64-3.6/home/disk/chengpeisong/project/LaneAF/models/dla/DCNv2/src/cpu/dcn_v2_im2col_cpu.o -fopenmp -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=ext -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
/usr/local/cuda/bin/nvcc -DWITH_CUDA -I/home/disk/chengpeisong/project/LaneAF/models/dla/DCNv2/src -I/home/chengpeisong/anaconda3/envs/laneaf/lib/python3.6/site-packages/torch/include -I/home/chengpeisong/anaconda3/envs/laneaf/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/chengpeisong/anaconda3/envs/laneaf/lib/python3.6/site-packages/torch/include/TH -I/home/chengpeisong/anaconda3/envs/laneaf/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/chengpeisong/anaconda3/envs/laneaf/include/python3.6m -c /home/disk/chengpeisong/project/LaneAF/models/dla/DCNv2/src/cuda/dcn_v2_cuda.cu -o build/temp.linux-x86_64-3.6/home/disk/chengpeisong/project/LaneAF/models/dla/DCNv2/src/cuda/dcn_v2_cuda.o -D__CUDA_NO_HALF_OPERATORS
_ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options '-fPIC' -DCUDA_HAS_FP16=1 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_61,code=sm_61 -ccbin g++ -std=c++14
nvcc fatal : Value 'c++14' is not defined for option 'std'
error: command '/usr/local/cuda/bin/nvcc' failed with exit status 1

RTX3090 CUDA11.1 pytorch1.7 python3.6.9

ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "/home/room/.local/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1522, in _run_ninja_build
env=env)
File "/usr/lib/python3.6/subprocess.py", line 438, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "setup.py", line 64, in
cmdclass={"build_ext": torch.utils.cpp_extension.BuildExtension},
File "/home/room/.local/lib/python3.6/site-packages/setuptools/init.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/usr/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/lib/python3.6/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/room/.local/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 79, in run
_build_ext.run(self)
File "/usr/local/lib/python3.6/dist-packages/Cython/Distutils/old_build_ext.py", line 186, in run
_build_ext.build_ext.run(self)
File "/usr/lib/python3.6/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/home/room/.local/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 653, in build_extensions
build_ext.build_extensions(self)
File "/usr/local/lib/python3.6/dist-packages/Cython/Distutils/old_build_ext.py", line 195, in build_extensions
_build_ext.build_ext.build_extensions(self)
File "/usr/lib/python3.6/distutils/command/build_ext.py", line 448, in build_extensions
self._build_extensions_serial()
File "/usr/lib/python3.6/distutils/command/build_ext.py", line 473, in _build_extensions_serial
self.build_extension(ext)
File "/home/room/.local/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 196, in build_extension
_build_ext.build_extension(self, ext)
File "/usr/lib/python3.6/distutils/command/build_ext.py", line 533, in build_extension
depends=ext.depends)
File "/home/room/.local/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 482, in unix_wrap_ninja_compile
with_cuda=with_cuda)
File "/home/room/.local/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1238, in _write_ninja_file_and_compile_objects
error_prefix='Error compiling objects for extension')
File "/home/room/.local/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1538, in _run_ninja_build
raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension

unresolved external symbol cublasSgemv_v2

I've tried to build DCNv2 but I got this error:

running install
running bdist_egg
running egg_info
writing DCNv2.egg-info\PKG-INFO
writing dependency_links to DCNv2.egg-info\dependency_links.txt
writing top-level names to DCNv2.egg-info\top_level.txt
reading manifest file 'DCNv2.egg-info\SOURCES.txt'
writing manifest file 'DCNv2.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_ext
C:\Users\127051\AppData\Local\Programs\Python\Python37\lib\site-packages\torch\utils\cpp_extension.py:270: UserWarning: Error checking compiler version for cl: [WinError 2] The system cannot find the file specified
  warnings.warn('Error checking compiler version for {}: {}'.format(compiler, error))
building '_ext' extension
Emitting ninja build file D:\_\DCNv2-pytorch_1.6\build\temp.win-amd64-3.7\Release\build.ninja...
Compiling objects...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
[1/1] C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin\nvcc -Xcompiler /MD -Xcompiler /wd4819 -Xcompiler /wd4251 -Xcompiler /wd4244 -Xcompiler /wd4267 -Xcompiler /wd4275 -Xcompiler /wd4018 -Xcompiler /wd4190 -Xcompiler /EHsc -Xcudafe --diag_suppress=base_class_has_different_dll_interface -Xcudafe --diag_suppress=field_without_dll_interface -Xcudafe --diag_suppress=dll_interface_conflict_none_assumed -Xcudafe --diag_suppress=dll_interface_conflict_dllexport_assumed -DWITH_CUDA -ID:\_\DCNv2-pytorch_1.6\src -IC:\Users\127051\AppData\Local\Programs\Python\Python37\lib\site-packages\torch\include -IC:\Users\127051\AppData\Local\Programs\Python\Python37\lib\site-packages\torch\include\torch\csrc\api\include -IC:\Users\127051\AppData\Local\Programs\Python\Python37\lib\site-packages\torch\include\TH -IC:\Users\127051\AppData\Local\Programs\Python\Python37\lib\site-packages\torch\include\THC "-IC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include" -IC:\Users\127051\AppData\Local\Programs\Python\Python37\include -IC:\Users\127051\AppData\Local\Programs\Python\Python37\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.27.29110\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.27.29110\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" "-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" -c D:\_\DCNv2-pytorch_1.6\src\cuda\dcn_v2_cuda.cu -o D:\_\DCNv2-pytorch_1.6\build\temp.win-amd64-3.7\Release\_\DCNv2-pytorch_1.6\src\cuda\dcn_v2_cuda.obj -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -DCUDA_HAS_FP16=1 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_50,code=sm_50
C:/Users/127051/AppData/Local/Programs/Python/Python37/lib/site-packages/torch/include\c10/util/ThreadLocalDebugInfo.h(12): warning: modifier is ignored on an enum specifier

C:/Users/127051/AppData/Local/Programs/Python/Python37/lib/site-packages/torch/include\c10/util/ThreadLocalDebugInfo.h(12): warning: modifier is ignored on an enum specifier

dcn_v2_cuda.cu
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.27.29110\bin\HostX86\x64\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:C:\Users\127051\AppData\Local\Programs\Python\Python37\lib\site-packages\torch\lib "/LIBPATH:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib/x64" /LIBPATH:C:\Users\127051\AppData\Local\Programs\Python\Python37\libs /LIBPATH:C:\Users\127051\AppData\Local\Programs\Python\Python37\PCbuild\amd64 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.27.29110\ATLMFC\lib\x64" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.27.29110\lib\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64" c10.lib torch.lib torch_cpu.lib torch_python.lib cudart.lib c10_cuda.lib torch_cuda.lib /EXPORT:PyInit__ext D:\_\DCNv2-pytorch_1.6\build\temp.win-amd64-3.7\Release\_\DCNv2-pytorch_1.6\src\vision.obj D:\_\DCNv2-pytorch_1.6\build\temp.win-amd64-3.7\Release\_\DCNv2-pytorch_1.6\src\cpu\dcn_v2_cpu.obj D:\_\DCNv2-pytorch_1.6\build\temp.win-amd64-3.7\Release\_\DCNv2-pytorch_1.6\src\cpu\dcn_v2_im2col_cpu.obj D:\_\DCNv2-pytorch_1.6\build\temp.win-amd64-3.7\Release\_\DCNv2-pytorch_1.6\src\cpu\dcn_v2_psroi_pooling_cpu.obj D:\_\DCNv2-pytorch_1.6\build\temp.win-amd64-3.7\Release\_\DCNv2-pytorch_1.6\src\cuda\dcn_v2_cuda.obj D:\_\DCNv2-pytorch_1.6\build\temp.win-amd64-3.7\Release\_\DCNv2-pytorch_1.6\src\cuda\dcn_v2_im2col_cuda.obj D:\_\DCNv2-pytorch_1.6\build\temp.win-amd64-3.7\Release\_\DCNv2-pytorch_1.6\src\cuda\dcn_v2_psroi_pooling_cuda.obj /OUT:build\lib.win-amd64-3.7\_ext.cp37-win_amd64.pyd /IMPLIB:D:\_\DCNv2-pytorch_1.6\build\temp.win-amd64-3.7\Release\_\DCNv2-pytorch_1.6\src\_ext.cp37-win_amd64.lib
   Creating library D:\_\DCNv2-pytorch_1.6\build\temp.win-amd64-3.7\Release\_\DCNv2-pytorch_1.6\src\_ext.cp37-win_amd64.lib and object D:\_\DCNv2-pytorch_1.6\build\temp.win-amd64-3.7\Release\_\DCNv2-pytorch_1.6\src\_ext.cp37-win_amd64.exp
dcn_v2_cuda.obj : error LNK2001: unresolved external symbol cublasSgemv_v2
build\lib.win-amd64-3.7\_ext.cp37-win_amd64.pyd : fatal error LNK1120: 1 unresolved externals
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Tools\\MSVC\\14.27.29110\\bin\\HostX86\\x64\\link.exe' failed with exit status 1120

My environment:
OS = windows 10
python3.7
pytorch1.6
cuda10.2

error: command 'g++' failed with exit status 1

(centernet) ubuntu@ubun:~/CenterNet/src/lib/models/networks/DCNv2$ python setup.py build develop
/home/ubuntu/anaconda3/envs/centernet/lib/python3.6/site-packages/torch/cuda/init.py:52: UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 804: forward compatibility was attempted on non supported HW (Triggered internally at /opt/conda/conda-bld/pytorch_1603729128610/work/c10/cuda/CUDAFunctions.cpp:100.)
return torch._C._cuda_getDeviceCount() > 0
No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda'
running build
running build_ext
building '_ext' extension
Emitting ninja build file /home/ubuntu/CenterNet/src/lib/models/networks/DCNv2/build/temp.linux-x86_64-3.6/build.ninja...
Compiling objects...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
1.7.2
g++ -pthread -shared -L/home/ubuntu/anaconda3/envs/centernet/lib -Wl,-rpath=/home/ubuntu/anaconda3/envs/centernet/lib,--no-as-needed /home/ubuntu/CenterNet/src/lib/models/networks/DCNv2/build/temp.linux-x86_64-3.6/home/ubuntu/CenterNet/src/lib/models/networks/DCNv2/src/vision.o /home/ubuntu/CenterNet/src/lib/models/networks/DCNv2/build/temp.linux-x86_64-3.6/home/ubuntu/CenterNet/src/lib/models/networks/DCNv2/src/cpu/dcn_v2_im2col_cpu.o /home/ubuntu/CenterNet/src/lib/models/networks/DCNv2/build/temp.linux-x86_64-3.6/home/ubuntu/CenterNet/src/lib/models/networks/DCNv2/src/cpu/dcn_v2_psroi_pooling_cpu.o /home/ubuntu/CenterNet/src/lib/models/networks/DCNv2/build/temp.linux-x86_64-3.6/home/ubuntu/CenterNet/src/lib/models/networks/DCNv2/src/cpu/dcn_v2_cpu.o -L/home/ubuntu/anaconda3/envs/centernet/lib/python3.6/site-packages/torch/lib -L/home/ubuntu/anaconda3/envs/centernet/lib -lc10 -ltorch -ltorch_cpu -ltorch_python -lpython3.6m -o build/lib.linux-x86_64-3.6/_ext.cpython-36m-x86_64-linux-gnu.so
g++: error: /home/ubuntu/CenterNet/src/lib/models/networks/DCNv2/build/temp.linux-x86_64-3.6/home/ubuntu/CenterNet/src/lib/models/networks/DCNv2/src/vision.o: No such file or directory
g++: error: /home/ubuntu/CenterNet/src/lib/models/networks/DCNv2/build/temp.linux-x86_64-3.6/home/ubuntu/CenterNet/src/lib/models/networks/DCNv2/src/cpu/dcn_v2_im2col_cpu.o: No such file or directory
g++: error: /home/ubuntu/CenterNet/src/lib/models/networks/DCNv2/build/temp.linux-x86_64-3.6/home/ubuntu/CenterNet/src/lib/models/networks/DCNv2/src/cpu/dcn_v2_psroi_pooling_cpu.o: No such file or directory
g++: error: /home/ubuntu/CenterNet/src/lib/models/networks/DCNv2/build/temp.linux-x86_64-3.6/home/ubuntu/CenterNet/src/lib/models/networks/DCNv2/src/cpu/dcn_v2_cpu.o: No such file or directory
error: command 'g++' failed with exit status 1

test error in pytorch_1.5 branch

Hi,

Thanks for your src.
I am testing pytorch_1.5 branch, and the following error happens:

gpu test:

$ python testcuda.py
error in modulated_deformable_im2col_cuda: invalid device function
Traceback (most recent call last):
File "testcuda.py", line 284, in
example_dconv()
File "testcuda.py", line 202, in example_dconv
error.backward()
File "/home/du/anaconda3/envs/pytorch1.5/lib/python3.7/site-packages/torch/tensor.py", line 198, in backward
torch.autograd.backward(self, gradient, retain_graph, create_graph)
File "/home/du/anaconda3/envs/pytorch1.5/lib/python3.7/site-packages/torch/autograd/init.py", line 100, in backward
allow_unreachable=True) # allow_unreachable flag
RuntimeError: CUDA error: CUBLAS_STATUS_ALLOC_FAILED when calling cublasCreate(handle)
Segmentation fault (コアダンプ)

cpu test:

$ python testcpu.py
torch.Size([2, 64, 128, 128])
torch.Size([20, 32, 7, 7])
torch.Size([20, 32, 7, 7])
torch.Size([20, 32, 7, 7])
0.971507, 1.943013
0.971507, 1.943013
Zero offset passed
/home/du/anaconda3/envs/pytorch1.5/lib/python3.7/site-packages/torch/autograd/gradcheck.py:244: UserWarning: At least one of the inputs that requires gradient is not of double precision floating point. This check will likely fail if all the inputs are not of double precision floating point.
'At least one of the inputs that requires gradient '
Traceback (most recent call last):
File "testcpu.py", line 289, in
check_gradient_dpooling()
File "testcpu.py", line 184, in check_gradient_dpooling
eps=1e-4,
File "/home/du/anaconda3/envs/pytorch1.5/lib/python3.7/site-packages/torch/autograd/gradcheck.py", line 291, in gradcheck
'numerical:%s\nanalytical:%s\n' % (i, j, n, a))
File "/home/du/anaconda3/envs/pytorch1.5/lib/python3.7/site-packages/torch/autograd/gradcheck.py", line 229, in fail_test
raise RuntimeError(msg)
RuntimeError: Jacobian mismatch for output 0 with respect to input 0,
numerical:tensor([[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
...,
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.]])
analytical:tensor([[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
...,
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.]])

Any help would be appreciated.

Unable to build in pytorch 1.7.0 env.

My environment:
Virtual machaine NO GPU
Archlinux
Anaconda3
Pytorch 1.7.0 CPUonly

I rum command "git checkout pytorch_1.7" before build it, but it return a strange ERROR:
running build
running build_ext
error: [Errno 2] No such file or directory: 'which'

I've never seen that in other issues.

dcn_v2_cuda.obj : error LNK2001: 无法解析的外部符号 cublasSgemv_v2

正在创建库 build\temp.win-amd64-cpython-37\Release\CenterNet\src\lib\models\networks\DCNv2\src\cpu_ext.cp37-win_amd64.lib 和对象 build\temp.win-amd64-cpython-37\Release\CenterNet\src\lib\models\networks\DCNv2\src\cpu_ext.cp37-win_amd64.exp
dcn_v2_cuda.obj : error LNK2001: 无法解析的外部符号 cublasSgemv_v2
build\lib.win-amd64-cpython-37_ext.cp37-win_amd64.pyd : fatal error LNK1120: 1 个无法解析的外部命令
error: command 'D:\ProgramFiles\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.32.31326\bin\HostX86\x64\link.exe' failed with exit code 1120
请问这个问题应该怎么解决呀?

ValueError: underlying buffer has been detached

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "setup.py", line 72, in
cmdclass={"build_ext": torch.utils.cpp_extension.BuildExtension},
File "D:\app4code\Anaconda3\lib\site-packages\setuptools_init_.py", line 145, in setup
return distutils.core.setup(**attrs)
File "D:\app4code\Anaconda3\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "D:\app4code\Anaconda3\lib\distutils\dist.py", line 966, in run_commands
self.run_command(cmd)
File "D:\app4code\Anaconda3\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "D:\app4code\Anaconda3\lib\distutils\command\build.py", line 135, in run
self.run_command(cmd_name)
File "D:\app4code\Anaconda3\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "D:\app4code\Anaconda3\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "D:\app4code\Anaconda3\lib\site-packages\setuptools\command\build_ext.py", line 84, in run
_build_ext.run(self)
File "D:\app4code\Anaconda3\lib\site-packages\Cython\Distutils\old_build_ext.py", line 186, in run
_build_ext.build_ext.run(self)
File "D:\app4code\Anaconda3\lib\distutils\command\build_ext.py", line 340, in run
self.build_extensions()
File "D:\app4code\Anaconda3\lib\site-packages\torch\utils\cpp_extension.py", line 708, in build_extensions
build_ext.build_extensions(self)
File "D:\app4code\Anaconda3\lib\site-packages\Cython\Distutils\old_build_ext.py", line 194, in build_extensions
self.build_extension(ext)
File "D:\app4code\Anaconda3\lib\site-packages\setuptools\command\build_ext.py", line 205, in build_extension
_build_ext.build_extension(self, ext)
File "D:\app4code\Anaconda3\lib\distutils\command\build_ext.py", line 534, in build_extension
depends=ext.depends)
File "D:\app4code\Anaconda3\lib\site-packages\torch\utils\cpp_extension.py", line 690, in win_wrap_ninja_compile
with_cuda=with_cuda)
File "D:\app4code\Anaconda3\lib\site-packages\torch\utils\cpp_extension.py", line 1359, in _write_ninja_file_and_compile_objects
error_prefix='Error compiling objects for extension')
File "D:\app4code\Anaconda3\lib\site-packages\torch\utils\cpp_extension.py", line 1683, in _run_ninja_build
raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "D:\app4code\Anaconda3\lib\site-packages\colorama\ansitowin32.py", line 59, in closed
return stream.closed
ValueError: underlying buffer has been detached

error: can't create or remove files in install directory

I compiled it on HPC, but got this error, because of not root permission.
Do you know how to solve it? Thank you

running develop
error: can't create or remove files in install directory
The following error occurred while trying to add or remove files in the installation directory:
[Errno 13] Permission denied: '/trinity/shared/pkg/devel/python/3.6.5/lib/python3.6/site-packages/test-easy-install-23469.write-test'
The installation directory you specified (via --install-dir, --prefix, or the distutils default setting) was: /trinity/shared/pkg/devel/python/3.6.5/lib/python3.6/site-packages/

UserWarning: Error checking compiler version for cl:

I am having problems with setup the dcnv2, it gives me the following warning if I run python setup.py build develop. Although the building process successfully finished, but if I try to import _ext, it says DLL load failed while importing _ext, so I suspect this is because of the user warning below.
running build
running build_ext
cl(it says this is my printed compiler name but I am not running it on visual studio, this is simply vscode with python 3.8 torch 3.7.0)
Traceback (most recent call last):(self printed traceback, start here)
File "C:\Users\LXAB\anaconda3\envs\mltorch\lib\site-packages\torch\utils\cpp_extension.py", line 270, in check_compiler_abi_compatibility compiler_info = subprocess.check_output(compiler, stderr=subprocess.STDOUT)
File "C:\Users\LXAB\anaconda3\envs\mltorch\lib\subprocess.py", line 415, in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "C:\Users\LXAB\anaconda3\envs\mltorch\lib\subprocess.py", line 493, in run with Popen(*popenargs, **kwargs) as process:
File "C:\Users\LXAB\anaconda3\envs\mltorch\lib\subprocess.py", line 858, in __init__ self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\LXAB\anaconda3\envs\mltorch\lib\subprocess.py", line 1311, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] 系统找不到指定的文件。(means system cannot find file,ends here)
C:\Users\LXAB\anaconda3\envs\mltorch\lib\site-packages\torch\utils\cpp_extension.py:278: UserWarning: Error checking compiler version for cl: [WinError 2] 系统找不到指定的文件。 warnings.warn('Error checking compiler version for {}: {}'.format(compiler, error)) building '_ext' extension
I did try to change decode to gbk but does not work. Anybody can help?

How to convert model to TensorRT from onnx

I was able to convert the model to onnx using the details under
https://github.com/CaoWGG/TensorRT-CenterNet/blob/master/readme/ctdet2onnx.md
with this repo (changed the import of pose_dla_dcn to from .DCNv2.dcn_v2_onnx import DCN and ran the conversion script).

Can anyone provide a recipe on how to convert the onnx to tensorRT? I am unable build the repo:
https://github.com/CaoWGG/TensorRT-CenterNet
most likely as I am using Pytorch1.6

While trying to convert the model to trt the error is:
In node 135 (parseGraph): UNSUPPORTED_NODE: No importer registered for op: DCNv2_2

This repo does provide the .cu files for DCN but they are not seem to be compiled upon build nor included as a plugin for tensorRT.

Thanks in advanced

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.