可能是最簡單的方式體驗下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/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容