配置st-gcn(Ubuntu16.04+CUDA9.0)

记录一下自己的配置过程

1、查CUDA版本(已经安装了高版本CUDA)

nvidia-smi

conda -V

查询pytorch版本

(我这里电脑上已经有CUDA-11.3,但是后面发现版本不对应所以得降版本)

cuda降版本

(1)安装相应文件pytorch版本

conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit=9.0 -c pytorch

(gcc、g++降级)

(2)安装cuda

sudo sh cuda_9.0.176_384.81_linux.run

直接按q退出,accept,除了安装NVIDIA驱动选项输入n以外(因为之前已经装过显卡驱动了),其余全部选y,

第一个位置选择/home/cuda9.0

配置环境变量。在.bashrc末尾export一些东西:

sudo gedit ~/.bashrc export PATH=/usr/local/cuda-9.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH export CUDA_HOME="/usr/local/cuda-9.0:$CUDA_HOME" source ~/.bashrc

(3)安装cudnn

将相关文件复制到刚才安装的cuda中:

sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include/ sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64/ sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h sudo chmod a+r /usr/local/cuda-9.0/lib64/libcudnn*

(4)切换cuda版本

可以使用stat命令查看当前cuda软链接指向的哪个cuda版本

cd usr/local sudo rm -rf cuda(cuda-11.3) sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda

想切换其他版本的cuda,只需要改动建立软链接时cdua的正确路径即可。

使用上述的多个版本切换

修改个人用户目录下的.bashrc文件,

sudo gedit ~/.bashrc

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 export PATH=$PATH:/usr/local/cuda/bin export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

最后输入指令

source .bashrc

使新配置的环境变量生效。

2、 pytorch

Start Locally | PyTorch(官网链接)

python3

import torch

torch.__version__

torch.cuda.is_available()

3、安装OpenCV4.6.0(后面protobuf版本冲突,OpenCV也降版本了)

mkdir build

cd build

下载OpenCV-contrib同版本的 放在OpenCV目录中

sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

contrib的依赖包

输入下图的进行cmake

sudo cmake -D CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/g++ -D CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Auto OPENCV_EXTRA_MODULES_PATH=../opencv-4.6.0/opencv_contrib/modules/ ..

编辑切换为居中

cmake

然后sudo make

等进行到100%

然后

sudo make install sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf' sudo ldconfig sudo apt-get update python3 import cv2 cv2.__version__

出现版本的话就是安装成功了。

4.编译caffe

(1)按照教程Ubuntu 16.04 在Conda沙盒环境下安装Caffe(Python2.7.15 + Protobuf2.6.1 + GPU)

在caffe文件目录下修改编译文件:

cp Makefile.config.example Makefile.config

主要根据链接修改

USE_CUDNN:= 1 OPENCV_VERSION:= 3 WITH_PYTHON_LAYER := 1 INCLUDE_DIRS:= $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial LIBRARY_DIRS:= $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/usr/lib/x86_64-linux-gnu/hdf5/serial

CUDA_ARCH :=-gencode arch=compute_20,code=sm_20 \

-gencode arch=compute_20,code=sm_21 \ 要注释掉

(2)修改Makefile

NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS) LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

(3)Cmake

sudo make all -j8

sudo make install -j8

sudo make runtest -j8

没有报错的话是成功了

问题:

(1).unsupported gpu architecture 'compute_61'

修改cuda.cmake

(2).python导入caffe模块有问题

用过网上方法,结果还是导入失败。后来做了一步sudo make pycaffe就成功了。

python导入caffe模块的问题_Jimyang1ssa的博客-CSDN博客

(3).make install

(4).libcudnn.so

error while loading shared libraries: libcudnn.so.7: cannot open shared object file: No such file or_hw@c14h10的博客-CSDN博客

(5).找不到caffe/proto/caffe.pb.h文件:在openpose/3rdparty/caffe/目录下,执行:

protoc src/caffe/proto/caffe.proto --cpp_out=. mkdir include/caffe/proto mv src/caffe/proto/caffe.pb.h include/caffe/proto/

5.编译openpose

(1)下载model

cd models

./getModels.sh

cd ..

(2)打开cmake

sudo cmake-gui

选择路径:按照教程Ubuntu 16.04 配置 OpenPose(Caffe基于Python2.7.15 + Protobuf2.6.1)

mkdir build

编译pybind11会下载不下来 用别人下载好的文件下载

然后进行cmake,选择build_caffe;build_python;download_body_coco_model;

Caffe_INCLUDE_DIRS和Caffe_LIBS的路径分别是openpose/3rdparty/caffe下的inclue文件和openpose/3rdparty/caffe/build/lib libcaffe.so文件

如果出错:Ubuntu 16.04 在Conda沙盒环境下安装Caffe(Python2.7.15 + Protobuf2.6.1 + GPU)_笑着走完自己的路的博客-CSDN博客

在CMakeLists.txt头部加入,再重新编译即可

if(POLICY CMP0022) cmake_policy(SET CMP0022 NEW) endif()

(3)进入cd build

sudo make -j8

编译openpose完成后进行测试

cd .. ./build/examples/openpose/openpose.bin --video examples/media/video.avi ./build/examples/openpose/openpose.bin --video examples/media/video.avi --face --hand

(4)我这里出现了protobuf版本冲突

准备重新安装OpenCV,用源码编译OpenCV3.4.5版本结果发现有两个版本,一开始以为同时存在的,想把4.6.0卸载结果怎么也卸载不掉,后来发现一个是C++版本一个是python版本

现在改了python版本的直接search opencv

根据conda库里有的版本进行安装 安装了3.4.2;source ~/.bashrc还得改一下

(5)protobuf版本和库的不对应

protobuf版本常见问题_Adenialzz的博客-CSDN博客_protobuf版本

(6)protobuf导入paddle模块时报错

导入paddle模块时报错_脑汁的博客-CSDN博客_import paddle报错

(7)libpack链接断开

(8)import pyopenpose导入模块出错

python版本不对

conda install python=3.6

降版本之后,根据提示没安装的包进行安装

安装过程太慢了 延迟时间

pip --default-timeout=1000 install -U 模块名

后面网络原因下载不下来,用镜像加速

pip install scikit-image -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

然后按照上述办法进行重新编译caffe openpose。

6.st-gcn

(1)下载模型

cd torchlight python3 setup.py install cd ..

在tools目录下:

get_models.sh

(2)测试

python3 main.py demo --openpose '/root/openpose/build' --video '/root/st-gcn/resource/media/ta_chi.mp4'

我这里运行失败,结果发现好像是这个测试文件有问题换了个就可以了。

(3)报错

1)根据ST-GCN/AS-GCN报错cannot import name “import_class“_小Aer的博客-CSDN博客

2)每次都输入测试命令,安装依赖、改名字

改成:torchlight.torchlight.io (原import torchlight to import ...)

比如:ModuleNotFoundError: No module named ‘yaml‘

pip install pyyaml;pip install h5py;

pip install str2bool;pip install scikit-video(根据提示安装包)

下面总结一下出现过的其他问题:

1.sudo apt-get update有几个包没有被完全安装或卸载

sudo apt-get clean sudo apt-get update sudo apt-get install ***

2.安装包Y执行后终止

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值