校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > pytorch實現線性回歸以及多元回歸

pytorch實現線性回歸以及多元回歸

熱門標簽:電話外呼系統招商代理 看懂地圖標注方法 蘇州人工外呼系統軟件 廣東旅游地圖標注 打印谷歌地圖標注 淮安呼叫中心外呼系統如何 電話機器人貸款詐騙 佛山通用400電話申請 京華圖書館地圖標注

本文實例為大家分享了pytorch實現線性回歸以及多元回歸的具體代碼,供大家參考,具體內容如下

最近在學習pytorch,現在把學習的代碼放在這里,下面是github鏈接

直接附上github代碼

# 實現一個線性回歸
# 所有的層結構和損失函數都來自于 torch.nn
# torch.optim 是一個實現各種優化算法的包,調用的時候必須是需要優化的參數傳入,這些參數都必須是Variable
 
x_train = np.array([[3.3],[4.4],[5.5],[6.71],[6.93],[4.168],[9.779],[6.182],[7.59],[2.167],[7.042],[10.791],[5.313],[7.997],[3.1]],dtype=np.float32)
y_train = np.array([[1.7],[2.76],[2.09],[3.19],[1.694],[1.573],[3.366],[2.596],[2.53],[1.221],[2.827],[3.465],[1.65],[2.904],[1.3]],dtype=np.float32)
 
# 首先我們需要將array轉化成tensor,因為pytorch處理的單元是Tensor
 
x_train = torch.from_numpy(x_train)
y_train = torch.from_numpy(y_train)
 
 
# def a simple network
 
class LinearRegression(nn.Module):
    def __init__(self):
        super(LinearRegression,self).__init__()
        self.linear = nn.Linear(1, 1)  # input and output is 2_dimension
    def forward(self, x):
        out = self.linear(x)
        return out
 
 
if torch.cuda.is_available():
    model = LinearRegression().cuda()
    #model = model.cuda()
else:
    model = LinearRegression()
    #model = model.cuda()
 
# 定義loss function 和 optimize func
criterion = nn.MSELoss()   # 均方誤差作為優化函數
optimizer = torch.optim.SGD(model.parameters(),lr=1e-3)
num_epochs = 30000
for epoch in range(num_epochs):
    if torch.cuda.is_available():
        inputs = Variable(x_train).cuda()
        outputs = Variable(y_train).cuda()
    else:
        inputs = Variable(x_train)
        outputs = Variable(y_train)
 
    # forward
    out = model(inputs)
    loss = criterion(out,outputs)
 
    # backword
    optimizer.zero_grad()  # 每次做反向傳播之前都要進行歸零梯度。不然梯度會累加在一起,造成不收斂的結果
    loss.backward()
    optimizer.step()
 
    if (epoch +1)%20==0:
        print('Epoch[{}/{}], loss: {:.6f}'.format(epoch+1,num_epochs,loss.data))
 
 
model.eval()  # 將模型變成測試模式
predict = model(Variable(x_train).cuda())
predict = predict.data.cpu().numpy()
plt.plot(x_train.numpy(),y_train.numpy(),'ro',label = 'original data')
plt.plot(x_train.numpy(),predict,label = 'Fitting line')
plt.show()

結果如圖所示:

多元回歸:

# _*_encoding=utf-8_*_
# pytorch 里面最基本的操作對象是Tensor,pytorch 的tensor可以和numpy的ndarray相互轉化。
# 實現一個線性回歸
# 所有的層結構和損失函數都來自于 torch.nn
# torch.optim 是一個實現各種優化算法的包,調用的時候必須是需要優化的參數傳入,這些參數都必須是Variable
 
 
# 實現 y = b + w1 *x + w2 *x**2 +w3*x**3
import os
os.environ['CUDA_DEVICE_ORDER']="PCI_BUS_ID"
os.environ['CUDA_VISIBLE_DEVICES']='0'
import torch
import numpy as np
from torch.autograd import Variable
import matplotlib.pyplot as plt
from torch import nn
 
 
# pre_processing
def make_feature(x):
    x = x.unsqueeze(1)   # unsquenze 是為了添加維度1的,0表示第一維度,1表示第二維度,將tensor大小由3變為(3,1)
    return torch.cat([x ** i for i in range(1, 4)], 1)
 
# 定義好真實的數據
 
 
def f(x):
    W_output = torch.Tensor([0.5, 3, 2.4]).unsqueeze(1)
    b_output = torch.Tensor([0.9])
    return x.mm(W_output)+b_output[0]  # 外積,矩陣乘法
 
 
