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

首先,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/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容