赞
踩
笔者之前在学习TensorFlow,也在自己的笔记本上完成了安装,在PyCharm中进行学习。但是最近为了使用python的科学计算环境,我把之前的环境卸载了,并用Anaconda重新安装了TensorFlow,由于自己的笔记本已经很旧了,显卡不行,所以这里介绍一下cpu版本的安装方法和自己遇到的一些坑,截图甚多。
这里直接上干货:
1.安装Anaconda
选择相应的Anaconda进行安装,下载地址点击这里,下载对应系统版本的Anaconda,官网现在的版本是Anaconda 4.3.1 for python3.6。笔者安装的是4.3.0版本的。
就和安装普通的软件一样,全部选择默认即可,注意勾选将python3.6添加进环境变量。
这样Anaconda就安装好了,我们可以通过下面的命令来查看Anaconda已经安装了哪些包。
运行 开始菜单->Anaconda3—>Anaconda Prompt :
conda list1
可以看到已经安装了numpy、sympy等常用的包。
2.安装Tensorflow
TensorFlow目前在Windows下只支持Python 3.5版本。
(1)打开Anaconda Prompt,输入清华仓库镜像,这样更新会快一些:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes12
(2)同样在Anaconda Prompt中利用Anaconda创建一个python3.5的环境,环境名称为tensorflow ,输入下面命令:
conda create -n tensorflow python=3.51
运行 开始菜单->Anaconda3—>Anaconda Navigator,点击左侧的Environments,可以看到tensorflow的环境已经创建好了。
(3)在Anaconda Prompt中启动tensorflow环境:
activate tensorflow1
注:当不使用tensorflow时,关闭tensorflow环境,命令为:deactivate
(4)安装cpu版本的TensorFlow
pip install --upgrade --ignore-installed tensorflow1
注:这里没有介绍GPU版本的安装方法,GPU版本需要安装cuda8+cudnn5,如需要的请搜索其他博文。
这样tensorflow cpu版本就安装好了。
(5)测试tensorflow
在Anaconda Prompt中启动tensorflow环境,并进入python环境。
测试代码如下:
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))1234
运行结果:
3.其他问题
或许到这里我们并没有满足,我们在Anaconda自带的ipython 和Spyder中import tensorflow的时候一直失败,提示 No module named ‘tensorflow’,如下图,那是因为我们没有在tensorflow的环境下打开它们。
为了能在ipython 和Spyder中使用tensorflow,我们需要在tensorflow的环境中安装这两个的插件。
打开Anaconda Navigator,选择Not installed,找到 ipython和Spyder并安装,笔者这里已经安装好,所以在这个页面没有显示。
切换到installed,可以看到两个都已经安装好,其实可以按照自己的需要安装。下图显示已经安装好的Spyder:
安装好插件后,我们需要测试一下。
在Anaconda Prompt中启动tensorflow环境,并运行ipython,import tensorflow发现成功:
同样,在Anaconda Prompt中启动tensorflow环境,并运行Spyder,等一会儿后会启动Spyder IDE,import tensorflow 同样成功:
注意:一定要启动tensorflow 环境下的Spyder才可以import tensorflow,不要去开始菜单运行Spyder,在那里是无法运行的,如:
注意:
运行:
- import tensorflow as tf
- sess=tf.Session(config=tf.ConfigProto(log_device_placement=True))
会出现
AttributeError: module 'tensorflow' has no attribute 'Session'
原因:
因为是tensorflow 2.0版本
怎么解决:
此时须用
tf.compat.v1.Session()
替代
tf.Session()`
上述代码须为:
- import tensorflow as tf
- sess=tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(log_device_placement=True))
两个版本tensorflow函数对照:
参考链接:
https://docs.google.com/spreadsheets/d/1FLFJLzg7WNP6JHODX5q8BDgptKafq_slHpnHVbJIteQ/edit#gid=0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。