亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > pytorch教程之網絡的構建流程筆記

pytorch教程之網絡的構建流程筆記

熱門標簽:佛山防封外呼系統收費 南昌辦理400電話怎么安裝 鄭州智能外呼系統運營商 不錯的400電話辦理 湛江電銷防封卡 電話機器人適用業務 徐州天音防封電銷卡 哈爾濱外呼系統代理商 獲客智能電銷機器人

參考網址

構建網絡

我們可以通過torch.nn包來構建網絡,現在你已經看過了autograd,nn在autograd的基礎上定義模型和求微分。一個nn.Module包括很多層,forward方法返回output。

一個典型的訓練過程包括這么幾步:
1.定義一個網絡結構包含一些可訓練的額參數
2.為數據集制定輸入iterata
3.通過網絡計算Output
4.計算loss
5.反向傳播計算梯度
6.更新權值

weight = weight - learning_rate * gradient

定義一個網絡

讓我們來定義一個網絡

import torch
import torch as nn
import torch.nn.functional as F
class Net(nn.Module):
    def __init__(self):
        super(Net,self).__init__(
        #1 input image channel ,6output image channel ,5*5convolytion kernel
        self.conv1 = nn.Conv2d(1,6,5)
        self.conv2 = nn.Conv2d(6,16,5)
        # an affine operation:y = Wx+b
        self.fc1 = nn.Linear(16*5*5,120)
        self.fc2 = nn.Linear(120,84)
        self.fc3 = nn.Linear(84,10)
    def forward(self,x):
        #max pooling
        x.F.max_pool2d(F.relu(self.conv1(x)),(2,2))
        #2   =    (2,2)
        x.F.max_pool2d(F.relu(self.con2(x)),2)
        x = x.view(-1,self.num_flat_features(x))
        x = F.relu(self.fc1(x))
        x = F.relu(self.fc2(x))
        x = self.fc3(x)
        return  x
    def num_flat_features(self,x):
        size = x.size()[1:]
        num_feature = 1
        for s in size:
            num_features *=s
        return num_features

net = Net()
print(net)      

out

Net(
  (conv1): Conv2d(1, 6, kernel_size=(5, 5), stride=(1, 1))
  (conv2): Conv2d(6, 16, kernel_size=(5, 5), stride=(1, 1))
  (fc1): Linear(in_features=400, out_features=120, bias=True)
  (fc2): Linear(in_features=120, out_features=84, bias=True)
  (fc3): Linear(in_features=84, out_features=10, bias=True)
)

我們只需定義forward和backward函數,會自動求導通過你定義的函數,你可以使用所有的Tensor操作在forward函數中。
我們使用net.parameters()函數返回可學習的參數

params = list(net.parameters())
print(len(params))
print(params[0].size())  # conv1's .weight

out

10
torch.Size([6, 1, 5, 5])

讓我們試試32*32的輸入節點,因為lenet網絡的輸入應該是32*32,為了在MNIST數據集上使用lenet我們需要將圖片reshpe成32*32

input = torch.randn(1,1,32,32)
oyt = net(input)
print(out)

out

tensor([[-0.1346,  0.0581, -0.0396, -0.1136, -0.1128,  0.0180, -0.1226,
         -0.0419, -0.1150,  0.0278]])

零化導數buffers所有的參數都會隨機求導

net.zero_grad()
out.backward(torch.randn(1,10))

torch.nn只支持mini-batch,而不是單個的樣本
例如,nn.Conv2d輸入是一個4維tensors

nSamples * nChannels * Height * Width

如果你只有單個的樣本,使用input.unsqueeze(0)增加一個假的batch維度
在后處理之前,讓我們看看都學過什么類

Recap:

torch.Tensor - A multi-dimensional array with support for autograd operations like backward(). Also holds the gradient w.r.t. the tensor.
nn.Module - Neural network module. Convenient way of encapsulating parameters, with helpers for moving them to GPU, exporting, loading, etc.
nn.Parameter - A kind of Tensor, that is automatically registered as a parameter when assigned as an attribute to a Module.
autograd.Function - Implements forward and backward definitions of an autograd operation. Every Tensor operation, creates at least a single Function node, that connects to functions that created a Tensor and encodes its history.

目前,我們學習了:
1.定義一個神經網絡
2.處理輸入和使用后向傳播
我們還需要學習:
1.計算loss
2.更新權值

loss Function

Loss function接受(output traget)對作為輸入,計算一個反映到目標距離的值。
在nn這個包里面有很多loss function ,最簡單的是nn.MSELoss,就是那輸入與輸出的均方誤差。

舉個例子

output = net(input)
target = torch.arrange(1,11)
target = target.view(1m-1)
criterion = nn.MSELoss()
loss = criterion(output,target)
print(loss)

Out:

tensor(39.1076)

Backprop

為了反向傳播我們需要做的僅僅是進行loss.backward(),我們需要清除現有的梯度

更新權值

最簡單常用的更新權值的方法就是SGD(Stochastic Gradient Descent )

weight = weight - learning_rata * gradiernt

我們可以通過簡單的代碼實現上面的公式:

learning_rata = 0.01
for f in net.parameters():
    f.data.sib_(f.grad.data *  learining_rata)

但是我們也可以使用不同的更新規則,像是 SGD, Nesterov-SGD, Adam, RMSProp, etc.
為了使用這些,我們需要torch.optim包,使用起來也很簡單。

import torch.optim as optim 
#creat you optimizer
optimizer = optim.SGD(net.parameters(),lr = 0.01)
#in your training loop:
optimizer.zero_grad()
output = net(input)
loss = criterion(output,target)
loss.backward()
optimizer.step()

注意gradient必須清零
現在我們調用loss.backward(),并且看看con1的bias的前后差別

ner.zero_grad()
print('conv1.bias.grad before backward')
loss.backward()
print('conv1.bias.grad after backward')
piint(net.conv1.bias.grad)

out

conv1.bias.grad before backward
tensor([ 0.,  0.,  0.,  0.,  0.,  0.])
conv1.bias.grad after backward
tensor([ 0.1178, -0.0404, -0.0810,  0.0363, -0.0631,  0.1423])

現在,我們看到了如何使用loss function
重要
torch包含很多的loss function和其他包,其余的文檔可以看這里
http://pytorch.org/docs/nn

以上就是pytorch教程之網絡的構建流程筆記的詳細內容,更多關于pytorch教程的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • pytorch構建網絡模型的4種方法
  • PyTorch的深度學習入門教程之構建神經網絡
  • PyTorch如何搭建一個簡單的網絡
  • 關于pytorch中全連接神經網絡搭建兩種模式詳解
  • Pytorch 神經網絡—自定義數據集上實現教程
  • pytorch快速搭建神經網絡_Sequential操作

標簽:廣西 懷化 吉安 蘭州 紹興 蕪湖 呂梁 安康

巨人網絡通訊聲明:本文標題《pytorch教程之網絡的構建流程筆記》,本文關鍵詞  pytorch,教程,之,網絡,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《pytorch教程之網絡的構建流程筆記》相關的同類信息!
  • 本頁收集關于pytorch教程之網絡的構建流程筆記的相關信息資訊供網民參考!
  • 推薦文章
    亚洲不卡一区二区三区在线 | 日日夜夜婷婷| 国产极品白嫩美女在线观看看| 天堂网中文字幕| 韩国妈妈的朋友在线播放| 999精品在线| 国产不卡高清在线观看视频| 夜夜操网| 日韩中文字幕一区| 国产亚洲精品成人a在线| 久久99中文字幕| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 欧美a级片视频| 日韩在线观看免费| 亚洲天堂一区二区三区四区| 日本特黄特色aa大片免费| 青青青草影院 | 九九久久99| 亚欧成人乱码一区二区| 91麻豆精品国产自产在线| 欧美日本免费| 国产极品精频在线观看| 国产精品自拍在线| 天天色成人| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 韩国三级香港三级日本三级la| 欧美激情一区二区三区视频 | 麻豆网站在线免费观看| 欧美1区| 黄视频网站免费观看| 成人免费观看男女羞羞视频| 九九免费高清在线观看视频| 欧美激情中文字幕一区二区| 成人影视在线播放| 天天做日日爱| 高清一级片| 久草免费在线观看| 一级毛片视频在线观看| 亚欧成人乱码一区二区| 91麻豆精品国产自产在线观看一区| 日本免费乱理伦片在线观看2018| 免费一级片在线观看| 久久国产影院| 欧美激情一区二区三区视频| 精品视频在线观看免费| 精品国产一区二区三区久久久狼| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产一区二区精品久| 天天做日日干| 999久久66久6只有精品| a级黄色毛片免费播放视频 | 尤物视频网站在线| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日韩一级黄色| 日韩专区在线播放| 美女被草网站| 欧美大片a一级毛片视频| 在线观看成人网 | 韩国三级香港三级日本三级la| 国产不卡精品一区二区三区| 成人免费观看网欧美片| 国产视频在线免费观看| 天天做日日爱夜夜爽| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产麻豆精品高清在线播放| 九九免费高清在线观看视频| 国产麻豆精品视频| 国产91视频网| 九九免费高清在线观看视频| 四虎论坛| 久久福利影视| 日本特黄特色aaa大片免费| 欧美另类videosbestsex| 亚洲精品影院一区二区| 成人高清视频在线观看| 国产国语在线播放视频| 一级毛片看真人在线视频| 国产美女在线观看| 亚洲天堂在线播放| 欧美一区二区三区在线观看| 日韩免费在线视频| 九九久久99综合一区二区| 日日夜夜婷婷| 精品国产一区二区三区久久久蜜臀| 精品久久久久久影院免费| 尤物视频网站在线观看| 四虎影视久久| 国产极品白嫩美女在线观看看| 国产一区精品| 国产福利免费视频| 久久精品免视看国产成人2021| 成人影视在线播放| 四虎精品在线观看| 黄色短视频网站| 深夜做爰性大片中文| 日韩一级黄色片| 四虎影视久久久| 成人免费观看的视频黄页| 日韩中文字幕在线观看视频| 国产精品自拍在线观看| 成人免费观看男女羞羞视频| 天天色成人| 精品国产香蕉在线播出| 亚洲精品中文字幕久久久久久| 欧美a级片视频| 国产成人精品综合在线| 精品久久久久久中文| 日韩专区亚洲综合久久| 日韩中文字幕一区| 毛片高清| 成人高清免费| 精品在线视频播放| 亚洲第一视频在线播放| 日日夜人人澡人人澡人人看免| 欧美激情中文字幕一区二区| 国产成人女人在线视频观看| 国产一区二区福利久久| 国产不卡精品一区二区三区| 日韩一级黄色片| 国产一级强片在线观看| 日本在线www| a级精品九九九大片免费看| 国产亚洲精品成人a在线| 中文字幕97| 国产91精品系列在线观看| 免费毛片播放| 精品久久久久久中文| 日韩中文字幕一区二区不卡| 日本伦理网站| 国产一区二区高清视频| 黄视频网站在线免费观看| 99久久网站| 日韩av片免费播放| 国产不卡福利| 成人高清视频在线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 成人免费一级毛片在线播放视频| 黄视频网站免费观看| 国产不卡福利| 精品毛片视频| 美女免费毛片| 国产激情视频在线观看| 国产精品1024永久免费视频| 91麻豆精品国产片在线观看| 91麻豆精品国产自产在线| 四虎影视久久久| 91麻豆精品国产片在线观看| 精品国产三级a∨在线观看| 国产麻豆精品高清在线播放| 99热精品一区| 日本伦理片网站| 成人免费观看男女羞羞视频| 999精品视频在线| 一本伊大人香蕉高清在线观看| 欧美一级视频免费| 国产韩国精品一区二区三区| 香蕉视频一级| 日韩中文字幕在线播放| 亚欧成人乱码一区二区| 韩国毛片免费| 欧美激情伊人| 四虎影视库| 黄色福利片| 国产高清在线精品一区二区 | 欧美1卡一卡二卡三新区| 精品久久久久久中文字幕一区 | 可以在线看黄的网站| 精品久久久久久免费影院| 精品毛片视频| 国产一区二区精品在线观看| 欧美激情一区二区三区视频| 香蕉视频一级| 中文字幕97| 亚欧乱色一区二区三区| 亚洲精品中文一区不卡| 国产激情一区二区三区| 可以免费在线看黄的网站| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产网站麻豆精品视频| a级精品九九九大片免费看| 国产精品123| 亚洲精品中文一区不卡| 一a一级片| 欧美大片一区| 精品国产三级a∨在线观看| 国产亚洲免费观看| 四虎久久精品国产| 精品久久久久久中文字幕2017| 青青青草视频在线观看| 精品视频免费观看| 欧美另类videosbestsex高清| 成人高清视频免费观看| 国产不卡福利| 97视频免费在线| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美1区| 国产一区二区精品久久91| 精品视频在线看 | 欧美国产日韩精品| 97视频免费在线|