裝一個 Tensorflow 少了半條命

1. Tensorflow 的版本需要 Cuda + Cudnn + python 版本的配合,詳見官網
(Lab 的 Cuda 版本=9.0.176, cudnn = 7.3.1)
目前 Anaconda 內建的 python 是 3.7,所以要另外建一個虛擬環境裝 Python 3.6,可能就是 Python 版本的問題讓我的 Spyder 一直裝不起來,後來另外用 Pip 才把 Spyder 裝好。

2. 建一個新的虛擬環境,使用 Python 3.6
conda create --name myenv python=3.6

3. Tensorflow 官方建議的安裝方式有點麻煩,要裝 Bazel + MSYS + VC + VC build tools,我跟到一半因為找不到VC2017的 Build tools,就放棄了。但我想前面幾個指令還是有幫助的:

進到虛擬環境裡面,安裝下面的 packages
pip install six numpy wheel
pip install keras_applications==1.0.6 --no-deps
pip install keras_preprocessing==1.0.5 --no-deps

最後那個 keras_preprocessing 好像會出現錯誤訊息,要先安裝錯誤訊息裡缺的套件,再裝一次keras_preprocessing

4. 安裝 tensorflow (我是用 1.10 版,只因為筆電也是1.10版,比較安心)
pip install tensorflow==1.10
(我只是很順手的用 pip 裝了, 沒想到要用 conda 裝)

5. 如果有缺什麼就再裝(應該是沒有),直到安裝 tensorflow 時沒有錯誤訊息

6. 把 tensorflow 裝好後,可以用這個網頁的方式測試

其中有一個是可以看顯卡的信息,建議在 promp 裡用才看得到
import tensorflow as tf
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print(sess.run(c))




7. 安裝 keras
pip install keras

8. 測試 keras
進到 python 裡, 用 import keras,如果出現
using Tensorflow backend
表示裝完了

9. 如果不確定,可以跑個手寫辨識 MNIST
http://puremonkey2010.blogspot.com/2017/07/toolkit-keras-mnist-cnn.html
如果沒有在5分鐘內跑完,可能用到 CPU 了

============================
Spyder 的問題
建了新環境用 Python 3.6 後,不管是用 Anaconda 的 Navigator 或 conda 建議的指令(conda install -c anaconda spyder 
都無法安裝成功

錯誤訊息是缺少某個A套件,裝完A套件又缺B套件,再缺C套件,ABC都裝完後還是會缺一個不是套件的東西,所以就沒鮿了。而且還在過程中把環境弄得很奇怪(我其中一個環境的Python 被改成 2.7 版)。

後來誤打誤撞,發現用 pip 重裝一次就可以了

目前確定可以成功的步驟是:
1. conda install spyder
2. pip install spyder
(如果沒先用conda只用 pip 裝,裝好會找不到路徑可以launch....'spyder' 不是內部或外部命令、可執行的程式或批次檔。)
3. spyder (在 promp裡launch 成功一次後, 就可以直接在Anaconda Navigator 中打開 spyder)





留言

熱門文章