日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TensorFlow--线性回归问题初步

發布時間:2025/3/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TensorFlow--线性回归问题初步 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

主要學習了使用TensorFlow深度學習系統如何進行訓練數據以及預測數據:

import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' import matplotlib.pyplot as plt import numpy as np import tensorflow as tf #導入對應的第三方庫 ''' 線性回歸實戰:TensorFlow''' #設置隨機種子 np.random.seed(5)#直接采用np生成等差數列的方法,生成100個點,每個點的取值在-1~1之間#第一步:準備數據 x_data = np.linspace(-1,1,100)# y = 2x+1+噪聲 ,其中,噪聲的維度與x_data一致y_data = 2 * x_data + 1.0 + np.random.randn(*x_data.shape) * 0.4#畫出隨機生成數據的散點圖 plt.scatter(x_data,y_data) plt.show()#畫出我們想要學習到的線性函數y = 2x+1plt.plot(x_data,2 * x_data + 1.0, color = 'red',linewidth = 3)#顯示數據集的分布 #plt.show()#第二步:構建模型#定義訓練數據的占位符,x是特征值,y是標簽值 x = tf.placeholder("float",name = "x") y = tf.placeholder("float",name = "y")#定義模型函數 w和b是模型真正的參數 def model(x,w,b):return tf.multiply(x,w) + b #返回wx +b#定義模型機構 TensorFlow的變量用來更新參數 ''' TensorFlow變量的聲明函數是tf.Variable tf.Variable的作用是保存和更新參數 變量的初始值可以是隨機數、常數,或是通過其他變量的初始值計算得到 '''#構建線性函數的斜率,變量w w = tf.Variable(1.0,name="w0")#構建線性函數的截距,變量b b = tf.Variable(0.0,name="b0")#pred是預測值,前向計算 pred = model(x,w,b)#第三步:訓練模型 #設置訓練參數#迭代次數 train_epochs = 10#學習率 learning_rate = 0.05#定義損失函數 #采用均方差作為損失函數 loss_function = tf.reduce_mean(tf.square(y-pred))#選擇迭代器 #梯度下降優化器 optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss_function)#聲明會話 sess = tf.Session()#變量初始化 init = tf.global_variables_initializer() sess.run(init)#執行訓練 #開始訓練,輪數為epoch,采用SGD隨機梯度下降優化方法 for epoch in range(train_epochs):for xs,ys in zip(x_data,y_data): #訓練100次_,loss = sess.run([optimizer,loss_function],feed_dict={x:xs,y:ys})b0temp = b.eval(session = sess)w0temp = w.eval(session = sess)plt.plot(x_data,w0temp * x_data + b0temp)#畫圖 plt.show()print("w:",sess.run(w))#w的值應該在2附近 print("b:",sess.run(b))#w的值應該在1附近#第四步:進行預測 plt.scatter(x_data,y_data,label = 'Original data') plt.plot(x_data,x_data * sess.run(w) + sess.run(b),label = 'Fitted line',color='r',linewidth = 3) plt.legend(loc = 2) #通過參數loc指定圖例位置 plt.show()x_test = 3.21predict = sess.run(pred,feed_dict={x:x_test}) print("預測值:%f" % predict)target = 2 * x_test + 1.0 print("目標值:%f" % target)

?

輸出結果:

?

這個階段:需要自己進行消化,多敲幾遍這個代碼,理解整個過程,為后期的學習打好堅實的基礎。

轉載于:https://my.oschina.net/u/3183716/blog/2995466

總結

以上是生活随笔為你收集整理的TensorFlow--线性回归问题初步的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。