TensorFlow 实例一:线性回归模型
生活随笔
收集整理的這篇文章主要介紹了
TensorFlow 实例一:线性回归模型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼?
# -- encoding:utf-8 -- """ Create by ibf on 2018/5/6 """import numpy as np import tensorflow as tf# 1. 構造一個數據 np.random.seed(28) N = 100 x = np.linspace(0, 6, N) + np.random.normal(loc=0.0, scale=2, size=N) y = 14 * x - 7 + np.random.normal(loc=0.0, scale=5.0, size=N) # 將x和y設置成為矩陣 x.shape = -1, 1 y.shape = -1, 1# 2. 模型構建 # 定義一個變量w和變量b # random_uniform:(random意思:隨機產生數據, uniform:均勻分布的意思) ==> 意思:產生一個服從均勻分布的隨機數列 # shape: 產生多少數據/產生的數據格式是什么; minval:均勻分布中的可能出現的最小值,maxval: 均勻分布中可能出現的最大值 # tf.zeros:意思是產生一個全為 零 的矩陣,參數表明是一維的 w = tf.Variable(initial_value=tf.random_uniform(shape=[1], minval=-1.0, maxval=1.0), name='w') b = tf.Variable(initial_value=tf.zeros([1]), name='b') # 構建一個預測值 y_hat = w * x + b# 構建一個損失函數 # 以MSE作為損失函數(預測值和實際值之間的平方和) loss = tf.reduce_mean(tf.square(y_hat - y), name='loss')# 以隨機梯度下降的方式優化損失函數 optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.05) # 在優化的過程中,是讓那個函數最小化,會自動更新w和b train = optimizer.minimize(loss, name='train')# 全局變量更新 init_op = tf.global_variables_initializer()# 運行 def print_info(r_w, r_b, r_loss):print("w={},b={},loss={}".format(r_w, r_b, r_loss))with tf.Session() as sess:# 初始化sess.run(init_op)# 輸出初始化的w、b、lossr_w, r_b, r_loss = sess.run([w, b, loss])print_info(r_w, r_b, r_loss)# 進行訓練(n次)for step in range(100):# 模型訓練sess.run(train)# 輸出訓練后的w、b、lossr_w, r_b, r_loss = sess.run([w, b, loss])print_info(r_w, r_b, r_loss)運行結果
總結
以上是生活随笔為你收集整理的TensorFlow 实例一:线性回归模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AutoCAD全面卸载的方法
- 下一篇: JAVA如何取得空list成员类型_St