1. 程式人生 > >Skflow 與 tensorflow 的版本匹配 問題

Skflow 與 tensorflow 的版本匹配 問題

Python 中的 skflow 包 是入門神經網路的非常簡便的方法,

可以利用 skflow 快速搭建自己的神經網路。

這裡面雖然只要求了tensorflow版本的最低限,而現在預設安裝的一般都是最新版的tensorflow。

這樣就有一個版本不同的問題,將導致很多錯誤,需要到原始碼中慢慢改,

但是並不知道要改的地方到底有多少,費時費力。

skflow 與 TensorFlow 的版本匹配問題,困擾了我兩天,今天終於解決了。

現在的TensorFlow 出到了版本 1.0+ ,裡面與很多命令相對於 0.8.0 版本有所改變,

而我這兩天的經驗告訴我,skflow 是支援 TensorFlow0.8.0 的。

如果你用的是 TensorFlow1.0+,又想用 skflow 的話,建議安裝 TensorFlow0.8.0,

使用Ubuntu16.04 安裝 Python2.7 版本的命令如下

sudo pip2 install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl

這樣會減少很多 module 'tensorflow' has no atrribute '***' 之類的問題。

更換TensorFlow 版本解決了這些問題之後,

執行skflow程式的過程中,還會有一個問題,‘using a 'tf.tensor' as a python 'bool' is not allowed’

意思是:tensorflow 的 tensor 不能作為 python 的 bool(布林變數)使用。

這是來自原始檔的問題,可以順著找到對應的原始檔,將 裡面的" if t:" 改為 “if t is not None :”

這樣 ‘t is not None’ 就是一個合格的 bool 值了。

這樣就可以方便使用skflow快速搭建神經網路了。