写在开头:
本人第一次学习深度学习,网上找了很多关于安装MNIST的步骤,感觉有些地方操作起来有错误,并且不适合普通的入门新手,特此,在成功安装运行成功之后,写本篇博文,记录且帮助其他想学习的新手。
撒花
在官网下载Anaconda,安装。anaconda官网
根据电脑位数下载合适的版本,本人电脑的64位,下载黄色注释的版本。
1)打开anaconda prompt,输入:conda upgrade --all
升级anaconda包含的软件。(也可以不升级)
2)创建一个虚拟环境:conda create -n tensorflow python=3.6.6
可以先在cmd里输入python查询python版本。
3)激活tensorflow虚拟环境:conda activate tensorflow
4)下载tensorflow :pip install tensorflow
5)关闭环境:conda deactivate tensorflow
图示:
1)在anaconda prompt里激活tensorflow环境:conda activate tensorflow
2)查询在该环境下安装的所有软件:conda list
图示:可以看到本人安装的tensorflow 1.10.0版本,即安装成功。
直接下载anaconda,会自动安装spyder,但是是安装在默认环境下,我们运行tensorflow环境需要在该环境下下载spyder,才能编译MNIST,正确import tensorflow
1)在tensorflow环境下下载spyder。
打开anaconda navigator(下载anaconda自带,无需自己下载),选择左侧home,在中间application on,选项选择tensorflow,此时我们切换至之前创建的tensorflow环境,然后可以看下方的软件找到spyder,点击install,即可在tensorflow环境下安装spyder(tensorflow),完成launch即可打开。
2)下载MNIST数据集。
点击网站下载:数据集下载。选择下面三个包下载至自己的电脑,新建文件存放,文件名为:MNIST_data(也可以取其他的,注意在mnist_softmax文件(下文会给出)中替换import的文件名字即可。
不要解压文件!
3)复制mnist_softmax文件并运行MNIST
将一下代码复制到spyder(tensorflow)中
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data", one_hot=True)
#读取mnist文件
#设定参数
x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784,10]))
b = tf.Variable(tf.zeros([10]))
#建立模型
y = tf.nn.softmax(tf.matmul(x,W) + b)
#实际值
y_ = tf.placeholder("float", [None,10])
#定义cost
cross_entropy = -tf.reduce_sum(y_*tf.log(y))
#设定训练算法
train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)
#初始化变量
init = tf.global_variables_initializer()
#启动模型
sess = tf.Session()
sess.run(init)
#施行训练
for i in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})
#建立评估模型
correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
#布尔值转换成浮点数,然后取平均值
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
#计算所学习到的模型在测试数据集上面的正确率
print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))
运行即可
图示:
写在最后:
欢迎各位伙伴批评指正,一起进步~