欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 使用Pytorch實現(xiàn)two-head(多輸出)模型的操作

使用Pytorch實現(xiàn)two-head(多輸出)模型的操作

熱門標簽:手機網頁嵌入地圖標注位置 天津電話機器人公司 400電話辦理哪種 應電話機器人打電話違法嗎 地圖標注線上如何操作 開封語音外呼系統(tǒng)代理商 電銷機器人的風險 河北防封卡電銷卡 開封自動外呼系統(tǒng)怎么收費

如何使用Pytorch實現(xiàn)two-head(多輸出)模型

1. two-head模型定義

先放一張我要實現(xiàn)的模型結構圖:

如上圖,就是一個two-head模型,也是一個但輸入多輸出模型。該模型的特點是輸入一個x和一個t,h0和h1中只有一個會輸出,所以可能這不算是一個典型的多輸出模型。

2.實現(xiàn)所遇到的困難 一開始的想法:

這不是很簡單嘛,做一個判斷不就完了,t=0時模型為前半段加h0,t=1時模型為前半段加h1。但實現(xiàn)的時候傻眼了,發(fā)現(xiàn)在真正前向傳播的時候t是一個tensor,有0有1,沒法兒進行判斷。

靈機一動,又生一法:把這個模型變?yōu)槿齻€模型,前半段是一個模型(r),后面的h0和h1分別為另兩個模型。把數據集按t=0和1分開,分別訓練兩個模型:r+h0和r+h1。

但是后來搜如何進行模型串聯(lián),發(fā)現(xiàn)極為麻煩。

3.解決方案

后來在pytorch的官方社區(qū)中看到一個極為簡單的方法:

(1) 按照一般的多輸出模型進行實現(xiàn),代碼如下:

def forward(self, x):
        #三層的表示層
        x = F.elu(self.fcR1(x))
        x = F.elu(self.fcR2(x))
        x = F.elu(self.fcR3(x))
		#two-head,兩個head分別進行輸出
        y0 = F.elu(self.fcH01(x))
        y0 = F.elu(self.fcH02(y0))
        y0 = F.elu(self.fcH03(y0))
        y1 = F.elu(self.fcH11(x))
        y1 = F.elu(self.fcH12(y1))
        y1 = F.elu(self.fcH13(y1))
        return y0, y1

這樣就相當實現(xiàn)了一個多輸出模型,一個x同時輸出y0和y1.

訓練的時候分別訓練,也即分別建loss,代碼如下:

    f_out_y0, _ = net(x0)
            _, f_out_y1 = net(x1)
            #實例化損失函數
            criterion0 = Loss()
            criterion1 = Loss()
            loss0 = criterion0(f_y0, f_out_y0, w0)
            loss1 = criterion1(f_y1, f_out_y1, w1)
            print(loss0.item(), loss1.item())
            #對網絡參數進行初始化
            optimizer.zero_grad()
            loss0.backward()
            loss1.backward()
            #對網絡的參數進行更新
            optimizer.step()

先把x按t=0和t=1分為x0和x1,然后分別送入進行訓練。這樣就實現(xiàn)了一個two-head模型。

4.后記

我自以為多輸出模型可以分為以下兩類:

多個輸出不同時獲得,如本文情況。

多個輸出同時獲得。

多輸出不同時獲得的解決方法上文已說明。多輸出同時獲得則可以通過把y0和y1拼接起來一起輸出來實現(xiàn)。

補充:PyTorch 多輸入多輸出模型構建

本篇教程基于 PyTorch 1.5版本

直接上代碼!

import torch
import torch.nn as nn
from torch.autograd import Variable
import torch.distributed as dist
import torch.utils.data as data_utils
class Net(nn.Module):
    def __init__(self, n_input, n_hidden, n_output):
        super(Net, self).__init__()
        self.hidden1 = nn.Linear(n_input, n_hidden)
        self.hidden2 = nn.Linear(n_hidden, n_hidden)
        self.predict1 = nn.Linear(n_hidden*2, n_output)
        self.predict2 = nn.Linear(n_hidden*2, n_output)
    def forward(self, input1, input2): # 多輸入!!!
        out01 = self.hidden1(input1)
        out02 = torch.relu(out01)
        out03 = self.hidden2(out02)
        out04 = torch.sigmoid(out03)
        out11 = self.hidden1(input2)
        out12 = torch.relu(out11)
        out13 = self.hidden2(out12)
        out14 = torch.sigmoid(out13)
        out = torch.cat((out04, out14), dim=1) # 模型層拼合!!!當然你的模型中可能不需要~
 
        out1 = self.predict1(out)
        out2 = self.predict2(out)
        return out1, out2 # 多輸出!!!