# 批量處理數據
def get_batch(batch_size =32):
 
    random = torch.randn(batch_size)
    x = make_feature(random)
    y = f(x)
    if torch.cuda.is_available():
 
        return Variable(x).cuda(),Variable(y).cuda()
    else:
        return Variable(x),Variable(y)
 
 
 
# def model
class poly_model(nn.Module):
    def __init__(self):
        super(poly_model,self).__init__()
        self.poly = nn.Linear(3,1)
    def forward(self,input):
        output = self.poly(input)
        return output
 
if torch.cuda.is_available():
    print("sdf")
    model = poly_model().cuda()
else:
    model = poly_model()
 
 
# 定義損失函數和優化器
criterion = nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=1e-3)
 
epoch = 0
while True:
    batch_x, batch_y = get_batch()
    #print(batch_x)
    output = model(batch_x)
    loss = criterion(output,batch_y)
    print_loss = loss.data
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
    epoch = epoch +1
    if print_loss  1e-3:
        print(print_loss)
        break
 
model.eval()
print("Epoch = {}".format(epoch))
 
batch_x, batch_y = get_batch()
predict = model(batch_x)
a = predict - batch_y
y = torch.sum(a)
print('y = ',y)
predict = predict.data.cpu().numpy()
plt.plot(batch_x.cpu().numpy(),batch_y.cpu().numpy(),'ro',label = 'Original data')
plt.plot(batch_x.cpu().numpy(),predict,'b', ls='--',label = 'Fitting line')
plt.show()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • pytorch_detach 切斷網絡反傳方式
  • pytorch 禁止/允許計算局部梯度的操作
  • 如何利用Pytorch計算三角函數
  • 聊聊PyTorch中eval和no_grad的關系
  • Pytorch實現圖像識別之數字識別(附詳細注釋)
  • Pytorch實現全連接層的操作
  • pytorch 優化器(optim)不同參數組,不同學習率設置的操作
  • PyTorch 如何將CIFAR100數據按類標歸類保存
  • PyTorch的Debug指南
  • Python深度學習之使用Pytorch搭建ShuffleNetv2
  • win10系統配置GPU版本Pytorch的詳細教程
  • 淺談pytorch中的nn.Sequential(*net[3: 5])是啥意思
  • pytorch visdom安裝開啟及使用方法
  • PyTorch CUDA環境配置及安裝的步驟(圖文教程)
  • pytorch中的nn.ZeroPad2d()零填充函數實例詳解
  • 使用pytorch實現線性回歸
  • PyTorch學習之軟件準備與基本操作總結

標簽:中山 駐馬店 股票 湖州 畢節 衡水 江蘇 呼和浩特

