閱讀569 返回首頁    go 阿裏雲 go 技術社區[雲棲]


TensorFlow教程之新手入門 1.1 介紹

本文檔為TensorFlow參考文檔,本轉載已得到TensorFlow中文社區授權。


簡介

本章的目的是讓你了解和運行 TensorFlow!

在開始之前, 讓我們先看一段使用 Python API 撰寫的 TensorFlow 示例代碼, 讓你對將要學習的內容有初步的印象.

這段很短的 Python 程序生成了一些三維數據, 然後用一個平麵擬合它.

import tensorflow as tf
import numpy as np

# 使用 NumPy 生成假數據(phony data), 總共 100 個點.
x_data = np.float32(np.random.rand(2, 100)) # 隨機輸入
y_data = np.dot([0.100, 0.200], x_data) + 0.300

# 構造一個線性模型
# 
b = tf.Variable(tf.zeros([1]))
W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
y = tf.matmul(W, x_data) + b

# 最小化方差
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)

# 初始化變量
init = tf.initialize_all_variables()

# 啟動圖 (graph)
sess = tf.Session()
sess.run(init)

# 擬合平麵
for step in xrange(0, 201):
    sess.run(train)
    if step % 20 == 0:
        print step, sess.run(W), sess.run(b)

# 得到最佳擬合結果 W: [[0.100  0.200]], b: [0.300]

為了進一步激發你的學習欲望, 我們想讓你先看一下 TensorFlow 是如何解決一個經典的機器 學習問題的. 在神經網絡領域, 最為經典的問題莫過於 MNIST 手寫數字分類問題. 我們準備了 兩篇不同的教程, 分別麵向機器學習領域的初學者和專家. 如果你已經使用其它軟件訓練過許多 MNIST 模型, 請閱讀高級教程 (紅色藥丸鏈接). 如果你以前從未聽說過 MNIST, 請閱讀初級教程 (藍色藥丸鏈接). 如果你的水平介於這兩類人之間, 我們建議你先快速瀏覽初級教程, 然後再閱讀高級教程.

麵向機器學習初學者的 MNIST 初級教程麵向機器學習專家的 MNIST 高級教程

圖片由 CC BY-SA 4.0 授權; 原作者 W. Carter

如果你已經下定決心, 準備學習和安裝 TensorFlow, 你可以略過這些文字, 直接閱讀 後麵的章節. 不用擔心, 你仍然會看到 MNIST -- 在闡述 TensorFlow 的特性時, 我們還會使用 MNIST 作為一個樣例.

最後更新:2017-08-22 15:07:19

  上一篇:go  道哥親筆:談談為什麼要做彈性安全網絡
  下一篇:go  基層醫療機構是否需要 AI 、是否會用 AI 、能否用得起 AI ?