转载https://blog.youkuaiyun.com/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