1 trtpose pytorch编译
在pytorch 1.2,1.1的情形下需要执行
git clone https://github.com/NVIDIA-AI-IOT/trt_pose
cd trt_pose
sudo python3 setup.py install
但是pytorch低版本的c++编译需要4.9以上的gcc,所以最直观的方法是直接在系统以非root身份安装一个新版本的gcc,安装链接如下,从下面的链接提炼一下安装gcc的步骤。
https://blog.csdn.net/qq_20965753/article/details/64133013
以下内容安装gcc内容均来自该链接
1)第一步安装gmp
tar -xjf gmp-6.1.2.tar.bz2
cd gmp-6.1.2
./configure --prefix=PATH/gmp-6.1.2 CFLAGS=-fPIC CXXFLAGS=-fPIC # 配置成功生成Makefile文件
make -j8 # 多线程编译.
make install
2)安装mpfr
tar -zxvf mpfr-3.1.5.tar.gz
cd mpfr-3.1.5
./configure --prefix=PATH/mpfr-3.1.5 --with-gmp=PATH/gmp-6.1.2/ CFLAGS=-fPIC CXXFLAGS=-fPIC # 配置成功生成Makefile文件. 另外, mpfr安装依赖于gmp, 所以在config时, 指定gmp的安装路径. 包括gmp的库文件和编译生成的lib和include文件.
make -j8
make install
3)安装mpc
tar -zxvf mpc-1.0.3.tar.gz
cd mpc-1.0.3
./configure --prefix=PATH/mpc-1.0.3 --with-gmp=PATH/gmp-6.1.2/ --with-mpfr=PATH/mpfr-3.1.5/ CFLAGS=-fPIC CXXFLAGS=-fPIC # 配置成功生成Makefile文件. 另外, mpfr安装依赖于gmp, mpfr, 所以在config时, 指定gmp和mpfr的安装路径. 包括gmp的库文件和编译生成的lib和include文件.
make -j8
make install
4)修改环境变量
export LD_LIBRARY_PATH=PATH/gmp-6.1.2/lib:PATH/mpfr-3.1.5/lib:PATH/mpc-1.0.3/lib/:$LD_LIBRARY_PATH
5)最后安装gcc
./configure --prefix=PATH/gcc_compile --enable-threads=posix --disable-checking --disable-multilib --enable-plugin --enable-lto --enable-languages=c,c++,fortran --with-gmp=PATH/gmp-6.1.2/ --with-mpfr=PATH/mpfr-3.1.5/ --with-mpc=PATH/mpc-1.0.3/
make -j12
make install
6)最后加入环境变量
export PATH=PATH/gcc_compile/bin/:$PATH
对于低版本的pytorch,4.9.4已经足够使用
当pytorch高版本的时候
此时发现不仅4.9无法使用,即使5.4都无法通过,所以此时不要再寻找其他原因了,直接升级gcc版本至7.3.0,这时候即可通过,安装方法同4.9.4相同,依赖包gmp,mpfr,mpc的版本都不需要修改。
有一种折中的方法就是直接使用conda安装gcc,然后修改环境变量使得直接指向conda的gcc,只成功安装过5.4,但是7.3版本的gcc安装成功后使用时还是有问题,此问题日后解决吧!安装方法如下:
https://www.zhihu.com/question/56272908?sort=created
安装apex
把官网中关于python setup.py install之后的后缀都去掉,否则各种奇葩错误!编译成功后即可进行trt_pose的训练
git clone https://github.com/NVIDIA/apex.git
cd apex
python setup.py install