五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)

python進(jìn)階TensorFlow神經(jīng)網(wǎng)絡(luò)擬合線性及非線性函數(shù)

發(fā)布日期:2021-12-24 22:37 | 文章來源:腳本之家

一、擬合線性函數(shù)

學(xué)習(xí)率0.03,訓(xùn)練1000次:

學(xué)習(xí)率0.05,訓(xùn)練1000次:

學(xué)習(xí)率0.1,訓(xùn)練1000次:

可以發(fā)現(xiàn),學(xué)習(xí)率為0.05時(shí)的訓(xùn)練效果是最好的。

生成隨機(jī)坐標(biāo)

1、生成x坐標(biāo)

2、生成隨機(jī)干擾

3、計(jì)算得到y(tǒng)坐標(biāo)

4、畫點(diǎn)

# 生成隨機(jī)點(diǎn)
def Produce_Random_Data():
 global x_data, y_data
 # 生成x坐標(biāo)
 x_data = np.random.rand(100)
  # 生成隨機(jī)干擾
 noise = np.random.normal(0, 0.01, x_data.shape)
 #  均值 標(biāo)準(zhǔn)差 輸出的形狀
  # 計(jì)算y坐標(biāo)
 y_data = 0.2 * x_data + 0.3 + noise
  # 畫點(diǎn)
 plt.scatter(x_data, y_data)

神經(jīng)網(wǎng)絡(luò)擬合

1、創(chuàng)建神經(jīng)網(wǎng)絡(luò)

2、設(shè)置優(yōu)化器與損失函數(shù)

3、訓(xùn)練(根據(jù)已有數(shù)據(jù))

4、預(yù)測(cè)(給定橫坐標(biāo),預(yù)測(cè)縱坐標(biāo))

# 創(chuàng)建神經(jīng)網(wǎng)絡(luò)(訓(xùn)練及預(yù)測(cè))
def Neural_Network():
 # 1 創(chuàng)建神經(jīng)網(wǎng)絡(luò)
 model = tf.keras.Sequential()
 # 為神經(jīng)網(wǎng)絡(luò)添加層
 model.add(tf.keras.layers.Dense(units=1, input_dim=1))
# 隱藏層 神經(jīng)元個(gè)數(shù) 輸入神經(jīng)元個(gè)數(shù)
 # 2 設(shè)置優(yōu)化器與損失函數(shù)
 model.compile(optimizer=SGD(0.05), loss='mse')
#  優(yōu)化器  學(xué)習(xí)率0.05  損失函數(shù)
# SGD:隨機(jī)梯度下降法
# mse:均方誤差
 # 3 訓(xùn)練
 for i in range(1000):
  # 訓(xùn)練數(shù)據(jù)并返回?fù)p失
  loss = model.train_on_batch(x_data, y_data)
  # print(loss)
  # 4 預(yù)測(cè)
 y_pred = model.predict(x_data)
  # 5 顯示預(yù)測(cè)結(jié)果(擬合線)
 plt.plot(x_data, y_pred, 'r-', lw=3) #lw:線條粗細(xì)

代碼

# 擬合線性函數(shù)
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
from tensorflow.keras.optimizers import SGD 
# 生成隨機(jī)點(diǎn)
def Produce_Random_Data():
 global x_data, y_data
 # 生成x坐標(biāo)
 x_data = np.random.rand(100) 
 # 生成隨機(jī)干擾
 noise = np.random.normal(0, 0.01, x_data.shape)
 #  均值 標(biāo)準(zhǔn)差 輸出的形狀
  # 計(jì)算y坐標(biāo)
 y_data = 0.2 * x_data + 0.3 + noise 
 # 畫點(diǎn)
 plt.scatter(x_data, y_data)
  
# 創(chuàng)建神經(jīng)網(wǎng)絡(luò)(訓(xùn)練及預(yù)測(cè))
def Neural_Network():
 # 1 創(chuàng)建神經(jīng)網(wǎng)絡(luò)
 model = tf.keras.Sequential()
 # 為神經(jīng)網(wǎng)絡(luò)添加層
 model.add(tf.keras.layers.Dense(units=1, input_dim=1))
# 隱藏層 神經(jīng)元個(gè)數(shù) 輸入神經(jīng)元個(gè)數(shù)
 # 2 設(shè)置優(yōu)化器與損失函數(shù)
 model.compile(optimizer=SGD(0.05), loss='mse')
#  優(yōu)化器  學(xué)習(xí)率0.05  損失函數(shù)
# SGD:隨機(jī)梯度下降法
# mse:均方誤差
  # 3 訓(xùn)練
 for i in range(1000):
  # 訓(xùn)練數(shù)據(jù)并返回?fù)p失
  loss = model.train_on_batch(x_data, y_data)
  # print(loss)
  # 4 預(yù)測(cè)
 y_pred = model.predict(x_data)
 
 # 5 顯示預(yù)測(cè)結(jié)果(擬合線)
 plt.plot(x_data, y_pred, 'r-', lw=3) #lw:線條粗細(xì) 
# 1、生成隨機(jī)點(diǎn)
Produce_Random_Data()
 
# 2、神經(jīng)網(wǎng)絡(luò)訓(xùn)練與預(yù)測(cè)
Neural_Network()
 
plt.show()

二、擬合非線性函數(shù)

第一層10個(gè)神經(jīng)元:

第一層5個(gè)神經(jīng)元:

