Ubuntu18.04安装cuDNN和Tensorflow的正确姿势
文章目錄
- Ubuntu18.04安裝cuDNN和Tensorflow的正確姿勢
- 一、檢查NVIDIA驅動是否安裝成功
- 二、檢查CUDA是否安裝成功
- 三、安裝cuDNN
- 1. 確定版本
- 2. 下載安裝包
- 3. 解壓安裝
- 4. 安裝libcupti
- 四、安裝Tensorflow
- 1. 確定版本
- 2. 安裝pip
- 3. 安裝Tensorflow
- 4. 檢查是否正常運行
- 五、錯誤解決
- 1. so文件找不到的錯誤
- 2. 安裝Tensorflow時報錯`python setup.py egg_info`
- 3. error: invalid command 'bdist_wheel'
Ubuntu18.04安裝cuDNN和Tensorflow的正確姿勢
本文章主要講解 ubuntu 系統如何正確安裝 cuDNN 和 Tensorflow。
需要提前準備:
- 一個安裝好的Ubuntu 18.04
- NVIDIA 驅動已經安裝成功
- CUDA已經安裝成功
一、檢查NVIDIA驅動是否安裝成功
打開終端執行:
nvidia-smi Wed Jul 10 11:49:26 2019 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 430.26 Driver Version: 430.26 CUDA Version: 10.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce RTX 208... Off | 00000000:42:00.0 On | N/A | | 0% 42C P8 17W / 300W | 309MiB / 11011MiB | 0% Default | +-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1520 G /usr/lib/xorg/Xorg 18MiB | | 0 1626 G /usr/bin/gnome-shell 79MiB | | 0 7641 G /usr/lib/xorg/Xorg 95MiB | | 0 7772 G /usr/bin/gnome-shell 113MiB | +----------------------------------------------------------------------------如果出現上面的結果說明成功。如果沒有安裝請參考這篇文章Linux安裝NVIDIA顯卡驅動的正確姿勢或這篇文章Ubuntu 18.04安裝NVIDIA(英偉達) RTX2080Ti顯卡進行安裝。
二、檢查CUDA是否安裝成功
關于 CUDA 的安裝可以參考
Linux安裝CUDA的正確姿勢這篇文章。
打開終端執行:
nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2019 NVIDIA Corporation Built on Wed_Apr_24_19:10:27_PDT_2019 Cuda compilation tools, release 10.1, V10.1.168說明CUDA的命令已經安裝成功。接下來測試案例是否能夠正常運行。
#編譯并測試設備 deviceQuery: cd /usr/local/cuda-9.2/samples/1_Utilities/deviceQuery sudo make ./deviceQuery#編譯并測試帶寬 bandwidthTest: cd ../bandwidthTest sudo make ./bandwidthTest如果這兩個測試的最后結果都是Result = PASS,說明 CUDA 安裝成功啦。
三、安裝cuDNN
1. 確定版本
在安裝之前需要參考與Tensorflow的支持關系,可以通過這個網址查看。
因為目前本地安裝的環境如下:
- Ubuntu 18.04
- NVIDIA Driver 430.26
- CUDA 10.1
所以推薦安裝 cuDNN 7.6.0 版本,并配合 Tensorflow 1.13.0/1.14.0 都可以。
2. 下載安裝包
下載地址可以在NVIDIA官網下載。要下載 cuDNN Library for Linux這項。
3. 解壓安裝
打開終端執行:
tar -zxvf cudnn-10.1-linux-x64-v7.6.0.64.tgz sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda-10.1/lib64/ sudo cp cuda/include/cudnn.h /usr/local/cuda-10.1/include/# 為所有用戶設置讀取權限 sudo chmod a+r /usr/local/cuda-10.1/include/cudnn.h sudo chmod a+r /usr/local/cuda-10.1/lib64/libcudnn*4. 安裝libcupti
這是 NVIDIA CUDA 分析工具接口,此庫提供高級分析支持。
打開終端執行:
sudo apt-get install libcupti-dev四、安裝Tensorflow
1. 確定版本
由于上一步我們選擇安裝了 cnDNN 7.6.0 并且是配合 CUDA 10.1,所以從這個網址我們可以得知,可以安裝最高版本 Tensorflow 1.13.0。
2. 安裝pip
大家可以根據實際情況進行選擇是安裝 pip 還是 pip3,本文以 pip3 為例子。
sudo apt-get install python3-dev python3-pip此時 pip3 已經安裝成功。
3. 安裝Tensorflow
終端執行:
pip3 install https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.12.0-cp36-cp36m-linux_x86_64.whl關于下載的連接可以參考官方網址。
此步驟可能會很慢,如果有代理的可以提前設置好代理。
4. 檢查是否正常運行
以下兩個測試可以直接在終端內復制執行。
測試 1:
python3 -c "import tensorflow as tf; tf.enable_eager_execution(); print(tf.reduce_sum(tf.random_normal([1000, 1000])))"測試 2:
python3 -c "from tensorflow.python.client import device_lib; device_lib.list_local_devices()"如果以上兩條返回的內容中都沒有錯誤,代表Tensorflow安裝成功。
五、錯誤解決
1. so文件找不到的錯誤
錯誤例子如下:
2019-07-10 11:26:57.200271: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcublas.so.10.0'; dlerror: libcublas.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64::/usr/local/cuda-10.1/lib64:/usr/local/cuda-10.1/lib64:/usr/local/cuda-10.1/lib64{LD_LIBRARY_PATH:+:/usr/local/cuda-10.1/lib64{LD_LIBRARY_PATH:+:/usr/local/cuda-10.1/lib64}}:/usr/local/cuda-10.1/lib64:/usr/local/cuda-10.1/lib主要錯誤信息為Could not dlopen library 'libcublas.so.10.0'。造成這樣的原因是鏈接文件不對造成的。
這種問題很好解決,下面我羅列一些常發生這樣錯誤的so文件解決辦法,首先大家要確定報錯的so文件名稱是什么,例如上面報錯的是libcublas.so.10.0這個文件,那么就找到對應的libcublas庫文件,然后在/usr/local/cuda-10.1/lib64/目錄下創建一個bcublas.so.10.0連接文件即可。
一般缺失的so文件都在/usr/local/cuda-10.1/lib64/目錄下,有一些特別的在/usr/lib/x86_64-linux-gnu/目錄下。
- libcudartsudo ln -s /usr/local/cuda-10.1/lib64/libcudart.so.10.1 /usr/local/cuda-10.1/lib64/libcudart.so.10.0
- libcufftsudo ln -s /usr/local/cuda-10.1/lib64/libcufft.so.10.1.168 /usr/local/cuda-10.1/lib64/libcufft.so.10.0
- libcurandsudo ln -s /usr/local/cuda-10.1/lib64/libcurand.so.10.1.168 /usr/local/cuda-10.1/lib64/libcurand.so.10.0
- libcusolversudo ln -s /usr/local/cuda-10.1/lib64/libcusolver.so.10.1.168 /usr/local/cuda-10.1/lib64/libcusolver.so.10.0
- libcusparsesudo ln -s /usr/local/cuda-10.1/lib64/libcusparse.so.10.1.168 /usr/local/cuda-10.1/lib64/libcusparse.so.10.0
- libcublassudo ln -s /usr/lib/x86_64-linux-gnu/libcublas.so.10.2.0.168 /usr/local/cuda-10.1/lib64/libcublas.so.10.0 如果/usr/lib/x86_64-linux-gnu/目錄下沒有libcublas庫,可以在/usr/local/cuda10.1/targets/x86_64-linux/lib/查找libcublas庫。
2. 安裝Tensorflow時報錯python setup.py egg_info
如果錯誤如下:
Complete output from command python setup.py egg_info:Traceback (most recent call last):File "<string>", line 1, in <module>ModuleNotFoundError: No module named 'setuptools'---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-szai5bvj/absl-py/解決辦法為安裝setuptools
pip3 install --upgrade setuptools然后重新安裝Tensorfow。
3. error: invalid command ‘bdist_wheel’
如果遇到此錯誤:
pip3 install wheel然后重新安裝Tensorfow。
END
總結
以上是生活随笔為你收集整理的Ubuntu18.04安装cuDNN和Tensorflow的正确姿势的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: telnet 功能启用并测试端口是否正常
- 下一篇: Ubuntu16.04LTS修改开机动画