TensorFlow入門實例訓練——擬合平面訓練
需要了解基本面的Python的numpy包,經過多次測試,基本上訓練260次左右就基本穩定不變了。
運行環境:
Python 3.6.4
TensorFlow 1.6.0
Anaconda 5.1
Numpy 1.14.0
y_data=np.dot([0.200,0.300],x_data)+0.500
可以通過修改y_data=np.dot([0.200,0.300],x_data)+0.500中的0.200,0.300,0.500進行變換測試訓練。本實例僅作為入門學習使用,更深入的需進一步學習。
import tensorflow as tf
import numpy as np
import sys #未用到
#生成數據
x_data=np.float32(np.random.rand(2,100))#隨機輸入
y_data=np.dot([0.200,0.300],x_data)+0.500
print(x_data)
print(y_data)
#構造一個線性模型
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.global_variables_initializer()
#設置tf度gpu按需分配
config=tf.ConfigProto()
config.gpu_options.allow_growth=True
#啟動圖
sess=tf.Session(config=config)
sess.run(init)
#迭代 反覆執行上面的最小化損失函數,擬合平面
for step in range(0,501):
sess.run(train)
print(step,sess.run(w),sess.run(b)
我們是人工智慧,深度學習最有活力的社群。請關注我們,也可以從我們詳情頁加入我們社群!