Windows下安装tensorflow花费了我很长的时间,刚开始不知道很晕,一直不清楚该怎么弄,安装完anaconda之后,就在pycharm中选择virtual environment的python环境,然后安装tensorflow,安装完之后发现运行时错误很多,也没有解决,然后才发现可以使用conda environment,这个就和前面做的工作联系在了一起,这样就可以成功的使用tensorflow了。
现在来记录下我遭遇过的坑
1.安装Anaconda3
看大家都是先安装anaconda,再通过anaconda安装tensorflow。anaconda是一个开源的python发行版本,里面包含了很多包,比如tensorflow,c,numpy等。
anaconda对python的版本是有要求的,具体要求请看下图:
这个图的意思是如果需要python2那么就安装anaconda2,如果需要python3就安装anaconda3。
在安装anaconda的时候,会默认下载python包,所以要选择好对应的版本。
下载anaconda可以直接到清华大学开源软件镜像站下载,提供了很多资源,那么网址是:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
选择电脑对应的版本,我选择的是Anaconda3-5.2.0-Windows-x86_64.exe这个版本,这个版本在安装时会自动安装python3.6,省去了很多不必要的麻烦,安装时勾选下方的两个选项。
下载好之后,点击安装包进行安装,直接点击下一步直到安装成功。安装完成之后,我们需要打开anaconda的命令窗口,输入命令可以控制anaconda和python,那么它叫anaconda prompt,可以在所有程序中找到他,如下图所示:
2.在Windows上安装tensorflow(cpu版本)
那么我们需要在刚刚打开的anaconda prompt命令窗口
1.检测anaconda环境是否安装成功:
conda --version
2.检测目前安装了哪些环境变量:
conda info --envs
3.安装python版本(我这里是安装的3.6的版本,这个根据需求来吧):
conda create --name tensorflow python=3.6
如果网络比较慢,可以改为清华镜像,命令如下;
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
4.激活tensflow的环境:
activate tensorflow
5.安装tensorflow,cpu版本。在安装过程中遇到需要升级pip命令,即按照要求升级即可
pip install --ignore-installed --upgrade tensorflow
如果输入activate tensorflow时报错'chcp' 不是内部或外部命令,也不是可运行的程序,那么添加两个环境变量即可解决:
将Anaconda的安装地址添加到环境变量“PATH”,如果没有可以新建一个,我的安装地址是“F:\Anaconda3”,这个因人而异
将“C:\Windows\system32”添加到同一环境变量“PATH”,如图所示:
之后重新打开anaconda prompt,输入activate tensorflow进行测试,
然后输入python进入python环境下,输入import tensorflow测试,
这时可能会报错,但是输入命令conda list查看,发现已经安装了tensorflow包,那么解决办法是:
虽然有tensorflow包,但是没有tensorflow numpy等包,这个似乎就是import各种库无效的原因
接下来,在tensorflow环境下输入conda install tensorflow,安装一下即可,再conda list,tensorflow numpy等库已经安装存在
现在进入到python中再import试一下就可以了,测试成功如下图
安装完tensorflow,进入python环境导入tensorflow时,遇到测试失败,其中错误有三个:
错误1:出现ImportError: Could not find 'msvcp140.dll'. TensorFlow requires that this DLL be installed in a
解决办法可以参考这篇博客https://blog.csdn.net/qq_41185868/article/details/90181684,就是按照错误提示的网址到网上下载dll
错误2:出现 ImportError: DLL load failed: 动态链接库(DLL)初始化例程失败
解决办法可以参考这篇博客https://blog.csdn.net/lchzh1994/article/details/81223726,使用旧版的tensorflow
错误3:出现FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_qint8 = np.dtype([("qint8", np.int8, 1)])
解决办法可以参考这篇博客https://blog.csdn.net/mao123_4zxc/article/details/99717601
错误4:ReadTimeoutError:.........Read timed out.
解决方法可以参考博客https://blog.csdn.net/beta_safe/article/details/81514442
以上错误是我在安装时遇到的所有问题,后续欢迎补充
之后可以使用下面的测试代码:
#TensorFlow使用图(Graph)来表示计算任务;并使用会话(Session)来执行图,通过Session.close()来关闭会话(这是一种显式关闭会话的方式)。会话方式有显式和隐式会话之分。
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!') #初始化一个TensorFlow的常量
sess = tf.Session() #启动一个会话
print(sess.run(hello))
那么这个是在Windows上安装tensorflow,可以直接打开anaconda prompt可以直接使用tensorflow,使用步骤和上面一样,每次使用时要先激活tensorflow,再进入python环境测试tensorflow,这个和pycharm没有关系
3.使用jupyter notebook
如果要使用jupyter,就要在anaconda上使用,因为提供了很多库可以使用,首先要先activate tensorflow
然后在tensorflow环境下安装ipython,输入命令conda install ipython
然后再安装jupyter,输入命令conda install jupyter
然后再输入jupyter notebook,就可以使用了,在浏览器弹出的页面中新建python3文件
当然,还会使用到其他的库,因此可以在anaconda环境中安装sklearn,输入命令conda install scikit-learn
同样的方法安装别的库,比如conda install numpy,然后就可以使用了
总结一下,如果要使用tensorflow的话,那么就先activate tensorflow,然后输入jupyter notebook,选择python3新建文件
如果不用tensorflow,那么直接在anaconda环境下输入jupyter notebook即可。
4.pycharm中配置conda环境,并安装使用tensorflow
点击settings进入到设置界面,然后再project interpreter中右边点击设置按钮,如下图圈出来的
然后选择add,然后选择conda environment,在右边选择相应的python版本号
然后点击pip选择右边的+号
在搜索栏中输入tensorflow,然后安装即可,那么安装成功之后就会看到,如下界面:
5.输入下面的代码进行测试:
import tensorflow as tf
#实现一个加法运算
a = tf.constant(5.0)
b = tf.constant(6.0)
sum1 = tf.add(a,b)
v=tf.__version__
print(v)
with tf.Session() as sess:
print(sess.run(sum1))
那么运行结果如下图:
如果中间出现了警告,没关系,那是告诉你如果使用源码编译可以进行cpu加速,但是我们不用了
那么取消警告就可以在程序开头加入下面两行代码即可,
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'