安裝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(和上面的一致)的驅動
安裝命令:bash ./NVIDIA-Linux-x86_64-410.104.run
,然後一路確定,最後使用watch nvidia-smi
檢視結果:
測試及其他
測試可用:
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既可以有提示,同時也不需要在程式執行的時候修改程式碼了。