真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

pytorch中神經(jīng)網(wǎng)絡(luò)擬合曲線的示例分析-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“pytorch中神經(jīng)網(wǎng)絡(luò)擬合曲線的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“pytorch中神經(jīng)網(wǎng)絡(luò)擬合曲線的示例分析”這篇文章吧。

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供南康企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為南康眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

代碼已經(jīng)調(diào)通,跑出來的效果如下:

pytorch中神經(jīng)網(wǎng)絡(luò)擬合曲線的示例分析

# coding=gbk
import torch
import matplotlib.pyplot as plt
from torch.autograd import Variable
import torch.nn.functional as F
 
'''
 Pytorch是一個擁有強(qiáng)力GPU加速的張量和動態(tài)構(gòu)建網(wǎng)絡(luò)的庫,其主要構(gòu)建是張量,所以可以把PyTorch當(dāng)做Numpy
 來用,Pytorch的很多操作好比Numpy都是類似的,但是其能夠在GPU上運(yùn)行,所以有著比Numpy快很多倍的速度。
 訓(xùn)練完了,發(fā)現(xiàn)隱層越大,擬合的速度越是快,擬合的效果越是好
'''
 
def train():
 print('------  構(gòu)建數(shù)據(jù)集  ------')
 # torch.linspace是為了生成連續(xù)間斷的數(shù)據(jù),第一個參數(shù)表示起點(diǎn),第二個參數(shù)表示終點(diǎn),第三個參數(shù)表示將這個區(qū)間分成平均幾份,即生成幾個數(shù)據(jù)
 x = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1)
 #torch.rand返回的是[0,1]之間的均勻分布 這里是使用一個計(jì)算式子來構(gòu)造出一個關(guān)聯(lián)結(jié)果,當(dāng)然后期要學(xué)的也就是這個式子
 y = x.pow(2) + 0.2 * torch.rand(x.size())
 # Variable是將tensor封裝了下,用于自動求導(dǎo)使用
 x, y = Variable(x), Variable(y)
 #繪圖展示
 plt.scatter(x.data.numpy(), y.data.numpy())
 #plt.show()
 
 print('------  搭建網(wǎng)絡(luò)  ------')
 #使用固定的方式繼承并重寫 init和forword兩個類
 class Net(torch.nn.Module):
  def __init__(self,n_feature,n_hidden,n_output):
   #初始網(wǎng)絡(luò)的內(nèi)部結(jié)構(gòu)
   super(Net,self).__init__()
   self.hidden=torch.nn.Linear(n_feature,n_hidden)
   self.predict=torch.nn.Linear(n_hidden,n_output)
  def forward(self, x):
   #一次正向行走過程
   x=F.relu(self.hidden(x))
   x=self.predict(x)
   return x
 net=Net(n_feature=1,n_hidden=1000,n_output=1)
 print('網(wǎng)絡(luò)結(jié)構(gòu)為:',net)
 
 print('------  啟動訓(xùn)練  ------')
 loss_func=F.mse_loss
 optimizer=torch.optim.SGD(net.parameters(),lr=0.001)
 
 #使用數(shù)據(jù) 進(jìn)行正向訓(xùn)練,并對Variable變量進(jìn)行反向梯度傳播 啟動100次訓(xùn)練
 for t in range(10000):
  #使用全量數(shù)據(jù) 進(jìn)行正向行走
  prediction=net(x)
  loss=loss_func(prediction,y)
  optimizer.zero_grad() #清除上一梯度
  loss.backward() #反向傳播計(jì)算梯度
  optimizer.step() #應(yīng)用梯度
 
  #間隔一段,對訓(xùn)練過程進(jìn)行可視化展示
  if t%5==0:
   plt.cla()
   plt.scatter(x.data.numpy(),y.data.numpy()) #繪制真是曲線
   plt.plot(x.data.numpy(),prediction.data.numpy(),'r-',lw=5)
   plt.text(0.5,0,'Loss='+str(loss.data[0]),fontdict={'size':20,'color':'red'})
   plt.pause(0.1)
 plt.ioff()
 plt.show()
 print('------  預(yù)測和可視化  ------')
 
if __name__=='__main__':
 train()

以上是“pytorch中神經(jīng)網(wǎng)絡(luò)擬合曲線的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站標(biāo)題:pytorch中神經(jīng)網(wǎng)絡(luò)擬合曲線的示例分析-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://weahome.cn/article/doijsp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部