我感覺第一層5個(gè)神經(jīng)元反而訓(xùn)練效果比10個(gè)的好。。。

生成二次隨機(jī)點(diǎn)

步驟:

1、生成x坐標(biāo)

2、生成隨機(jī)干擾

3、計(jì)算y坐標(biāo)

4、畫散點(diǎn)圖

# 生成隨機(jī)點(diǎn)
def Produce_Random_Data():
 global x_data, y_data
 # 生成x坐標(biāo)
 x_data = np.linspace(-0.5, 0.5, 200)[:, np.newaxis]
 #  增加一個(gè)維度
  # 生成噪聲
 noise = np.random.normal(0, 0.02, x_data.shape)
 #  均值 方差 
 # 計(jì)算y坐標(biāo)
 y_data = np.square(x_data) + noise 
 # 畫散點(diǎn)圖
 plt.scatter(x_data, y_data)

神經(jīng)網(wǎng)絡(luò)擬合

步驟:

1、創(chuàng)建神經(jīng)網(wǎng)絡(luò)

2、設(shè)置優(yōu)化器及損失函數(shù)

3、訓(xùn)練(根據(jù)已有數(shù)據(jù))

4、預(yù)測(cè)(給定橫坐標(biāo),預(yù)測(cè)縱坐標(biāo))

5、畫圖

# 神經(jīng)網(wǎng)絡(luò)擬合(訓(xùn)練及預(yù)測(cè))
def Neural_Network():
 # 1 創(chuàng)建神經(jīng)網(wǎng)絡(luò)
 model = tf.keras.Sequential()
 # 添加層
 # 注:input_dim(輸入神經(jīng)元個(gè)數(shù))只需要在輸入層重視設(shè)置,后面的網(wǎng)絡(luò)可以自動(dòng)推斷出該層的對(duì)應(yīng)輸入
 model.add(tf.keras.layers.Dense(units=5,  input_dim=1, activation='tanh'))
# 神經(jīng)元個(gè)數(shù) 輸入神經(jīng)元個(gè)數(shù) 激活函數(shù)
 model.add(tf.keras.layers.Dense(units=1, activation='tanh')) 
 # 2 設(shè)置優(yōu)化器和損失函數(shù)
 model.compile(optimizer=SGD(0.3), loss='mse')
#  優(yōu)化器  學(xué)習(xí)率  損失函數(shù)(均方誤差) 
 # 3 訓(xùn)練
 for i in range(3000):
  # 訓(xùn)練一次數(shù)據(jù),返回loss
  loss = model.train_on_batch(x_data, y_data) 
 # 4 預(yù)測(cè)
 y_pred = model.predict(x_data) 
 # 5 畫圖
 plt.plot(x_data, y_pred, 'r-', lw=5)

代碼

# 擬合非線性函數(shù)
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
from tensorflow.keras.optimizers import SGD 
# 生成隨機(jī)點(diǎn)
def Produce_Random_Data():
 global x_data, y_data
 # 生成x坐標(biāo)
 x_data = np.linspace(-0.5, 0.5, 200)[:, np.newaxis]
 #  增加一個(gè)維度 
 # 生成噪聲
 noise = np.random.normal(0, 0.02, x_data.shape)
 #  均值 方差 
 # 計(jì)算y坐標(biāo)
 y_data = np.square(x_data) + noise 
 # 畫散點(diǎn)圖
 plt.scatter(x_data, y_data) 
# 神經(jīng)網(wǎng)絡(luò)擬合(訓(xùn)練及預(yù)測(cè))
def Neural_Network():
 # 1 創(chuàng)建神經(jīng)網(wǎng)絡(luò)
 model = tf.keras.Sequential() 
 # 添加層
 # 注:input_dim(輸入神經(jīng)元個(gè)數(shù))只需要在輸入層重視設(shè)置,后面的網(wǎng)絡(luò)可以自動(dòng)推斷出該層的對(duì)應(yīng)輸入
 model.add(tf.keras.layers.Dense(units=5, input_dim=1, activation='tanh'))
# 神經(jīng)元個(gè)數(shù)  輸入神經(jīng)元個(gè)數(shù) 激活函數(shù)
 model.add(tf.keras.layers.Dense(units=1, activation='tanh'))
 #輸出神經(jīng)元個(gè)數(shù) 
 # 2 設(shè)置優(yōu)化器和損失函數(shù)
 model.compile(optimizer=SGD(0.3), loss='mse')
#  優(yōu)化器  學(xué)習(xí)率  損失函數(shù)(均方誤差) 
 # 3 訓(xùn)練
 for i in range(3000):
  # 訓(xùn)練一次數(shù)據(jù),返回loss
  loss = model.train_on_batch(x_data, y_data) 
 # 4 預(yù)測(cè)
 y_pred = model.predict(x_data)
 # 5 畫圖
 plt.plot(x_data, y_pred, 'r-', lw=5)
# 1、生成隨機(jī)點(diǎn)
Produce_Random_Data()
 
# 2、神經(jīng)網(wǎng)絡(luò)訓(xùn)練與預(yù)測(cè)
Neural_Network()
 
plt.show()

以上就是python進(jìn)階TensorFlow神經(jīng)網(wǎng)絡(luò)擬合線性及非線性函數(shù)的詳細(xì)內(nèi)容,更多關(guān)于TensorFlow神經(jīng)網(wǎng)絡(luò)擬合線性及非線性函數(shù)的資料請(qǐng)關(guān)注本站其它相關(guān)文章!

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部