機器學習(一)TensorFlow訓練引數

2021-08-20 18:26:43 字數 1468 閱讀 6426

本文簡介了怎麼用tensorflow訓練引數

(更多的)完整**請看

本文使用的軟體及軟體庫版本為:python 3.6tensorflow 1.8.0matplotlib 2.2.2

本文以擬合平面 y=

0.1x1+

0.2x2+

0.3 y

=0.1x1

+0.2x2

+0.3

為例:

首先生成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) # 訓練目標是最小化loss的值

最後啟動訓練程式就可以了,這裡用matplotlib繪製了投影面上直線的擬合過程

with tf.session() as sess:

# 初始化所有變數

tf.global_variables_initializer().run()

for step in range(200):

sess.run(train)

if step % 20 == 0:

k = sess.run(w)[0]

d = sess.run(b)[0]

print(step, k, d)

x_p = [[-1, -1], [1, 1]]

k_label = [0.100, 0.200]

y_label = [

np.dot(k_label, x_p[0]) + 0.300,

np.dot(k_label, x_p[1]) + 0.300

]y_p = [

np.dot(k, x_p[0]) + d,

np.dot(k, x_p[1]) + d

]plt.cla()

plt.plot([-10, 10], y_label)

plt.plot([-10, 10], y_p)

plt.pause(0.9)

完整的**請看這裡

機器學習 TensorFlow安裝

環境準備 centos 7 python 2.7 root master uname a linux master 3.10.0 229.el7.x86 64 1 smp fri mar 6 11 36 42 utc 2015 x86 64 x86 64 x86 64 gnu linux root ...

機器學習筆記 TensorFlow

構建乙個簡單的 tensorflow 程式,使用該程式繪製乙個預設圖並建立乙個執行該圖的會話 tensorflow 的名稱源自張量,張量是任意維度的陣列。借助 tensorflow,您可以操控具有大量維度的張量。即便如此,在大多數情況下,您會使用以下乙個或多個低維張量 tensorflow指令會建立...

機器學習 TensorFlow初學

dot 陣列的點積 dot producta np.arange 0,9 out 45 array 0,1,2,3,4,5,6,7,8 b a 1 out 47 array 8,7,6,5,4,3,2,1,0 np.dot a,b out 48 84隨機數生成 這幾個都是用於生成隨機數tensor的...