深度學習 Tensorflow入門示例demo

2021-08-22 11:31:39 字數 2610 閱讀 9148

生成一些三維資料,並使用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]

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]

可見,在經過200次迭代計算後,最佳擬合結果為:

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...