Google 開發者大會 (Google Developer Days,簡稱 GDD) 是展現 Google 最新開發者產品和平臺的全球盛會,旨在幫助你快速開發優質應用,發展和留住活躍用戶羣,充分利用各類工具得到更多收益。2018 Google 開發者大會於 9 月 20 日和 21 日於上海舉辦。👉Google 開發者大會 2018 掘金專題程序員
2018 年 9 月 20 日 Laurence Moroney(Google 開發者技術推廣工程師)與付弋真(Google Brain 的軟件工程師)帶來一場《TensorFlow 簡介:機器學習技術使用入門》的演講,本文將對演講作一個回顧。編程
TensorFlow 是一個採用數據流圖(data flow graphs),用於數值計算的開源軟件庫。節點(Nodes)在圖中表示數學操做,圖中的線(edges)則表示在節點間相互聯繫的多維數據數組,即張量(tensor)。它靈活的架構讓你能夠在多種平臺上展開計算,例如臺式計算機中的一個或多個CPU(或GPU),服務器,移動設備等等。TensorFlow 最初由Google大腦小組(隸屬於Google機器智能研究機構)的研究員和工程師們開發出來,用於機器學習和深度神經網絡方面的研究,但這個系統的通用性使其也可普遍用於其餘計算領域。數組
Laurence Moroney講述了他所經歷的變革:bash
在藉助手機速度傳感器的幫助下,咱們能夠獲取當前用戶的速度,而後再使用代碼進行判斷。服務器
一些簡單的運動場景能夠經過上述類型的方式進行檢測,假若像用戶在打高爾夫這種複雜的運動場景是沒法被檢測出來,而機器學習能夠幫咱們解決在這個問題。網絡
機器學習須要程序員提供答案和數據,給答案打上標籤,在數據的配合之下,機器會本身研究出規則。架構
機器學習就是在模仿人類,經過大量的數據和標籤,獲得規則,從而解決問題。讓機器像人同樣學習,這是機器學習所要走的第一步。機器學習
from tensorflow import keras
import numpy as np
model = keras.Sequential([keras.layers.Dense(units = 1, input_shape = [1])])
model.compile(optimizer = 'sgd', loss = 'mean_squared_error')
xs = np.array([-1.0, 0.0, 1.0, 2.0, 3.0, 4.0], dtype = float)
ys = np.array([-3.0, -1.0, 1.0, 3.0, 5.0, 7.0], dtype = float)
model.fit(xs, ys, epochs = 500)
print(model.predict([10.0]))
複製代碼
結果以下: 工具
Fashion-MNIST是一個替代MNIST手寫數字集的圖像數據集。 它是由Zalando(一家德國的時尚科技公司)旗下的研究部門提供。其涵蓋了來自10種類別的共7萬個不一樣商品的正面圖片。Fashion-MNIST的大小、格式和訓練集/測試集劃分與原始的MNIST徹底一致。60000/10000的訓練測試數據劃分,28x28的灰度圖片。學習
經過 Fashion-MNIST 數據集,能夠對咱們的模型進行訓練,不斷地優化,從而提升識別準確率。
import tensorflow as tf
from tensorflow import keras
import numpy as np
# Import the Data
fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, teat_labels) = fashion_mnist.load_data()
# Normalize the data
train_images = train_images / 255.0
test_images = test_images / 255.0
#Define the model
model = keras.Sequential([
keras.layers.Flatten(inport_shape = (28,28)),
keras.layers.Dense(128, activation = tf.nn.relu),
keras.layers.Dense(10, activation = tf.nn.softmax),
])
model.compile(oprimizer = tf.train.AdadeltaOptimizer(),loss = 'sparse_categorical_crossentropy',metrics=['accuracy'])
#Train the model
model.fit(train_images, train_labels, epochs = 5, verbose = 2)
predictions = model.predict(test_images)
print(test_images[4560])
print(np.argmax(predictions[4560]))
複製代碼
運行結果以下:
在設置5次迭代的前提下,本模型的成功率爲 71% 。神經網絡能夠經過更多的訓練,從而提升準確率。
以上就是本次演講的所有內容,但願對你們有所幫助。 閱讀更多 Google 開發者大會 2018 技術乾貨