【深度学习环境-1】Yolact、tensorflow、pytorch环境搭建

基础环境:ubuntu18.04+cuda11.0+cudnn8.0.5

cuda11.0+cudnn8.0.5 安装方式参考:【深度学习环境-2】nvidia驱动、cuda安装配置_WXG1011的博客-CSDN博客

****************************************************************************************************************************************

写在前面:

安装算法环境时,一定要注意cuda、cudnn、pytorch、tensorflow的依赖关系,不然就是血的教训呀!

****************************************************************************************************************************************

1、安装工程所需的基础包

# 创建tensorflow虚拟环境
conda create -n tensorflow python==3.7
# 激活tensorflow虚拟环境
source activate tensorflow
pip install pycocotools
pip install requests
pip install scipy
pip install yacs
pip install pandas

2、安装opencv

pip3 install opencv-python

一般情况下,可以顺利安装成功,但有时候会报错。 

提示未安装skbuild包,安装scikit-build包。

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple scikit-build

scikit-build包安装成功后,再次尝试,又提示CMake安装有问题,正在终止构建,安装cmake。

sudo apt-get install cmake

cmake安装成功后,再次尝试,经过漫长的等待,opencv-python安装成功。

3、安装pytorch

推荐通过whl的方式安装,因为通过官方pip的方式安装会出现与python版本不兼容的问题,还得再重新更换pytorch或python版本。

  • 常规方法:

Previous PyTorch Versions | PyTorch选择对应版本安装。

# pytorch官网:https://pytorch.org/get-started/previous-versions/
pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
  • 通过whl安装

https://download.pytorch.org/whl/torch_stable.html下载对应的whl文件。

pip install **.whl

安装成功之后,验证是否安装成功

python
import torch
#pytorch版本
torch.__version__
#cuda版本
torch.version.cuda
#cuda可否正常使用
torch.cuda.is_available()
#cudnn版本
torch.backends.cudnn.version()

注意:cpu版本只需要print(torch.__version__)就可以了,print(torch.cuda.is_available())是验证gpu版本的。

pytorch、torchvision对应关系:

PyTorch中torch、torchvision、torchaudio、torchtext版本对应关系_torch2.0.1对应的torchvision-CSDN博客

有一次在安装pytorch与torchvision时遇到一个怪异的现象,通过pip list查询的torch版本与通过torch.__verson__查询的版本不一致,经过多种尝试都无解,无意中先安装指定版本的torchvision,再安装对应版本的pytorch,结果,完美解决,很是纳闷~~

4、安装tensorflow

# 根据cuda版本选择对应tensorflow-gpu版本
pip install tensorflow-gpu == ××.×
# 测试tensorflow是否安装成功
(tensorflow) zxh@zxh-Precision-3640-Tower:~/Chengdu$ python
Python 3.7.0 (default, Oct  9 2018, 10:31:47) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.__version__
'2.8.0'
>>> 

TensorFlow、cuda、cudnn版本对照表:

 可能出现的错误:

Could not load dynamic library 'libcusolver.so.11'; dlerror: libcusolver.so.11: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-11.0/lib64:

解决方法:

创建软链接

sudo ln -s /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcusolver.so.10 /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcusolver.so.11

5、实例分割——YOLACT环境配置

  • pytorch1.7编译方式

克隆地址:GitHub - dbolya/yolact: A simple, fully convolutional model for real-time instance segmentation.

git clone https://github.com/dbolya/yolact.git
cd yolact/external/DCNv2
python setup.py build develop

出现如下错误:

/home/zxh/Chengdu/yolact/external/DCNv2/src/cuda/dcn_v2_cuda.cu(107): error: identifier "THCState_getCurrentStream" is undefined

/home/zxh/Chengdu/yolact/external/DCNv2/src/cuda/dcn_v2_cuda.cu(279): error: identifier "THCState_getCurrentStream" is undefined

/home/zxh/Chengdu/yolact/external/DCNv2/src/cuda/dcn_v2_cuda.cu(324): error: identifier "THCudaBlas_Sgemv" is undefined

解决方法:

https://github.com/lbin/DCNv2/tree/pytorch_1.7 git对应pytorch版本的DCNv2包,替换yolact中对应的文件夹,然后进行编译,make.sh脚本内容为:

 

(tensorflow) zxh@zxh-Precision-3640-Tower:~/Chengdu/external/DCNv2$ ./make.sh 

出现如下提示即配置成功

 

参考链接:yolact模型DCNv2模块编译错误解决方法_[违规账号,无法查看]的博客-CSDN博客_dcnv2编译

DCNv2编译时报错error: ‘THFloatBlas_gemv’ was not declared_开机摸鱼的博客-CSDN博客

# 测试
python eval.py --trained_model=weights/yolact_base_54_800000.pth --score_threshold=0.15 --top_k=15 --video_multiframe=4 --video=0
  • pytorch1.8编译方式

最近新购一个RTX3070显卡,采用上述方式一直编译失败,无意中看到下面这篇帖子,帮我解决了大问题,经测试,可行。

DCNv2在pytorch1.8.1的安装_ubuntu 编译 dcnv2 pytorch 1.8-CSDN博客

我的安装环境为:ubuntu18.04+cuda11.1+cudnn8.05+pytorch1.8.0

 6、工程运行效果图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值