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('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fef2a8f8320>: 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);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章