/mmdetection3d$ python3 mmdet3d/utils/collect_env.py
No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda-11.3'
Traceback (most recent call last):
File "mmdet3d/utils/collect_env.py", line 5, in
import mmdet3d
ModuleNotFoundError: No module named 'mmdet3d'
由于还没编译,所以collect_env.py运行不了。另外这个是我的安装步骤:
这个是setup.py文件:
from setuptools import find_packages, setup
import os
import shutil
import sys
import torch
import warnings
from os import path as osp
from torch.utils.cpp_extension import (BuildExtension, CppExtension,
CUDAExtension)
def readme():
with open('README.md', encoding='utf-8') as f:
content = f.read()
return content
version_file = 'mmdet3d/version.py'
def get_version():
with open(version_file, 'r') as f:
exec(compile(f.read(), version_file, 'exec'))
import sys
# return short version for sdist
if 'sdist' in sys.argv or 'bdist_wheel' in sys.argv:
return locals()['short_version']
else:
return locals()['__version__']
define_macros = []
extra_compile_args = {'cxx': [] + extra_args}
if torch.cuda.is_available() or os.getenv('FORCE_CUDA', '0') == '1':
define_macros += [('WITH_CUDA', None)]
extension = CUDAExtension
extra_compile_args['nvcc'] = extra_args + [
'-D__CUDA_NO_HALF_OPERATORS__',
'-D__CUDA_NO_HALF_CONVERSIONS__',
'-D__CUDA_NO_HALF2_OPERATORS__',
]
sources += sources_cuda
else:
print('Compiling {} without CUDA'.format(name))
extension = CppExtension
# raise EnvironmentError('CUDA is required to compile MMDetection!')
return extension(
name='{}.{}'.format(module, name),
sources=[os.path.join(*module.split('.'), p) for p in sources],
include_dirs=extra_include_path,
define_macros=define_macros,
extra_compile_args=extra_compile_args)
def parse_requirements(fname='requirements.txt', with_version=True):
"""Parse the package dependencies listed in a requirements file but strips
specific versioning information.
Args:
fname (str): path to requirements file
with_version (bool, default=False): if True include version specs
Returns:
list[str]: list of requirements items
CommandLine:
python -c "import setup; print(setup.parse_requirements())"
"""
import re
import sys
from os.path import exists
require_fpath = fname
def parse_line(line):
"""Parse information from a line in a requirements text file."""
if line.startswith('-r '):
# Allow specifying requirements in other files
target = line.split(' ')[1]
for info in parse_require_file(target):
yield info
else:
info = {'line': line}
if line.startswith('-e '):
info['package'] = line.split('#egg=')[1]
else:
# Remove versioning from the package
pat = '(' + '|'.join(['>=', '==', '>']) + ')'
parts = re.split(pat, line, maxsplit=1)
parts = [p.strip() for p in parts]
info['package'] = parts[0]
if len(parts) > 1:
op, rest = parts[1:]
if ';' in rest:
# Handle platform specific dependencies
# http://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-platform-specific-dependencies
version, platform_deps = map(str.strip,
rest.split(';'))
info['platform_deps'] = platform_deps
else:
version = rest # NOQA
info['version'] = (op, version)
yield info
def parse_require_file(fpath):
with open(fpath, 'r') as f:
for line in f.readlines():
line = line.strip()
if line and not line.startswith('#'):
for info in parse_line(line):
yield info
def gen_packages_items():
if exists(require_fpath):
for info in parse_require_file(require_fpath):
parts = [info['package']]
if with_version and 'version' in info:
parts.extend(info['version'])
if not sys.version.startswith('3.4'):
# apparently package_deps are broken in 3.4
platform_deps = info.get('platform_deps')
if platform_deps is not None:
parts.append(';' + platform_deps)
item = ''.join(parts)
yield item
packages = list(gen_packages_items())
return packages
def add_mim_extention():
"""Add extra files that are required to support MIM into the package.
These files will be added by creating a symlink to the originals if the
package is installed in `editable` mode (e.g. pip install -e .), or by
copying from the originals otherwise.
"""
# parse installment mode
if 'develop' in sys.argv:
# installed by `pip install -e .`
mode = 'symlink'
elif 'sdist' in sys.argv or 'bdist_wheel' in sys.argv:
# installed by `pip install .`
# or create source distribution by `python setup.py sdist`
mode = 'copy'
else:
return
filenames = ['tools', 'configs', 'model-index.yml']
repo_path = osp.dirname(__file__)
mim_path = osp.join(repo_path, 'mmdet3d', '.mim')
os.makedirs(mim_path, exist_ok=True)
for filename in filenames:
if osp.exists(filename):
src_path = osp.join(repo_path, filename)
tar_path = osp.join(mim_path, filename)
if osp.isfile(tar_path) or osp.islink(tar_path):
os.remove(tar_path)
elif osp.isdir(tar_path):
shutil.rmtree(tar_path)
if mode == 'symlink':
src_relpath = osp.relpath(src_path, osp.dirname(tar_path))
os.symlink(src_relpath, tar_path)
elif mode == 'copy':
if osp.isfile(src_path):
shutil.copyfile(src_path, tar_path)
elif osp.isdir(src_path):
shutil.copytree(src_path, tar_path)
else:
warnings.warn(f'Cannot copy file {src_path}.')
else:
raise ValueError(f'Invalid mode {mode}')
if name == 'main':
add_mim_extention()
setup(
name='mmdet3d',
version=get_version(),
description=("OpenMMLab's next-generation platform"
'for general 3D object detection.'),
long_description=readme(),
long_description_content_type='text/markdown',
author='OpenMMLab',
author_email='zwwdev@gmail.com',
keywords='computer vision, 3D object detection',
url='https://github.com/open-mmlab/mmdetection3d',
packages=find_packages(),
include_package_data=True,
package_data={'mmdet3d.ops': ['/.so']},
classifiers=[
'Development Status :: 4 - Beta',
'License :: OSI Approved :: Apache Software License',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
],
license='Apache License 2.0',
setup_requires=parse_requirements('requirements/build.txt'),
tests_require=parse_requirements('requirements/tests.txt'),
install_requires=parse_requirements('requirements/runtime.txt'),
extras_require={
'all': parse_requirements('requirements.txt'),
'tests': parse_requirements('requirements/tests.txt'),
'build': parse_requirements('requirements/build.txt'),
'optional': parse_requirements('requirements/optional.txt'),
},
ext_modules=[
make_cuda_ext(
name='sparse_conv_ext',
module='mmdet3d.ops.spconv',
extra_include_path=[
PyTorch 1.5 uses ninjia, which requires absolute path
这个是报错片段:
Running setup.py develop for mmdet3d
Running command python setup.py develop
No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda-11.3'
Compiling sparse_conv_ext without CUDA
Compiling iou3d_cuda without CUDA
Compiling voxel_layer without CUDA
Compiling roiaware_pool3d_ext without CUDA
Compiling ball_query_ext without CUDA
Compiling knn_ext without CUDA
Compiling assign_score_withk_ext without CUDA
Compiling group_points_ext without CUDA
Compiling interpolate_ext without CUDA
Compiling furthest_point_sample_ext without CUDA
Compiling gather_points_ext without CUDA
running develop
running egg_info
writing mmdet3d.egg-info/PKG-INFO
writing dependency_links to mmdet3d.egg-info/dependency_links.txt
writing requirements to mmdet3d.egg-info/requires.txt
writing top-level names to mmdet3d.egg-info/top_level.txt
reading manifest file 'mmdet3d.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` and ``easy_install``.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://github.com/pypa/setuptools/issues/917 for details.
********************************************************************************
!!
easy_install.initialize_options(self)
/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` directly.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
********************************************************************************
!!
self.initialize_options()
warning: no files found matching '*.cpp' under directory 'mmdet3d/.mim/ops'
warning: no files found matching '*.cu' under directory 'mmdet3d/.mim/ops'
warning: no files found matching '*.h' under directory 'mmdet3d/.mim/ops'
warning: no files found matching '*.cc' under directory 'mmdet3d/.mim/ops'
adding license file 'LICENSE'
writing manifest file 'mmdet3d.egg-info/SOURCES.txt'
running build_ext
building 'mmdet3d.ops.spconv.sparse_conv_ext' extension
Emitting ninja build file /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/build.ninja...
Compiling objects...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
[1/4] c++ -MMD -MF /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/all.o.d -pthread -B /usr/local/anaconda3/envs/radiant/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/wql/mmdetection3d/mmdet3d/ops/spconv/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/TH -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/THC -I/usr/local/anaconda3/envs/radiant/include/python3.8 -c -c /home/wql/mmdetection3d/mmdet3d/ops/spconv/src/all.cc -o /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/all.o -w -std=c++14 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=sparse_conv_ext -D_GLIBCXX_USE_CXX11_ABI=0
FAILED: /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/all.o
c++ -MMD -MF /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/all.o.d -pthread -B /usr/local/anaconda3/envs/radiant/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/wql/mmdetection3d/mmdet3d/ops/spconv/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/TH -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/THC -I/usr/local/anaconda3/envs/radiant/include/python3.8 -c -c /home/wql/mmdetection3d/mmdet3d/ops/spconv/src/all.cc -o /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/all.o -w -std=c++14 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=sparse_conv_ext -D_GLIBCXX_USE_CXX11_ABI=0
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
/home/wql/mmdetection3d/mmdet3d/ops/spconv/src/all.cc:15:10: fatal error: cuda_runtime_api.h: 没有那个文件或目录
15 | #include <cuda_runtime_api.h>
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
[2/4] c++ -MMD -MF /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/indice.o.d -pthread -B /usr/local/anaconda3/envs/radiant/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/wql/mmdetection3d/mmdet3d/ops/spconv/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/TH -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/THC -I/usr/local/anaconda3/envs/radiant/include/python3.8 -c -c /home/wql/mmdetection3d/mmdet3d/ops/spconv/src/indice.cc -o /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/indice.o -w -std=c++14 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=sparse_conv_ext -D_GLIBCXX_USE_CXX11_ABI=0
FAILED: /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/indice.o
c++ -MMD -MF /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/indice.o.d -pthread -B /usr/local/anaconda3/envs/radiant/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/wql/mmdetection3d/mmdet3d/ops/spconv/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/TH -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/THC -I/usr/local/anaconda3/envs/radiant/include/python3.8 -c -c /home/wql/mmdetection3d/mmdet3d/ops/spconv/src/indice.cc -o /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/indice.o -w -std=c++14 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=sparse_conv_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/wql/mmdetection3d/mmdet3d/ops/spconv/include/spconv/geometry.h:18,
from /home/wql/mmdetection3d/mmdet3d/ops/spconv/src/indice.cc:15:
/home/wql/mmdetection3d/mmdet3d/ops/spconv/include/tensorview/tensorview.h:16:10: fatal error: cuda_runtime_api.h: 没有那个文件或目录
16 | #include <cuda_runtime_api.h>
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
[3/4] c++ -MMD -MF /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/reordering.o.d -pthread -B /usr/local/anaconda3/envs/radiant/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/wql/mmdetection3d/mmdet3d/ops/spconv/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/TH -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/THC -I/usr/local/anaconda3/envs/radiant/include/python3.8 -c -c /home/wql/mmdetection3d/mmdet3d/ops/spconv/src/reordering.cc -o /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/reordering.o -w -std=c++14 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=sparse_conv_ext -D_GLIBCXX_USE_CXX11_ABI=0
FAILED: /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/reordering.o
c++ -MMD -MF /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/reordering.o.d -pthread -B /usr/local/anaconda3/envs/radiant/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/wql/mmdetection3d/mmdet3d/ops/spconv/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/TH -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/THC -I/usr/local/anaconda3/envs/radiant/include/python3.8 -c -c /home/wql/mmdetection3d/mmdet3d/ops/spconv/src/reordering.cc -o /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/reordering.o -w -std=c++14 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=sparse_conv_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/wql/mmdetection3d/mmdet3d/ops/spconv/include/spconv/reordering.h:17,
from /home/wql/mmdetection3d/mmdet3d/ops/spconv/src/reordering.cc:15:
/home/wql/mmdetection3d/mmdet3d/ops/spconv/include/tensorview/tensorview.h:16:10: fatal error: cuda_runtime_api.h: 没有那个文件或目录
16 | #include <cuda_runtime_api.h>
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
[4/4] c++ -MMD -MF /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/maxpool.o.d -pthread -B /usr/local/anaconda3/envs/radiant/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/wql/mmdetection3d/mmdet3d/ops/spconv/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/TH -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/THC -I/usr/local/anaconda3/envs/radiant/include/python3.8 -c -c /home/wql/mmdetection3d/mmdet3d/ops/spconv/src/maxpool.cc -o /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/maxpool.o -w -std=c++14 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=sparse_conv_ext -D_GLIBCXX_USE_CXX11_ABI=0
FAILED: /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/maxpool.o
c++ -MMD -MF /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/maxpool.o.d -pthread -B /usr/local/anaconda3/envs/radiant/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/wql/mmdetection3d/mmdet3d/ops/spconv/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/TH -I/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/include/THC -I/usr/local/anaconda3/envs/radiant/include/python3.8 -c -c /home/wql/mmdetection3d/mmdet3d/ops/spconv/src/maxpool.cc -o /home/wql/mmdetection3d/build/temp.linux-x86_64-cpython-38/mmdet3d/ops/spconv/src/maxpool.o -w -std=c++14 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=sparse_conv_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/wql/mmdetection3d/mmdet3d/ops/spconv/include/spconv/maxpool.h:17,
from /home/wql/mmdetection3d/mmdet3d/ops/spconv/src/maxpool.cc:15:
/home/wql/mmdetection3d/mmdet3d/ops/spconv/include/tensorview/tensorview.h:16:10: fatal error: cuda_runtime_api.h: 没有那个文件或目录
16 | #include <cuda_runtime_api.h>
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1666, in _run_ninja_build
subprocess.run(
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/subprocess.py", line 516, in run
raise CalledProcessError(retcode, process.args,
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 "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "/home/wql/mmdetection3d/setup.py", line 192, in <module>
setup(
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/__init__.py", line 104, in setup
return distutils.core.setup(**attrs)
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 184, in setup
return run_commands(dist)
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 200, in run_commands
dist.run_commands()
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/dist.py", line 967, in run_command
super().run_command(command)
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/command/develop.py", line 34, in run
self.install_for_development()
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/command/develop.py", line 111, in install_for_development
self.run_command('build_ext')
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
self.distribution.run_command(command)
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/dist.py", line 967, in run_command
super().run_command(command)
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 91, in run
_build_ext.run(self)
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
_build_ext.build_ext.run(self)
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 359, in run
self.build_extensions()
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 709, in build_extensions
build_ext.build_extensions(self)
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/Cython/Distutils/old_build_ext.py", line 195, in build_extensions
_build_ext.build_ext.build_extensions(self)
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 479, in build_extensions
self._build_extensions_serial()
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 505, in _build_extensions_serial
self.build_extension(ext)
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 252, in build_extension
_build_ext.build_extension(self, ext)
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 560, in build_extension
objects = self.compiler.compile(
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 530, in unix_wrap_ninja_compile
_write_ninja_file_and_compile_objects(
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1355, in _write_ninja_file_and_compile_objects
_run_ninja_build(
File "/usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1682, in _run_ninja_build
raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension
error: subprocess-exited-with-error
× python setup.py develop did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
full command: /usr/local/anaconda3/envs/radiant/bin/python -c '
exec(compile('"'"''"'"''"'"'
# This is <pip-setuptools-caller> -- a caller that pip uses to run setup.py
#
# - It imports setuptools before invoking setup.py, to enable projects that directly
# import from `distutils.core` to work with newer packaging standards.
# - It provides a clear error message when setuptools is not installed.
# - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so
# setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning:
# manifest_maker: standard file '"'"'-c'"'"' not found".
# - It generates a shim setup.py, for handling setup.cfg-only projects.
import os, sys, tokenize
try:
import setuptools
except ImportError as error:
print(
"ERROR: Can not execute `setup.py` since setuptools is not available in "
"the build environment.",
file=sys.stderr,
)
sys.exit(1)
__file__ = %r
sys.argv[0] = __file__
if os.path.exists(__file__):
filename = __file__
with tokenize.open(__file__) as f:
setup_py_code = f.read()
else:
filename = "<auto-generated setuptools caller>"
setup_py_code = "from setuptools import setup; setup()"
exec(compile(setup_py_code, filename, "exec"))
'"'"''"'"''"'"' % ('"'"'/home/wql/mmdetection3d/setup.py'"'"',), "<pip-setuptools-caller>", "exec"))' develop --no-deps
cwd: /home/wql/mmdetection3d/
error: subprocess-exited-with-error
× python setup.py develop did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
Prerequisite
Task
I'm using the official example scripts/configs for the officially supported tasks/models/datasets.
Branch
main branch https://github.com/open-mmlab/mmdetection3d
Environment
/mmdetection3d$ python3 mmdet3d/utils/collect_env.py No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda-11.3' Traceback (most recent call last): File "mmdet3d/utils/collect_env.py", line 5, in
import mmdet3d
ModuleNotFoundError: No module named 'mmdet3d'
由于还没编译,所以collect_env.py运行不了。另外这个是我的安装步骤:
conda create -n env1 python=3.8 -y
conda activate env1
conda install pytorch==1.9.0 torchvision==0.10.0 cudatoolkit=11.3 -c pytorch -c conda-forge
pip install mmcv-full==1.3.12 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html
pip install mmdet==2.14.0
pip install mmsegmentation==0.14.1
pip uninstall numpy -y
pip install numpy==1.19.5
pip install cython==0.29.36
pip install mmpycocotools
pip install pycocotools==2.0.1
git clone https://github.com/open-mmlab/mmdetection3d.git
cd mmdetection3d
git checkout v0.16.0
pip install -v -e .
在最后一步会出错。另外这是我的环境变量: echo $CUDA_HOME /usr/local/cuda-11.3 echo $PATH /usr/local/anaconda3/envs/radiant/bin:/usr/local/cuda-11.3/bin:/opt/ros/melodic/bin:/home/wql/anaconda3/bin:/home/wql/anaconda3/condabin:/home/wql/anaconda3/bin:/usr/local/cuda-11.3/bin:/home/wql/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin echo $LD_LIBRARY_PATH /usr/local/cuda-11.3/lib64:/home/wql/dai_ws/devel/lib:/home/wql/SG-SLAM-old/devel/lib:/home/wql/car_root1/devel/lib:/home/wql/catkin_ws/devel/lib:/opt/ros/melodic/lib:/usr/local/cuda-11.3/lib64
Reproduces the problem - code sample
这个是setup.py文件: from setuptools import find_packages, setup
import os import shutil import sys import torch import warnings from os import path as osp from torch.utils.cpp_extension import (BuildExtension, CppExtension, CUDAExtension)
def readme(): with open('README.md', encoding='utf-8') as f: content = f.read() return content
version_file = 'mmdet3d/version.py'
def get_version(): with open(version_file, 'r') as f: exec(compile(f.read(), version_file, 'exec')) import sys
def make_cuda_ext(name, module, sources, sources_cuda=[], extra_args=[], extra_include_path=[]):
def parse_requirements(fname='requirements.txt', with_version=True): """Parse the package dependencies listed in a requirements file but strips specific versioning information.
def add_mim_extention(): """Add extra files that are required to support MIM into the package.
if name == 'main': add_mim_extention() setup( name='mmdet3d', version=get_version(), description=("OpenMMLab's next-generation platform" 'for general 3D object detection.'), long_description=readme(), long_description_content_type='text/markdown', author='OpenMMLab', author_email='zwwdev@gmail.com', keywords='computer vision, 3D object detection', url='https://github.com/open-mmlab/mmdetection3d', packages=find_packages(), include_package_data=True, package_data={'mmdet3d.ops': ['/.so']}, classifiers=[ 'Development Status :: 4 - Beta', 'License :: OSI Approved :: Apache Software License', 'Operating System :: OS Independent', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', ], license='Apache License 2.0', setup_requires=parse_requirements('requirements/build.txt'), tests_require=parse_requirements('requirements/tests.txt'), install_requires=parse_requirements('requirements/runtime.txt'), extras_require={ 'all': parse_requirements('requirements.txt'), 'tests': parse_requirements('requirements/tests.txt'), 'build': parse_requirements('requirements/build.txt'), 'optional': parse_requirements('requirements/optional.txt'), }, ext_modules=[ make_cuda_ext( name='sparse_conv_ext', module='mmdet3d.ops.spconv', extra_include_path=[
PyTorch 1.5 uses ninjia, which requires absolute path
Reproduces the problem - command or script
conda create -n env1 python=3.8 -y
conda activate env1
conda install pytorch==1.9.0 torchvision==0.10.0 cudatoolkit=11.3 -c pytorch -c conda-forge
pip install mmcv-full==1.3.12 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html
pip install mmdet==2.14.0
pip install mmsegmentation==0.14.1
pip uninstall numpy -y
pip install numpy==1.19.5
pip install cython==0.29.36
pip install mmpycocotools
pip install pycocotools==2.0.1
git clone https://github.com/open-mmlab/mmdetection3d.git
cd mmdetection3d
git checkout v0.16.0
pip install -v -e .
主要是上面这些命令
Reproduces the problem - error message
这个是报错片段: Running setup.py develop for mmdet3d Running command python setup.py develop No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda-11.3' Compiling sparse_conv_ext without CUDA Compiling iou3d_cuda without CUDA Compiling voxel_layer without CUDA Compiling roiaware_pool3d_ext without CUDA Compiling ball_query_ext without CUDA Compiling knn_ext without CUDA Compiling assign_score_withk_ext without CUDA Compiling group_points_ext without CUDA Compiling interpolate_ext without CUDA Compiling furthest_point_sample_ext without CUDA Compiling gather_points_ext without CUDA running develop running egg_info writing mmdet3d.egg-info/PKG-INFO writing dependency_links to mmdet3d.egg-info/dependency_links.txt writing requirements to mmdet3d.egg-info/requires.txt writing top-level names to mmdet3d.egg-info/top_level.txt reading manifest file 'mmdet3d.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' /usr/local/anaconda3/envs/radiant/lib/python3.8/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated. !!
error: subprocess-exited-with-error
× python setup.py develop did not run successfully. │ exit code: 1 ╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
Additional information
我真的不知道该怎么办了,这个问题卡了很久,由于我想复现一个基于mmdet的论文(radiant),它的装的版本就是v0.16.0的