我爱编程

可能是最简单的方式体验下TensorFlow系统

2016-11-20  本文已影响0人  北纬30度是夏天

首先,Tensorflow是什么?

大约300年前,人类发明了蒸汽机和农业设备,这些机器在物理层面上超越了人类的能力。 今天随着计算成本越来越低,机器学习要做的,是让机器从智力层面上,也要超越我们人类。Tensorflow是Google发布机器学习系统,于2015年11月9日宣布开源。

官方GitHub仓库:

https://github.com/tensorflow/tensorflow

如果有一天,你也像我一样对Tensorflow系统产生了好奇,作为一个完全不懂机器学习的人,不需要翻墙,不需要装linux系统,不需要明白机器学习的原理,在五分钟之内感受到机器学习的神奇,这就是这篇文章的目的。

第一步:打开下面的网址,感谢codinggame这个平台。

https://www.codingame.com/training/machine-learning/deep-learning-tensorflow

第二步:点击solve it,在右上对话框输入以下代码:

import random

import input_data

mnist = input_data.read_data_sets(raw_input(), raw_input(), raw_input())

import tensorflow as tf

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(tf.float32, [None, 10])

cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))

train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)

init = tf.initialize_all_variables()

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

result = sess.run(tf.argmax(y,1), feed_dict={x: mnist.validation.images})

print ' '.join(map(str, result))

输入代码

第三步:点击PLay ALL TESTCASES运行测试

运行结果

到这里,你就用TensorFlow解决了一个最简单的问题,手写数字识别。你可以看到左边GUESS是机器认为这个数字是多少,中间是手写数字图片,右边是数字真实值。识别率可以达到90%。就好比编程入门有Hello World,机器学习入门有手写数字识别(MNIST)。

下一步,如果要理解第二步输入的python语句是在干什么,就需要慢慢学习了,参照官方文档:

英文版:

https://www.tensorflow.org/

中文版

http://www.tensorfly.cn/

上一篇下一篇

猜你喜欢

热点阅读