生成一些三維資料,並使用tensorflow進行平面擬合
1)載入庫
import numpy as np
import tensorflow as tf
2)生成偽隨機資料
# process data
x_data = np.float32(np.random
.rand(2, 100))
y_data = np.dot([0.100, 0.200], x_data) + 0.300
# dot product of 2 arrays
其中,no.dot()函式功能為點除,即讓矩陣中的每對元素都除以[0.1, 0.2]
3)建立線性模型
# build linear model
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
其中,
4)最小化方差
# minimize square-error
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train
.gradientdescentoptimizer(0.5)
train = optimizer.minimize(loss)
其中,
5)初始化變數
# initialize variables
init = tf.global_variables_initializer() # tf.initialize_all_variables() is deprecated
其中,
6)啟**
# start graph
sess = tf.session()
sess.run(init)
其中,
7)擬合平面
# fit plane
forstep
in range(0, 201): # similiar as xrange, which is
deprecated
sess.run(train)
ifstep % 20 == 0:
print(step, sess.run(w), sess.run(b))
列印結果:
0 [[ 0.2897141 -0.30422795]] [0.9615625]可見,在經過200次迭代計算後,最佳擬合結果為:20 [[0.05661043 0.02623773]] [0.4093204]
40 [[0.07334512 0.15256079]] [0.33803657]
60 [[0.08760083 0.18628207]] [0.31359386]
80 [[0.09479188 0.19579038]] [0.30494767]
100 [[0.09791644 0.19863556]] [0.3018224]
120 [[0.09918789 0.19953729]] [0.3006764]
140 [[0.09968808 0.19983763]] [0.30025226]
160 [[0.09988122 0.19994164]] [0.30009434]
180 [[0.09995499 0.19997868]] [0.30003536]
200 [[0.09998299 0.19999214]] [0.30001327]
w:[0.09998299 0.19999214], b:[0.30001327]5個詞
變數(variable)
操作(operation)
張量(tensor)
圖(graph)
會話(session)
2個階段
tensorflow程式通常分為構建階段和執行階段一般計算過程1 構建階段:
將操作的執行步驟描述為乙個圖(如建立乙個圖來表示和訓練神經網路)
2 執行階段:
使用會話執行圖中的操作(如反覆執行圖中的訓練操作)
圖在會話中啟動 -> 會話將圖中的操作分發給cpu或者gpu(同時提供執行操作的方法) -> 方法執行結束後將產生的張量返回需要注意的是:在 python 語言中, 返回的 tensor 是 numpy ndarray 物件; 在 c 和 c++ 語言中, 返回的 tensor 是 tensorflow::tensor 例項
參考教程
TensorFlow 深度學習筆記
google 深度學習筆記 經常總結是個好習慣,筆記目錄奉上。歡迎star,有問題可以到issue區討論 官方教程位址 最近tensorflow團隊出了乙個model專案,和這個課程無關,但是可以參考 框架 tensorflow 谷歌出品的基於python的深度學習工具集 工具 ipython,py...
TensorFlow深度學習框架
tensorflow支援python和c 兩種程式語言,再複雜的多層神經網路模型都可以用python來實現,如果業務使用其他程式設計也不用擔心,使用跨語言的grpc或者http服務也可以訪問使用tensorflow訓練好的智慧型模型。tensorflow 是乙個採用資料流圖 data flow gr...
深度學習 初識TensorFlow
深度學習使用場景 影象理解 語音識別 自然語言處理 機器自主 無人駕駛 深度學習,如深度神經網路 卷積神經網路和遞迴神經網路已被應用計算機視覺 語音識別 自然語言處理 音訊識別與生物資訊學等領域並取得了很好的效果。深度學習在人工智慧領域的地位 深度學習框架 google brain計畫產物 應用於a...