ubuntu18.04+tensorflow-gpu==1.11.0+cuda9.0+cudnn7.3.1 配置

 

电脑配置:ubuntu18.04, Titan Xp, 驱动390.116,cuda9.1, cudnn 7.3

因为tensorflow-gpu 需要cuda9.0版本,所以要继续安装cuda9.0

GPU nvidia-smi 指令参数详解:https://blog.csdn.net/huangfei711/article/details/79230446

1.先gcc 降级

https://blog.csdn.net/yy2yy99/article/details/88572476

2.安装依赖项及cuda

https://blog.csdn.net/p397226804/article/details/87873990

3.修改~/.bashrc文件 报错 command not found : shopt

添加的是https://blog.csdn.net/yy2yy99/article/details/88572476 这里的四行

解决办法:https://blog.csdn.net/qq_36148847/article/details/79261067

  • 将所需配置修改写入~/.zshrc  
  • 执行 source ~/.zshrc

4.nvcc -V 查看是否安装成功

5.安装cudnn

https://blog.csdn.net/weixin_41399111/article/details/84898307

 

cd cuda/include 
sudo cp cudnn.h /usr/local/cuda/include
#随后切换到lib64文件夹下
cd lib64
sudo cp lib* /usr/local/cuda/lib64/    #复制动态链接库
cd #回到主目录下
cd /usr/local/cuda/lib64/
 
sudo rm -rf libcudnn.so libcudnn.so.5  #删除原有的链接,不一定是so.7,取决于你之前安装的版本
 
sudo ln -s libcudnn.so.7.3.10 libcudnn.so.7
 
sudo ln -s libcudnn.so.7 libcudnn.so
 
sudo ldconfig

查看版本 安装成功

cuda 版本 
nvcc -V
cat /usr/local/cuda/version.txt

cudnn 版本 
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

新开终端,输入nvcc -V 还是cuda9.1,import tensorflow报错

输入指令:

source ~/.zshrc 
nvcc -V
-----------------------
cuda 9.0
import tensorflow 成功
-----------------------

 

 

6.安装opencv

pip install opencv-python  #python2
#如果安装失败,改成pip2 install opencv-python
pip3 install opencv-python  #python3

如果报错:

Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',)': /simple/setuptools/
......

可能是因为数据源的问题,下载太慢了,可以更换下载源,设置-软件与更新-下载自-其他站点-选择最佳服务器

或者离线安装,先把包下载下来,再安装pip install xxx.whl

 

 运行tensorflow-yolov3  tensorflow-gpu 1.11.0  python2.7 cuda9.0  出现的bug

python image_demo.py #报错
=====================================================
cv2.error: ....  inv_scale_x>0 in function 'resize'
=====================================================

这里错误比较明显,是inv_scale_x<=0了,注意:python2.7中两个整数相除得到的还是整数,而在python3中两个整数相除默认得到的是浮点数。

这里在core/util.py中,

image_preprocess()函数中,修改为scale = min(float(iw)/w,float(ih)/h)

postprocess_boxes()函数中,修改为resize_ratio = min (float(input_size)/org_w, float(input_size)/org_h);

你可能感兴趣的:(环境配置)