Tensorflow、Keras傻瓜式安裝教學

LUFOR129
9 min readMay 1, 2020

最近做了一份安裝Keras 的PPT。想說我已經五個月沒有寫文章了乾脆拿來寫一篇教學好了。這是給Windows的教學,不過Linux基本通用

一、安裝Anaconda

Anaconda是目前最受歡迎的python平台之一,使用conda來管理python虛擬環境使得python各類package相容問題變得很簡單迅速。

到Anaconda網站下載anaconda。https://www.anaconda.com/products/individual

最近Anaconda官網大改,反正拉到最底下就能找到了

安裝時有一個add enviroment path默認沒有勾,記得勾起來。

二、建立conda 環境

打開Anaconda prompt。

在裡面輸入

conda create –n NLP_course python=3.6# NLP_course 是你的環境名稱
# python=X.X 是指定環境python版本,一般來說3.6 3.7

conda 環境相關指令:

# 進入環境
conda activate NLP_course
# 如果忘記名稱
conda env list
# 退出環境
conda deactivate
# 刪除環境
conda env remove --name <myenv>
進入環境後可以發現前面環境名稱變了

[補充] For Linux

linux步驟差不多,wget 官網下載sh檔並執行。記得他會問是否要加入path,記得按y。成功後你的linux前面會出現一個(base)。

如果沒有base代表沒有成功加入環境,輸入conda會出現conda not found。這是因為bash無法辨識conda指令、找不要conda位置。
在家目錄底下輸入

vim .bashrc 

拉到最底下寫下export PATH (下圖)並保存,這樣應該就可以使用conda了

有了conda 後就可以輕鬆安裝lib了。

安裝 EX: 
conda install -c conda-forge opencv
conda install -c conda-forge matplotlib
移除 EX:
conda uninstall opencv

接下來要幫jupyter notebook註冊我們剛剛建立好的python環境。

(在NLP_course環境中)
conda install jupyter
conda install ipykernel
# 使用ipykernel,NLP_course(我們剛剛建立的python環境)註冊成一個名字叫做"NLP python"的python環境。
python -m ipykernel install --user --name NLP_course --display-name "NLP python"
cd “dir where you want to go”# 打開jupyter notebook
jupyter notebook

打開jupyter notebook後就會發現new一個新的jupyter notebook時出現一個叫做NLP python的選項。

新開一個notebook可以確認一下notebook的python路徑。按shift+Enter執行。

如果開外部檔案,可以在上面的kernel更改notebook環境。

如果跳出no module name win32api,則安裝
conda install -c anaconda pywin32 即可。

[補充] jupyter 相關指令

# 查詢
jupyter kernelspec list
# 註冊
python -m ipykernel install --user --name 目標環境 --display-name "取名"
# 移除
jupyter kernelspec remove “目標環境”
(記得先jupyter kernelspec list查詢環境名稱)

二、安裝Tensorflow、Keras

更新

如果是要CUDA 11以上的人,不能直接無腦conda install ,可以參考這篇 (我實測可行):

以下為正題 CUDA 11以下

進入你的windows cmd。輸入nvida-smi。如果你出現'nvidia-smi 不是內部或外部命令、可執行的程式或批次檔。則進入C:\Program Files\NVIDIA Corporation\NVSMI,再輸入nvidia-smi即可。

記住你的Driver Version。

如果你還是找不到nvidia-smi,則去下載Geforce Experience https://www.nvidia.com/zh-tw/geforce/geforce-experience/

可以在驅動程式這裡看到自己的驅動程式版本或是去更新驅動。

[補充] ubuntu 18.04 顯卡驅動安裝

可以參考這一篇

https://medium.com/@maniac.tw/ubuntu-18-04-%E5%AE%89%E8%A3%9D-nvidia-driver-418-cuda-10-tensorflow-1-13-a4f1c71dd8e5

知道自己的顯卡驅動後進入: https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html\ 查看驅動與CUDA ToolKit相應版本。

接著進入Tensorflow官網查看CUDA與tensorflow相應版本。 https://www.tensorflow.org/install/source_windows

安裝相應tensorflow版本。

conda install tensorflow-gpu=X.X.X   #X.X.X為你的Tensorflow版本如果失敗用pip安裝,但是你得自行安裝cudatoolkit與cudnn
pip install tensorflow-gpu==X.X.X

在安裝的時候tensorflow-gpu會順便幫你把cudatoolkit、cudnn對應版本安裝上去。如果不確定CUDA有沒有安裝上去。在conda 輸入 conda list 就能看到安裝好的cudatoolkit、cudnn、tensorflow-gpu。

接下來測試一下tensorflow是否能正確使用GPU資源。在python內輸入

import tensorflow as tftf.__version__tf.test.is_gpu_available()# 或是版本比較低的tensorflow :
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

如果成功輸出True並有看到自己的GPU型號就代表成功了。

一些常見錯誤解決:

如果是 CUDA與cudnn版本錯誤或沒有自動安裝上去,你可以手動裝:

conda install cudnn=7.6.0
conda install cudatoolkit=10.0.130

不過還是要注意顯卡驅動與CUDA相應版本。

cudnn安裝版本資訊:

如果 import tensorflow 時numpy跳出警告,這是因為numpy版本太高了。

自己google自己的tensorflow版本與numpy的對應版本。

如 tensorflow 1.12.0 版本是 numpy 1.15.4

conda install numpy=1.15.4

接下來安裝Keras,如果你是Tensorflow 2.0以上,那就不用安裝Keras了。2.0版本已經把Keras整合進去了。如果你不是去https://docs.floydhub.com/guides/environments/ 查看相應版本。

例如 我就是 Keras 2.2.4版本。

conda install keras=2.2.4

安裝完成後import keras,如果出現Using Tensorflow backend代表成功了。

如果你是2.0版本以上,可以試試。

import tensorflow.keras as keras

--

--