網頁

2019年4月12日 星期五

Dealing with TensorFlow incompatibility with Python 3.7 for Mac OSX

1. 安裝anaconda
最新版本已經更新到Python 3.7

2. TensorFlow目前(截至2019年1月)不支持Python 3.7。 所以你必須執行以下命令:
$ conda create --name tensorflow python=3.6

在詢問"Proceed ([y]/n)?"之前如果有出現
==> WARNING: A newer version of conda exists. <==
  current version: 4.6.8
  latest version: 4.6.11

請先選n,然後重新執行
$ conda update -n base -c defaults conda
$ conda create --name tensorflow python=3.6

3. 要進入tensorflow環境,必須使用以下命令
$ source activate tensorflow

如果安裝完要退出的話
$ deactivate

4. 安裝Jupyter
$ conda install jupyter

否則在執行後面python -m ipykernel install --user --name tensorflow --display-name "Python 3.6 (tensorflow)"會出現
/anaconda3/envs/tensorflow/bin/python: No module named ipykernel

5. 最後執行以後命令
$ pip install --upgrade sklearn
$ pip install --upgrade pandas
$ pip install --upgrade pandas-datareader
$ pip install --upgrade matplotlib
$ pip install --upgrade pillow
$ pip install --upgrade requests
$ pip install --upgrade h5py
$ pip install --upgrade pyyaml
$ pip install --upgrade psutil
$ pip install --upgrade tensorflow==1.12.0
$ pip install --upgrade keras==2.2.4

6. 將新的tensorflow環境鏈接到Jupyter,以便您可以選擇它作為Kernal。 始終確保從3.6內核運行Jupyter筆記本。
$ python -m ipykernel install --user --name tensorflow --display-name "Python 3.6 (tensorflow)"

7. 檢查版本
test1.py


$ python3 test1.py


8. 確認效能
test2.py


$ python3 test2.py


雖然有出現
2019-04-12 10:31:28.259411: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA

如果覺得礙眼,解決方式是在code裡加入兩行
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

或者在~/.zshrc
export TF_CPP_MIN_LOG_LEVEL=2

參考
https://stackoverflow.com/questions/47068709/your-cpu-supports-instructions-that-this-tensorflow-binary-was-not-compiled-to-u
https://epsilonx.cn/blog/init-tensorflow-in-macOS/

9. 測試
https://github.com/keras-team/keras/blob/master/examples/mnist_mlp.py

10. 結論
以上的安裝是為了讓tensorflow搭建在Python 3.6的環境




參考
https://github.com/jeffheaton/t81_558_deep_learning/blob/master/t81_558_class01_intro_python.ipynb

沒有留言:

張貼留言