docker环境中实现可变卷积(deformable conv)遇到的问题

deformable conv

解决docker环境中实现可变卷积(deformable conv)遇到的问题

一、为什么使用deformable conv?

经过论文上比较deformable conv性能 比普通conv性能高好几个点,需要尝试对比一下。

二、编译过程中遇到的问题

1.deform_pool_cuda.cpp:60:3: error: ‘AT_CHECK’ was not declared in this scope

``错误原因:AT_CHECK is deprecated in torch 1.5
高版本的pytorch不再使用AT_CHECK,而是使用 TORCH_CHECK。

解决方法:将所有待编译的源文件中的‘AT_CHECK’全部替换为‘TORCH_CHECK’。

2.GCC 版本升级

首先升级需要服务器能够连接到外网,否则过程中的依赖需要手动下载安装,非常麻烦!!!

安装 centos-release-scl
yum install centos-release-scl
安装devtoolset(8版本,后面的数字对应几就安装几版本)
yum install devtoolset-8-gcc*
激活对应的devtoolset,所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本
scl enable devtoolset-8 bash

mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
gcc --version
g++ --version

3.fatal error: Python.h: No such file or directory报错

yum install -y python3-dev

4.error: [Errno 2] No such file or directory: ‘/usr/local/cuda/bin/nvcc’: ‘/usr/local/cuda/bin/nvcc’

解决办法:
1、将宿主机的nvcc 以及nvcc.profile文件拷贝过去。
2、vi ~/.bashrc
export PATH=/usr/local/cuda-9.2/binKaTeX parse error: Expected '}', got 'EOF' at end of input: {PATH:+:{PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64KaTeX parse error: Expected '}', got 'EOF' at end of input: …LIBRARY_PATH:+:{LD_LIBRARY_PATH}}

你可能感兴趣的:(docker,ai,卷积神经网络)