net = Net(1, 20, 1)
x1 = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1) # 請不要關心這里,隨便弄一個數據,為了說明問題而已
y1 = x1.pow(3)+0.1*torch.randn(x1.size())
x2 = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1)
y2 = x2.pow(3)+0.1*torch.randn(x2.size())
x1, y1 = (Variable(x1), Variable(y1))
x2, y2 = (Variable(x2), Variable(y2))
optimizer = torch.optim.SGD(net.parameters(), lr=0.1)
loss_func = torch.nn.MSELoss()
for t in range(5000):
    prediction1, prediction2 = net(x1, x2)
    loss1 = loss_func(prediction1, y1)
    loss2 = loss_func(prediction2, y2)
    loss = loss1 + loss2 # 重點!
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
    if t % 100 == 0:
       print('Loss1 = %.4f' % loss1.data,'Loss2 = %.4f' % loss2.data,)

至此搞定!

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • pytorch構建多模型實例
  • pytorch模型存儲的2種實現(xiàn)方法
  • 如何使用Pytorch搭建模型
  • 詳解Pytorch 使用Pytorch擬合多項式(多項式回歸)

標簽:山東 成都 駐馬店 宿遷 江蘇 六盤水 蘭州 常州

巨人網絡通訊聲明:本文標題《使用Pytorch實現(xiàn)two-head(多輸出)模型的操作》,本文關鍵詞  使用,Pytorch,實現(xiàn),two-head,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用Pytorch實現(xiàn)two-head(多輸出)模型的操作》相關的同類信息!
  • 本頁收集關于使用Pytorch實現(xiàn)two-head(多輸出)模型的操作的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    日本一区二区免费在线| 日日夜夜免费精品视频| 国产精品99久久久久久久女警| 亚洲av无码一区二区三区网址| 欧美日韩五月天| 亚洲精品国久久99热| 99国产精品99久久久久久| 深夜视频在线观看| 日本韩国精品在线| 亚洲欧美日韩久久精品| 91免费视频大全| 欧美色区777第一页| 一区二区三区欧美在线观看| 日本女人黄色片| 精品久久久影院| 奇米一区二区三区av| 国产精品99久久久久久有的能看| 超碰人人人人人人人| 国产三级久久久| 国产v综合v亚洲欧| 一本色道久久加勒比精品| 亚洲欧美国产高清| 苍井空张开腿实干12次| 欧美老女人在线| 日韩精品午夜视频| 亚洲精品成人无码| 亚洲国产精品成人久久综合一区| 国产成人免费视频网站| 国产精品白嫩白嫩大学美女| 一区二区三区在线视频播放| 成人免费看片载| 欧美变态口味重另类| 国产乱码精品一区二区三区av| 神马午夜精品91| 一区二区三区美女视频| 亚洲av无码一区二区三区观看| 久久亚洲精品小早川怜子| 国产成人午夜99999| 91精品1区2区| 五月激情综合网| 东京热无码av男人的天堂| 中文字幕一区二区三区乱码在线 | 中文字幕一区二区三区在线不卡| kk眼镜猥琐国模调教系列一区二区| 色婷婷精品久久二区二区蜜臂av| 亚洲风情在线资源站| 魔女鞋交玉足榨精调教| 国产精品日日摸夜夜摸av| 91麻豆自制传媒国产之光| 欧美一二三在线| 福利一区二区在线| 欧美精品日日鲁夜夜添| 狠狠色丁香婷综合久久| 一本大道av伊人久久综合| 婷婷综合另类小说色区| 狂野欧美性猛交| 亚洲一区在线免费观看| 在线观看国产精品一区| 亚洲欧美偷拍三级| 毛片网站免费观看| 136国产福利精品导航| 双性尿奴穿贞c带憋尿| 国产精品美女久久久久aⅴ| 国产视频精品视频| 亚洲国产成人在线| 深田咏美中文字幕| 国产精品久久久久久久久免费相片| 日韩少妇一区二区| 国产精品女同互慰在线看| 在线观看国产网站| 中文字幕字幕中文在线中不卡视频| 中文字幕 亚洲一区| 中文字幕一区二区三区四区不卡 | 久久久无码人妻精品无码| 久久婷婷色综合| 91porn在线| 国产精品久久夜| 一级性生活大片| 伊人夜夜躁av伊人久久| 免费在线观看a视频| 亚洲午夜影视影院在线观看| 亚洲 欧美 国产 另类| 国产调教视频一区| 黄色免费视频网站| 亚洲欧美日韩在线| 亚洲女同二女同志奶水| 三级欧美在线一区| 在线亚洲一区二区| 国产成人免费视频网站| 日韩精品一区在线观看| 国产精品果冻传媒| 亚洲男人的天堂av| 亚洲色图27p| 久久精品二区亚洲w码| 欧美精品少妇一区二区三区| 不卡高清视频专区| 欧美国产国产综合| 成人免费无遮挡无码黄漫视频| 亚洲国产乱码最新视频| 色婷婷久久久久swag精品 | 国产极品视频在线观看| 日韩国产欧美在线播放| 欧美三级韩国三级日本三斤| jlzzjlzz亚洲女人18| 国产欧美一区二区精品秋霞影院| aaaaaav| 亚洲mv在线观看| 欧美三级日韩在线| 99re成人精品视频| 亚洲欧美影音先锋| 永久久久久久久| 国产99久久久国产精品免费看| 久久美女高清视频| 日本爱爱爱视频| 久久国产视频网| 欧美xxxxx牲另类人与| 污片免费在线观看| 天堂一区二区在线| 91麻豆精品国产91久久久更新时间| 91蜜桃在线免费视频| 亚洲男同1069视频| 91久久国产综合久久| 99久久久无码国产精品| 亚洲日本在线观看| 91黄色激情网站| 91老师国产黑色丝袜在线| 亚洲激情六月丁香| 欧美体内she精高潮| 久久久久久久久久久久国产精品| 亚洲日本在线观看| 欧美性大战久久久| 国产视频精品视频| 丝袜亚洲另类欧美| 欧美xxxxxxxxx| 中文字幕av久久爽一区| 狠狠狠色丁香婷婷综合激情 | 一区二区三区欧美亚洲| 欧美午夜精品一区二区三区| 中文字幕av一区二区三区人妻少妇| 亚洲激情自拍偷拍| 欧美日本免费一区二区三区| 日韩无码精品一区二区| 欧美aa在线视频| 26uuu另类欧美| frxxee中国xxx麻豆hd| 粉嫩一区二区三区在线看| 亚洲视频在线观看一区| 欧美午夜不卡在线观看免费| 无码国产精品一区二区免费式直播 | 美女视频黄频大全不卡视频在线播放| 欧美不卡在线视频| 久久视频一区二区三区| 成人国产电影网| 亚洲一区在线观看视频| 日韩视频不卡中文| 欧美人与禽zoz0善交| 不卡的电影网站| 亚洲福中文字幕伊人影院| 日韩免费一区二区| 午夜精品一区二区三级视频| jlzzjlzz亚洲女人18| 首页综合国产亚洲丝袜| 久久久www成人免费无遮挡大片| 69av.com| 日本黄色录像片| 国产精品一级黄| 亚洲精品美国一| 日韩欧美中文字幕公布| 97精品在线播放| 成人啪啪18免费游戏链接| 久久精品国产秦先生| 国产精品国产精品国产专区不片| 欧美手机在线视频| 亚洲午夜精品久久久久久高潮| jlzzjlzz欧美大全| 日韩精品成人一区二区在线| 日本一区二区三区久久久久久久久不| 在线精品观看国产| av电影网站在线观看| 99久久精品国产导航| 男男视频亚洲欧美| 成人欧美一区二区三区1314| 欧美疯狂做受xxxx富婆| 日本成人精品视频| 中文字幕在线永久| 国产成人在线视频网站| 性欧美大战久久久久久久久| 国产色产综合色产在线视频| 欧美老人xxxx18| 欧美人禽zoz0强交| 成年人网站免费看| 99re这里都是精品| 久久99精品久久久| 亚洲一区中文在线| 日本一区二区三区国色天香| 欧美一区二区三区不卡| 日韩成人午夜精品| 中文字幕人成不卡一区| 久久综合久久久久88| 欧美三电影在线|