TensorFlow 实例一:线性回归模型
生活随笔
收集整理的這篇文章主要介紹了
TensorFlow 实例一:线性回归模型
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
代碼?
# -- encoding:utf-8 -- """ Create by ibf on 2018/5/6 """import numpy as np import tensorflow as tf# 1. 構(gòu)造一個(gè)數(shù)據(jù) 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設(shè)置成為矩陣 x.shape = -1, 1 y.shape = -1, 1# 2. 模型構(gòu)建 # 定義一個(gè)變量w和變量b # random_uniform:(random意思:隨機(jī)產(chǎn)生數(shù)據(jù), uniform:均勻分布的意思) ==> 意思:產(chǎn)生一個(gè)服從均勻分布的隨機(jī)數(shù)列 # shape: 產(chǎn)生多少數(shù)據(jù)/產(chǎn)生的數(shù)據(jù)格式是什么; minval:均勻分布中的可能出現(xiàn)的最小值,maxval: 均勻分布中可能出現(xiàn)的最大值 # tf.zeros:意思是產(chǎn)生一個(gè)全為 零 的矩陣,參數(shù)表明是一維的 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') # 構(gòu)建一個(gè)預(yù)測(cè)值 y_hat = w * x + b# 構(gòu)建一個(gè)損失函數(shù) # 以MSE作為損失函數(shù)(預(yù)測(cè)值和實(shí)際值之間的平方和) loss = tf.reduce_mean(tf.square(y_hat - y), name='loss')# 以隨機(jī)梯度下降的方式優(yōu)化損失函數(shù) optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.05) # 在優(yōu)化的過程中,是讓那個(gè)函數(shù)最小化,會(huì)自動(dòng)更新w和b train = optimizer.minimize(loss, name='train')# 全局變量更新 init_op = tf.global_variables_initializer()# 運(yùn)行 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)# 進(jìn)行訓(xùn)練(n次)for step in range(100):# 模型訓(xùn)練sess.run(train)# 輸出訓(xùn)練后的w、b、lossr_w, r_b, r_loss = sess.run([w, b, loss])print_info(r_w, r_b, r_loss)運(yùn)行結(jié)果
總結(jié)
以上是生活随笔為你收集整理的TensorFlow 实例一:线性回归模型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AutoCAD全面卸载的方法
- 下一篇: SpringBoot从入门到精通(全)