巨人網絡通訊聲明:本文標題《pytorch實現線性回歸以及多元回歸》,本文關鍵詞  pytorch,實現,線性,回歸,以及,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《pytorch實現線性回歸以及多元回歸》相關的同類信息!
  • 本頁收集關于pytorch實現線性回歸以及多元回歸的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    91成人在线精品| 日韩电影一区二区三区| 狠狠色丁香婷婷综合久久片| 欧美乱熟臀69xxxxxx| 亚洲五月六月丁香激情| 在线不卡中文字幕播放| 日韩国产欧美在线观看| 欧美一级高清片| 国产一区二区女| 中文在线一区二区| 97久久精品人人做人人爽50路 | 久久99精品国产麻豆不卡| 欧美区一区二区三区| 久久国产麻豆精品| 国产欧美一区二区三区在线看蜜臀| 国产mv日韩mv欧美| 亚洲一区在线观看网站| 91麻豆精品国产91久久久使用方法| 久久精品av麻豆的观看方式| 亚洲国产经典视频| 欧美日本一区二区在线观看| 国产美女久久久久| 亚洲精选在线视频| 精品剧情在线观看| 91网站最新地址| 秋霞午夜鲁丝一区二区老狼| 国产亚洲欧美中文| 欧美三级一区二区| 国产乱子伦视频一区二区三区| 最好看的中文字幕久久| 91精品婷婷国产综合久久 | 欧美国产1区2区| 欧美三级视频在线播放| 国产一区二区在线电影| 亚洲激情图片一区| 久久久久亚洲蜜桃| 欧美三级日本三级少妇99| 懂色一区二区三区免费观看 | 人人狠狠综合久久亚洲| 国产精品麻豆欧美日韩ww| 欧美男女性生活在线直播观看| 国产 欧美在线| 麻豆精品视频在线| 一区二区三区中文免费| 日本一区二区三区电影| 日韩你懂的在线播放| 色婷婷亚洲综合| 欧美群妇大交群中文字幕| 成人国产精品免费观看| 麻豆专区一区二区三区四区五区| 中文字幕综合网| 国产日韩欧美精品一区| 日韩三级中文字幕| 欧美老人xxxx18| 色美美综合视频| eeuss国产一区二区三区| 秋霞电影网一区二区| 一区二区三区中文字幕精品精品| 久久精品免费在线观看| 欧美白人最猛性xxxxx69交| 欧美视频日韩视频在线观看| 99re成人精品视频| 成人avav在线| 成人黄色一级视频| 国产一区二区福利| 激情综合色播激情啊| 日本女优在线视频一区二区| 亚洲成人免费观看| 亚洲一区在线免费观看| 亚洲综合久久久久| 亚洲精品视频免费观看| 国产精品成人免费| 国产精品视频你懂的| 国产女人18毛片水真多成人如厕| www久久精品| 久久综合久久鬼色| 国产日韩欧美一区二区三区综合| 久久女同互慰一区二区三区| 精品电影一区二区三区| 久久综合色8888| 国产欧美一区二区精品婷婷| 欧美高清在线一区二区| 一区二区中文视频| 亚洲伦在线观看| 一区二区免费视频| 日精品一区二区| 日韩国产在线观看一区| 精品一区二区影视| 国产精品香蕉一区二区三区| 粉嫩嫩av羞羞动漫久久久 | 欧美怡红院视频| 91福利在线免费观看| 9191国产精品| 日韩美女一区二区三区四区| 久久午夜色播影院免费高清| 精品99999| 国产精品乱人伦中文| 一区二区三区日本| 日本特黄久久久高潮| 精品一区二区三区不卡| 丁香激情综合五月| 在线观看欧美日本| 日韩丝袜美女视频| 国产精品视频看| 亚洲福利视频三区| 国产制服丝袜一区| 91欧美一区二区| 欧美一区二区三区四区五区 | 一道本成人在线| 欧美日韩精品久久久| 2023国产精品| 亚洲品质自拍视频| 久久国产剧场电影| 色天天综合久久久久综合片| 日韩欧美成人午夜| 亚洲手机成人高清视频| 麻豆精品新av中文字幕| av电影在线观看不卡| 欧美一区二区人人喊爽| 国产精品日产欧美久久久久| 日韩精品五月天| 成人听书哪个软件好| 欧美美女一区二区三区| 国产精品网站在线播放| 秋霞国产午夜精品免费视频| 9色porny自拍视频一区二区| 欧美一区二区精品在线| 日韩一区有码在线| 久久精品国产精品青草| 日韩欧美123| 国产精品国产三级国产aⅴ中文| 午夜精品福利在线| 风流少妇一区二区| 日韩三区在线观看| 亚洲国产一区二区a毛片| 国产精品 日产精品 欧美精品| 欧美日韩一级视频| 国产精品国产三级国产普通话蜜臀| 日韩二区三区四区| 91在线免费看| 久久久久国产精品免费免费搜索| 成人欧美一区二区三区白人| 激情亚洲综合在线| 欧美一卡二卡三卡四卡| 亚洲激情男女视频| 成年人午夜久久久| 久久久久久久久久久久电影| 日韩国产高清影视| 欧美性一级生活| 亚洲日本护士毛茸茸| 成人午夜大片免费观看| 久久免费精品国产久精品久久久久 | 国产成人免费视频一区| 欧美一区二区黄色| 日韩精品电影在线| 欧美日韩中字一区| 亚洲欧美偷拍三级| 91麻豆国产福利精品| 国产精品盗摄一区二区三区| 国产精品一二三区在线| 久久色中文字幕| 精品一二线国产| 精品人在线二区三区| 美女视频黄 久久| 日韩一区二区不卡| 免费的成人av| 欧美一级国产精品| 久久99在线观看| 精品av综合导航| 国内一区二区在线| 亚洲精品在线免费播放| wwwwww.欧美系列| 国产精品色在线| 成人国产精品免费观看动漫| 国产日产精品一区| 粉嫩aⅴ一区二区三区四区| 中文字幕va一区二区三区| 成人性色生活片| 亚洲女同女同女同女同女同69| 日本高清免费不卡视频| 亚洲网友自拍偷拍| 在线不卡的av| 日韩黄色免费电影| 欧美一个色资源| 狠狠色综合播放一区二区| 国产日韩欧美不卡| 99re这里只有精品视频首页| 亚洲男人天堂av网| 欧美久久久影院| 美女脱光内衣内裤视频久久影院| 精品日韩在线观看| 国产91精品精华液一区二区三区 | 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 国产在线精品免费| 欧美激情一二三区| 欧美天天综合网| 久久丁香综合五月国产三级网站| 国产午夜亚洲精品羞羞网站| 99麻豆久久久国产精品免费优播| 亚洲一区二区在线免费观看视频|