xinntao / EDVR

Winning Solution in NTIRE19 Challenges on Video Restoration and Enhancement (CVPR19 Workshops) - Video Restoration with Enhanced Deformable Convolutional Networks. EDVR has been merged into BasicSR and this repo is a mirror of BasicSR.
https://github.com/xinntao/BasicSR
1.48k stars 320 forks source link

RuntimeError: Error compiling objects for extension #163

Closed wolfam0108 closed 3 years ago

wolfam0108 commented 3 years ago

Hello! When I start compiling, it gives an error. With what it can be connected?

(base) vova@wolfram-pc:~/EDVR/codes/models/archs/dcn$ python setup.py develop
running develop
running egg_info
writing deform_conv.egg-info/PKG-INFO
writing dependency_links to deform_conv.egg-info/dependency_links.txt
writing top-level names to deform_conv.egg-info/top_level.txt
reading manifest file 'deform_conv.egg-info/SOURCES.txt'
writing manifest file 'deform_conv.egg-info/SOURCES.txt'
running build_ext
building 'deform_conv_cuda' extension
Emitting ninja build file /home/vova/EDVR/codes/models/archs/dcn/build/temp.linux-x86_64-3.7/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++ -MMD -MF /home/vova/EDVR/codes/models/archs/dcn/build/temp.linux-x86_64-3.7/src/deform_conv_cuda.o.d -pthread -B /home/vova/anaconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/vova/anaconda3/lib/python3.7/site-packages/torch/include -I/home/vova/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/vova/anaconda3/lib/python3.7/site-packages/torch/include/TH -I/home/vova/anaconda3/lib/python3.7/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/vova/anaconda3/include/python3.7m -c -c /home/vova/EDVR/codes/models/archs/dcn/src/deform_conv_cuda.cpp -o /home/vova/EDVR/codes/models/archs/dcn/build/temp.linux-x86_64-3.7/src/deform_conv_cuda.o -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=deform_conv_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
FAILED: /home/vova/EDVR/codes/models/archs/dcn/build/temp.linux-x86_64-3.7/src/deform_conv_cuda.o
c++ -MMD -MF /home/vova/EDVR/codes/models/archs/dcn/build/temp.linux-x86_64-3.7/src/deform_conv_cuda.o.d -pthread -B /home/vova/anaconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/vova/anaconda3/lib/python3.7/site-packages/torch/include -I/home/vova/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/vova/anaconda3/lib/python3.7/site-packages/torch/include/TH -I/home/vova/anaconda3/lib/python3.7/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/vova/anaconda3/include/python3.7m -c -c /home/vova/EDVR/codes/models/archs/dcn/src/deform_conv_cuda.cpp -o /home/vova/EDVR/codes/models/archs/dcn/build/temp.linux-x86_64-3.7/src/deform_conv_cuda.o -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=deform_conv_cuda -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++
/home/vova/EDVR/codes/models/archs/dcn/src/deform_conv_cuda.cpp: In function ‘void shape_check(at::Tensor, at::Tensor, at::Tensor*, at::Tensor, int, int, int, int, int, int, int, int, int, int)’:
/home/vova/EDVR/codes/models/archs/dcn/src/deform_conv_cuda.cpp:65:3: error: ‘AT_CHECK’ was not declared in this scope; did you mean ‘DCHECK’?
   65 |   AT_CHECK(weight.ndimension() == 4,
      |   ^~~~~~~~
      |   DCHECK
/home/vova/EDVR/codes/models/archs/dcn/src/deform_conv_cuda.cpp: In function ‘int deform_conv_forward_cuda(at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, int, int, int, int, int, int, int, int, int, int, int)’:
/home/vova/EDVR/codes/models/archs/dcn/src/deform_conv_cuda.cpp:192:3: error: ‘AT_CHECK’ was not declared in this scope; did you mean ‘DCHECK’?
  192 |   AT_CHECK((offset.size(0) == batchSize), "invalid batch size of offset");
      |   ^~~~~~~~
      |   DCHECK
/home/vova/EDVR/codes/models/archs/dcn/src/deform_conv_cuda.cpp: In function ‘int deform_conv_backward_input_cuda(at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, int, int, int, int, int, int, int, int, int, int, int)’:
/home/vova/EDVR/codes/models/archs/dcn/src/deform_conv_cuda.cpp:298:3: error: ‘AT_CHECK’ was not declared in this scope; did you mean ‘DCHECK’?
  298 |   AT_CHECK((offset.size(0) == batchSize), 3, "invalid batch size of offset");
      |   ^~~~~~~~
      |   DCHECK
/home/vova/EDVR/codes/models/archs/dcn/src/deform_conv_cuda.cpp: In function ‘int deform_conv_backward_parameters_cuda(at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, int, int, int, int, int, int, int, int, int, int, float, int)’:
/home/vova/EDVR/codes/models/archs/dcn/src/deform_conv_cuda.cpp:413:3: error: ‘AT_CHECK’ was not declared in this scope; did you mean ‘DCHECK’?
  413 |   AT_CHECK((offset.size(0) == batchSize), "invalid batch size of offset");
      |   ^~~~~~~~
      |   DCHECK
/home/vova/EDVR/codes/models/archs/dcn/src/deform_conv_cuda.cpp: In function ‘void modulated_deform_conv_cuda_forward(at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, int, int, int, int, int, int, int, int, int, int, bool)’:
/home/vova/EDVR/codes/models/archs/dcn/src/deform_conv_cuda.cpp:493:3: error: ‘AT_CHECK’ was not declared in this scope; did you mean ‘DCHECK’?
  493 |   AT_CHECK(input.is_contiguous(), "input tensor has to be contiguous");
      |   ^~~~~~~~
      |   DCHECK
/home/vova/EDVR/codes/models/archs/dcn/src/deform_conv_cuda.cpp: In function ‘void modulated_deform_conv_cuda_backward(at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, int, int, int, int, int, int, int, int, int, int, bool)’:
/home/vova/EDVR/codes/models/archs/dcn/src/deform_conv_cuda.cpp:574:3: error: ‘AT_CHECK’ was not declared in this scope; did you mean ‘DCHECK’?
  574 |   AT_CHECK(input.is_contiguous(), "input tensor has to be contiguous");
      |   ^~~~~~~~
      |   DCHECK
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "/home/vova/anaconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1423, in _run_ninja_build
    check=True)
  File "/home/vova/anaconda3/lib/python3.7/subprocess.py", line 512, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "setup.py", line 22, in <module>
    ], cmdclass={'build_ext': BuildExtension}, zip_safe=False)
  File "/home/vova/anaconda3/lib/python3.7/site-packages/setuptools/__init__.py", line 144, in setup
    return distutils.core.setup(**attrs)
  File "/home/vova/anaconda3/lib/python3.7/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/home/vova/anaconda3/lib/python3.7/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/home/vova/anaconda3/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/home/vova/anaconda3/lib/python3.7/site-packages/setuptools/command/develop.py", line 38, in run
    self.install_for_development()
  File "/home/vova/anaconda3/lib/python3.7/site-packages/setuptools/command/develop.py", line 140, in install_for_development
    self.run_command('build_ext')
  File "/home/vova/anaconda3/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/vova/anaconda3/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/home/vova/anaconda3/lib/python3.7/site-packages/setuptools/command/build_ext.py", line 87, in run
    _build_ext.run(self)
  File "/home/vova/anaconda3/lib/python3.7/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
    _build_ext.build_ext.run(self)
  File "/home/vova/anaconda3/lib/python3.7/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/vova/anaconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 603, in build_extensions
    build_ext.build_extensions(self)
  File "/home/vova/anaconda3/lib/python3.7/site-packages/Cython/Distutils/old_build_ext.py", line 195, in build_extensions
    _build_ext.build_ext.build_extensions(self)
  File "/home/vova/anaconda3/lib/python3.7/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/vova/anaconda3/lib/python3.7/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/vova/anaconda3/lib/python3.7/site-packages/setuptools/command/build_ext.py", line 208, in build_extension
    _build_ext.build_extension(self, ext)
  File "/home/vova/anaconda3/lib/python3.7/distutils/command/build_ext.py", line 534, in build_extension
    depends=ext.depends)
  File "/home/vova/anaconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 437, in unix_wrap_ninja_compile
    with_cuda=with_cuda)
  File "/home/vova/anaconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1163, in _write_ninja_file_and_compile_objects
    error_prefix='Error compiling objects for extension')
  File "/home/vova/anaconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1436, in _run_ninja_build
    raise RuntimeError(message)
RuntimeError: Error compiling objects for extension
xinntao commented 3 years ago

The error is from the mismatching of pytorch version and dcn src codes.

https://github.com/xinntao/BasicSR is recommended.

And we have also mirror BasicSR repo to this EDVR repo. EDVR models are also included.