Linux Tensorflow2.0安裝

SunYanCN發表於2019-05-05

安裝Tensorflow2.0

conda update conda
pip install tf-nightly-gpu-2.0-preview
conda install https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/cudnn-7.3.1-cuda10.0_0.tar.bz2
conda install https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/cudatoolkit-10.0.130-0.tar.bz2
複製程式碼

說明:

  • 首先需要更新conda
  • 安裝的是tf2.0最新版
  • cudnn7.3.1和cudatoolkit-10.0版本,可以下載下來本地安裝
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/cudnn-7.3.1-cuda10.0_0.tar.bz2
conda install cudnn-7.3.1-cuda10.0_0.tar.bz2
複製程式碼

出現的錯誤及解決方案

舊庫問題

ERROR: Cannot uninstall 'wrapt'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
複製程式碼

舊版本依賴多,不能清晰的刪除,此時應該忽略舊版本升級,即如下 解決辦法:pip install tf-nightly-gpu-2.0-preview --ignore-installed wrapt

numpy版本問題

還有一個問題是說numpy存在舊版本,可以使用pip解除安裝numpy,直到提示沒有可解除安裝的為止,然後重新安裝numpy

驅動問題

tensorflow.python.framework.errors_impl.InternalError: cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version
複製程式碼

這是因為驅動版本不匹配導致的,可以到NVIDIA官網下載cuda10.0(和上面的一致)的驅動

Linux Tensorflow2.0安裝
安裝命令:bash ./NVIDIA-Linux-x86_64-410.104.run,然後一路確定,最後使用watch nvidia-smi檢視結果:

Linux Tensorflow2.0安裝

測試及其他

測試可用:

import tensorflow as tf
print(tf.__version__)
print(tf.keras.__version__)

if tf.test.is_gpu_available():
    device = "/gpu:0"
else:
    device = "/cpu:0"

print(device)
複製程式碼

減少tensorflow輸出資訊

TensorFlow的log資訊共有四個等級,按重要性遞增為:INFO(通知)<WARNING(警告)<ERROR(錯誤)<FATAL(致命的)

tf.compat.v1.logging.set_verbosity('ERROR')
複製程式碼

或者

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
複製程式碼

tensorflow2.0在pycharm下提示問題

tensorflow2.0 使用keras一般通過tensorflow.keras來使用,但是pycharm沒有提示,原因是因為實際的keras路徑放在tensorflow/python/keras,但是在程式中tensorflow有沒有python這個目錄,解決方法如下:

try:
    import tensorflow.python.keras as keras
except:
    import tensorflow.keras as keras
複製程式碼

這樣pycharm既可以有提示,同時也不需要在程式執行的時候修改程式碼了。

相關文章