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包,所以要选择好对应的版本。

pycharm怎么弄cnn pycharm怎么弄tensorflow_Windows

下载anaconda可以直接到清华大学开源软件镜像站下载,提供了很多资源,那么网址是:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

选择电脑对应的版本,我选择的是Anaconda3-5.2.0-Windows-x86_64.exe这个版本,这个版本在安装时会自动安装python3.6,省去了很多不必要的麻烦,安装时勾选下方的两个选项。

下载好之后,点击安装包进行安装,直接点击下一步直到安装成功。安装完成之后,我们需要打开anaconda的命令窗口,输入命令可以控制anaconda和python,那么它叫anaconda prompt,可以在所有程序中找到他,如下图所示:

pycharm怎么弄cnn pycharm怎么弄tensorflow_Windows_02

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”,如图所示:

pycharm怎么弄cnn pycharm怎么弄tensorflow_Windows_03

之后重新打开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试一下就可以了,测试成功如下图

pycharm怎么弄cnn pycharm怎么弄tensorflow_tensorflow_04

安装完tensorflow,进入python环境导入tensorflow时,遇到测试失败,其中错误有三个:

错误1:出现ImportError: Could not find 'msvcp140.dll'. TensorFlow requires that this DLL be installed in a

解决办法可以参考这篇博客,就是按照错误提示的网址到网上下载dll

错误2:出现 ImportError: DLL load failed: 动态链接库(DLL)初始化例程失败

解决办法可以参考这篇博客,使用旧版的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)]) 
解决办法可以参考这篇博客

错误4:ReadTimeoutError:.........Read timed out.

解决方法可以参考博客

以上错误是我在安装时遇到的所有问题,后续欢迎补充

之后可以使用下面的测试代码:

#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新建文件

pycharm怎么弄cnn pycharm怎么弄tensorflow_tensorflow_05

如果不用tensorflow,那么直接在anaconda环境下输入jupyter notebook即可。

pycharm怎么弄cnn pycharm怎么弄tensorflow_pycharm怎么弄cnn_06

4.pycharm中配置conda环境,并安装使用tensorflow

点击settings进入到设置界面,然后再project interpreter中右边点击设置按钮,如下图圈出来的

pycharm怎么弄cnn pycharm怎么弄tensorflow_pycharm怎么弄cnn_07

然后选择add,然后选择conda environment,在右边选择相应的python版本号

pycharm怎么弄cnn pycharm怎么弄tensorflow_python_08

然后点击pip选择右边的+号

pycharm怎么弄cnn pycharm怎么弄tensorflow_python_09

在搜索栏中输入tensorflow,然后安装即可,那么安装成功之后就会看到,如下界面:

pycharm怎么弄cnn pycharm怎么弄tensorflow_tensorflow_10

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))

那么运行结果如下图:

pycharm怎么弄cnn pycharm怎么弄tensorflow_tensorflow_11

如果中间出现了警告,没关系,那是告诉你如果使用源码编译可以进行cpu加速,但是我们不用了

那么取消警告就可以在程序开头加入下面两行代码即可,

import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'