轉載https://blog.csdn.net/sunxinyu/article/details/73255802
本文主要介紹如何在Windows下安裝TensorFlow(TensorFlow在2018年已經支持python3.6了,這裏安裝的是1.9.0)。當然建議還是在linux下安裝,在windows下開發不太方便。
相關背景
網上現有的方法都是教如何在windows下安裝虛擬機或者安裝docker來完成TensorFlow的安裝。
得益於google目前已經支持直接在windows直接安裝,本文記錄下在windows下通過Anaconda安裝TensorFlow的過程。
Why Anaconda
因爲Anaconda能夠提供強大的包管理功能及虛擬環境,爲TensorFlow開發提供便利。Anaconda利用工具/命令conda來進行package和environment的管理,並且已經包含了Python和相關的配套工具。
詳細步驟
1、安裝Anaconda
直接在官網下載並安裝Anaconda,這裏選擇64版本。
(https://www.continuum.io/downloads#windows)
注意,windows下安裝TensorFlow,要求python版本是3.6,64位。
安裝完Anaconda,也就安裝了python3.6等相關工具
2、安裝完成後,打開Anaconda Prompt,創建TensorFlow虛擬環境
在Prompt中輸入(開始菜單->Anaconda3—>Anaconda Prompt ):
>>> conda create -n tensorflow python=3.6
如果想升級python,激活後,conda install python=3.6(版本可替換)。
3、進入TensorFlow環境,輸入
>>> activate tensorflow
在命令行前,你就可以看到在輸入提示符前加了(tensorflow)
變成了這樣:
(tensorflow)...>>>
如果要退出該虛擬環境,輸入 deactive tensorflow 即可
如果要刪除該虛擬環境,conda remove --name tensorflow --all
4、安裝tensorflow
直接輸入:
>>> pip install tensorflow #可能有個別的文件安裝不上,但是沒有影響
5、安裝pycharm
下載位置https://www.jetbrains.com/pycharm/?fromMenu
設置file->setting->設置python.exe位置,需要定位到上面創建的TensorFlow環境下
例如D:\Users\****\Anaconda3\envs\tensorflow\python.exe
6、安裝keras
打開Anaconda Prompt,進入tensorflow環境,執行安裝keras命令
activate tensorflow
-
conda install -c conda-forge keras
7、測試tensorflow是否安裝成功
按照以下步驟驗證即可:
import tensorflow as tf
import keras
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
print(tf.__version__)
print(keras.__version__)
8.問題
(1)非法指令(吐核):默認安裝的tensorflow版本較新,機器不支持,安裝舊版本即可
(win10下python3.5)pip install -i https://pypi.douban.com/simple tensorflow==1.5.0
(版本可替換)
清華鏡像(centos下python2.7)pip install --upgrade https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/cpu/tensorflow-1.5.0rc0-cp27-none-linux_x86_64.whl
(2)環境變量沒有添加就不能執行conda,執行vi /etc/profile,添加
export PATH=~/anaconda2/bin:$PATH
然後執行source /etc/profile
(3)Fetching package metadata ......清華鏡像卡住
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes