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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

dropout理解(三)

發布時間:2024/9/18 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dropout理解(三) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本節使用的pytorch版本為1.8.1,其中的torch.nn.functional函數中的dropout方法中的參數training默認為True:

下面進入正文,首先創建一個簡單的模型:

import torch import torch.nn as nn import torch.nn.functional as Fclass LinearFC(nn.Module):def __init__(self):super(LinearFC, self).__init__()self.fc = nn.Linear(3, 2)def forward(self, input):out = self.fc(input)out = F.dropout(out, p=0.5, training=self.training)# out = F.dropout(out, p=0.5)return outNet = LinearFC() x = torch.randint(10, (2, 3)).float() # 隨機生成不大于10的整數,轉為float, 因為nn.linear需要float類型數據 Net.train() # Net.eval() output = Net(x) print(output)# train the Net

網絡模型很簡單,就是一個線性結構,然后加上一個dropout。

下面一步一步執行:

  • 這里創建了模型Net,Net的對應的參數如下:
  • Net.fc.weight=tensor([[-0.2141, -0.0099, 0.3015],[-0.4614, -0.1297, 0.3278]], requires_grad=True) Net.fc.bias=tensor([ 0.5359, -0.3696], requires_grad=True) Net.training=True

  • 隨機生成不大于10的整數,轉為float, 因為nn.linear需要float類型數據,x的數據內容如下:
  • x=tensor([[5., 1., 6.],[9., 5., 9.]])
  • Net.train()的作用是將Net.training=True,如果是在test階段,需要執行Net.eval(),這時Net.training=False
  • 接下來要進入網絡模型中的forward了:

    這里的out的結果的含義是計算x×WT+bx \times W^T+bx×WT+b,相當于執行torch.mm(x, Net.fc.weight.t()) + Net.fc.bias,從控制臺中可以看出這兩個的執行結果一樣。
  • 接下來將執行dropout,因為當前self.training=True,所以將執行dropout,out的執行結果相當于執行(torch.mm(x, Net.fc.weight.t()) + Net.fc.bias)/(1-0.5),然后以0.5概率去除:

    可以看出:
  • 去除前: tensor([[ 2.5288, -1.6790],[ 2.5452, -4.4408]], grad_fn=<DivBackward0>) 以0.5概率去除后: tensor([[2.5288, -0.0000],[0.0000, -0.0000]], grad_fn=<MulBackward0>)
  • 返回結果,執行完畢。

  • 如果是test階段,也就是開啟Net.eval()
    在執行Net.eval()之前,Net.training=Ture,當執行Net.eval()之后,Net.training=False

    然后進入到forward中,執行x×WT+bx \times W^T+bx×WT+b

    接下來要準備進入dropout了,但是由于self.traing=Flase所以這一步將不會執行,也就是說,不會執行(torch.mm(x, Net.fc.weight.t()) + Net.fc.bias)/(1-0.5)以及去除操作。而是直接對torch.mm(x, Net.fc.weight.t()) + Net.fc.bias結果進行返回:

    總結

    在模型中定義好F.dropout(out, p=0.5, training=self.training),根據訓練階段和測試階段傳入的參數Model.training來判斷是否執行dropout。

    如果寫成F.dropout(out, p=0.5),那么參數默認training=True,就無法在測試階段正確跳過dropout了。

    總結

    以上是生活随笔為你收集整理的dropout理解(三)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 色综网 | 婷婷色六月 | 日韩成人av电影 | 99久久亚洲精品 | 久久精品噜噜噜成人88aⅴ | 国产毛片3 | 91亚色视频 | 一级免费观看视频 | 国产尻逼视频 | 在线免费观看日韩视频 | 亚洲av电影天堂男人的天堂 | 中文字幕av久久爽 | 美日韩在线观看 | 国产成人精品亚洲线观看 | ass亚洲熟妇毛耸耸pics | 久久免费精品国产 | 欧美黄色性生活 | 成人免费在线视频网站 | 亚洲高清久久 | 神马午夜dy888| 少妇无码吹潮 | 亚洲最大成人网色 | 亚洲婷婷在线视频 | 免费看色| 亚洲另类自拍 | 免费a视频在线观看 | 中文国语毛片高清视频 | 成熟女人毛片www免费版在线 | 国产 中文 字幕 日韩 在线 | 日韩精品一区二区三区不卡 | 久免费一级suv好看的国产 | 国产日韩综合 | 182tv福利视频 | 国产精品性色 | 国产剧情久久 | 色老头一区二区三区 | 亚洲自拍网站 | 国产视频一区二区不卡 | 天天综合色| 黑人一区二区三区 | 日本在线观看视频网站 | 19韩国主播青草vip | 亚洲av日韩av不卡在线观看 | 国产欧美网站 | 免费一级片在线观看 | 日韩一级性 | 中文字幕岛国 | 久久不卡日韩美女 | 国产第一页av | 精品欧美视频 | 精品国产欧美日韩 | 午夜免费福利视频 | 用力挺进新婚白嫩少妇 | 99久久久国产精品 | 国产aaaaaaa| 欧美男女啪啪 | 亚洲一区二区三区精品视频 | 外国毛片 | 上原亚衣av一区二区三区 | av免费久久| 美女久久久久久久久久 | 国产强伦人妻毛片 | 欧美日韩一二 | 亚洲品质自拍 | 精品影视一区二区 | 波多野结衣在线视频播放 | 久久久国产一区二区 | 国产日韩免费视频 | 日本一级一片免费视频 | 91视频爱爱 | 午夜特级毛片 | 久久狠 | 亚洲爆爽 | 国产精品国产精品国产专区不卡 | 精品国模| 日本不卡视频在线 | 亚洲综合图区 | 欧美乱妇在线观看 | 美人被强行糟蹋np各种play | 91国自啪 | 香蕉视频色 | 天堂网中文字幕 | 日日夜夜精品视频免费 | 午夜婷婷丁香 | 中文字幕在线观看第一页 | 国产又黄又粗又硬 | 久久精品a | 伊人亚洲 | 99热18| 自拍偷拍亚洲欧洲 | 91天天射| 亚洲aaa级| 午夜激情视频在线 | a视频在线播放 | 综合影院 | 亚洲色精品三区二区一区 | 中文字幕在线日亚洲9 | 99自拍视频| www一区二区|