win10下机器学习TensorFlow搭建
之前在网上查找了很多资料,试了无数次,尤其是Anaconda,反复安装删除了无数次。昨天忙活了一天,安装失败,今天终于成功。
特此记录。安装好后,在pycharm IDE下也可以顺利运行了。下面的是在自己电脑上的测试:
主要是参考下面这篇文章,十分感谢作者:
版权声明:本文为博主原创文章,未经博主允许不得转载。
主要步骤:首先安装python和pip,再通过pip安装tensorflow,如果是安装CPU版本的非常简单,如果安装GPU版本的话,还需要再安装CUDA和CuDNN。
另外,自己在按照此篇博客安装之前,已经装好了anaconda,应该也是需要的,不太确定。
1.安装python与pip,由于我之前的python是python 3.6,然而python是支持python3.5的,一开始在某些无良博客看的教程都没有提到这一点,后来看了官方教程才明白必须要是64位python 3.5(注意不是32位!)。安装python的过程不难,由于现在版本的pip是可以和python一起安装的,因此在安装python的时候一定要注意把pip那一项勾选上,(python3.5安装时候,用的是自定义安装,那里自动勾划了pip选项,可以看到)首先在网上找到安装包(我是在CSDN上下载的),下载之后自己选一个路径安装即可,我的路径是D:\python3.5.2,之后python就安装成功了,如图所示,pip就安装在Scripts中。
但是只是安装好还不够,因为python和pip是依赖于环境变量来运行的,所谓的环境变量是什么意思呢?我的理解是,你使用python的时候,在命令行里输入python
+
要解释的程序的名字,但是系统是不知道你这一句python是什么意思的,同样的,你输入pip命令安装一些包的时候,系统也没办法识别pip是什么,所以就需要提前告诉系统一声,让它在某几个路径里去找,使用过gcc或者g++的朋友对这个一定很熟悉,因为gcc和g++也需要配置环境变量。
2.安装TensorFlow
有两种安装方式,一种是在CPU上安装,另一种是在GPU上安装,因为我的显卡是NVIDIA的,而且采用GPU会更快一些,因此我采用的是在GPU上安装,需要先安装两个东西:
1、CUDA:https://developer.nvidia.com/cuda-downloads
2、CuDNN:https://developer.nvidia.com/cudnn
首先下载好CUDA安装之后,记得把CUDA的路径放到环境变量里面,安装CuDNN的时候,解压之后发现有include、bin和lib三个文件,把内容放到CUDA对应的文件里面就可以了!
安装好之后,GPU的安装和CPU的安装就基本一样了,在命令行中输入命令即可:
安装CPU版本:
pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-0.12.0rc0-cp35-cp35m-win_amd64.whl
- 1
安装GPU版本:
pip install --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-0.12.0rc0-cp35-cp35m-win_amd64.whl
- 1
不过这看似简单的一步浪费了我好多时间,无论我选择在CPU上安装还是在GPU上安装,都会提示is not a supported wheel on this platform
这个时候我们如果打开命令行,先输入python打开python,再输入import
pip加载pip模块,输入print(pip.pep425tags.get_supported())就会发现,你的pip是不支持3.5版本的,也就是说,pip没有办法识别你的whl格式的文件。这个时候输入一条命令pip
install wheel然后再输入之前的命令就会发现已经安装好啦!
接下来我对TensorFlow官方文档的程序进行了测试,首先我测试了一下比较简单的乘法程序,主要是将两个矩阵相乘:
import tensorflow as tf
matrix1=tf.constant([[5,6]])
matrix2=tf.constant([[1],[1]])
product=tf.matmul(matrix2,matrix1)
sess=tf.Session()
result=sess.run(product)
print(result)
- 1
结果如图
接下来我又测试了TensorFlow文档开篇提供的程序:
import tensorflow as tf
import numpy as np
x_data = np.float32(np.random.rand(2, 100))
y_data = np.dot([0.100, 0.200], x_data) + 0.300
b = tf.Variable(tf.zeros([1]))
W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
y = tf.matmul(W, x_data) + b
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
for step in range(0, 201):
sess.run(train)
if step % 20 == 0:
print (step, sess.run(W), sess.run(b))
- 1
但是出现错误:
CUDA version is insufficient for CUDA runtime version
出现了这个之后还出现了一大篇Failed,看来是CUDA的驱动版本不够高导致的,于是我到了NVIDIA的官网上按照我的电脑版本更新了驱动(我的是windows10_64位)。
再运行,结果如下:
这说明我们的程序成功运行了,TensorFlow安装成功!
以上是我在安装的时候出现的问题,如果还有其它的情况,欢迎大家在评论区留言!