您的位置:首页 > 其它

安装tensorflow,运行MNIST示例

2017-10-30 17:03 85 查看

1 安装

在cmd中输入:

pip install tensorflow




显示安装成功,直接在ipython窗口测试:

import tensorflow as tf


没有报错,说明安装引用成功。

注:这个直接用pip安装方便,官网给出的激活方法太麻烦,没看懂[]http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/os_setup.html]

2 MINST练习

参考文章:MNIST机器学习入门

但是原封不动复制代码运行并不是,经过一番摸索,修改后的整体代码如下:

import tensorflow.examples.tutorials.mnist.input_data as input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)

x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784,10]))
b = tf.Variable(tf.zeros([10])+0.1)
y = tf.nn.softmax(tf.matmul(x,W) + b)

y_ = tf.placeholder("float", [None,10])

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


运行结果:0.9152

以上总共修改了四处,我在运行过程也遇到不少坑,总结如下:

1、数据下载引用

一开始是提示对象不存在,逐步往上找,竟然在复制的过程中,突然双引号变成了中文的,格式错误。自己大意的一点是,一直没有意识到是引号的问题,以为是引入MNIST_data/路径不对或者我没有下载好数据集,所以有去专门下载了数据,然后尝试放了几个目录下。。。当然都不对咯,总是反应过来,我擦竟然是引号捣的鬼。







2、全局变量版本改变问题

initialize_all_variables (from tensorflow.python.ops.variables) is deprecated and will be removed after 2017-03-02.
Instructions for updating:
Use `tf.global_variables_initializer` instead.


直接用tf.global_variables_initializer替代即可。

3、初始化问题

在运行for循环那段,突然又报错了,大致看懂了是占位符的问题,意思是我要先给模型一个非0初始值,不然反向传播时梯度无法下降。所以,可以将b值加上一个非零小数:b = tf.Variable(tf.zeros([10])+0.1)



4、最后还有一个弱智的坑,print打印要用函数的括号。



小白入门到处是坑,记录一下,不过这也加深了对softmax和tensorflow的理解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息