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

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

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

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

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

1. two-head模型定義

先放一張我要實現的模型結構圖:

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

2.實現所遇到的困難 一開始的想法:

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

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

但是后來搜如何進行模型串聯,發現極為麻煩。

3.解決方案

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

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

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

這樣就相當實現了一個多輸出模型,一個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,然后分別送入進行訓練。這樣就實現了一個two-head模型。

4.后記

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

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

多個輸出同時獲得。

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

補充: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種實現方法
  • 如何使用Pytorch搭建模型
  • 詳解Pytorch 使用Pytorch擬合多項式(多項式回歸)

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

巨人網絡通訊聲明:本文標題《使用Pytorch實現two-head(多輸出)模型的操作》,本文關鍵詞  使用,Pytorch,實現,two-head,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用Pytorch實現two-head(多輸出)模型的操作》相關的同類信息!
  • 本頁收集關于使用Pytorch實現two-head(多輸出)模型的操作的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产电影精品久久禁18| 日本三级亚洲精品| 久久久亚洲午夜电影| 在线观看国产精品网站| 日本高清无吗v一区| 97精品国产97久久久久久久久久久久| 国产aⅴ综合色| av中文字幕不卡| 99re热这里只有精品免费视频 | 一区二区日韩电影| 亚洲婷婷在线视频| 一区二区三区在线观看动漫| 亚洲高清中文字幕| 久久精品国产99国产| 精彩视频一区二区三区| 成人性视频网站| 99久久夜色精品国产网站| 欧美性受极品xxxx喷水| 在线播放中文一区| 久久婷婷成人综合色| 中文字幕一区二区在线播放| 亚洲午夜激情av| 理论电影国产精品| 粉嫩av一区二区三区在线播放| 91蜜桃免费观看视频| 欧美美女激情18p| 久久精品欧美一区二区三区麻豆| 欧美国产日韩在线观看| 亚洲国产毛片aaaaa无费看| 九九视频精品免费| 在线观看国产精品网站| 久久久99久久| 亚洲成av人综合在线观看| 国产伦理精品不卡| 欧美网站大全在线观看| 久久久久亚洲综合| 天天av天天翘天天综合网| 国产一二精品视频| 欧美精品色一区二区三区| 国产精品天美传媒沈樵| 日韩黄色在线观看| 一本色道久久加勒比精品| 日韩一区二区免费视频| 亚洲综合在线五月| 成人av先锋影音| 91麻豆精品国产| 亚洲精品免费在线| 成人免费看的视频| 日韩一级高清毛片| 亚洲成人自拍网| 91视频免费播放| 日本一区二区三级电影在线观看| 午夜精品福利一区二区三区蜜桃| 成人h精品动漫一区二区三区| 日韩欧美国产精品一区| 亚洲h动漫在线| 91麻豆免费视频| 国产精品久久久久久久岛一牛影视| 欧美96一区二区免费视频| 欧美性感一区二区三区| 亚洲影视在线观看| 色综合天天综合在线视频| 国产精品美女久久久久aⅴ| 国产一区视频在线看| 久久美女艺术照精彩视频福利播放| 蜜乳av一区二区| 日韩欧美成人激情| 久久精品99久久久| 日韩免费一区二区| 久久国产精品99久久久久久老狼| 欧美日韩一区高清| 日韩专区一卡二卡| 777xxx欧美| 麻豆一区二区在线| 精品国产乱码久久久久久闺蜜| 看片网站欧美日韩| 精品国产乱码久久久久久老虎 | 亚洲香蕉伊在人在线观| 91美女在线看| 亚洲欧美视频在线观看| 91福利精品视频| 三级影片在线观看欧美日韩一区二区| 欧美精品在线观看播放| 免费观看久久久4p| 久久久亚洲欧洲日产国码αv| 国产毛片一区二区| 亚洲欧美在线视频| 欧美三片在线视频观看| 久久av中文字幕片| 国产精品欧美综合在线| 色中色一区二区| 日韩二区三区四区| 久久久久久**毛片大全| 92精品国产成人观看免费| 亚洲国产日韩综合久久精品| 欧美日本乱大交xxxxx| 国产尤物一区二区在线| 一区二区三区中文在线观看| 色999日韩国产欧美一区二区| 视频一区在线播放| 久久久精品tv| 日本久久电影网| 久久精品免费看| 亚洲色图视频网| 日韩一区二区三区在线| 从欧美一区二区三区| 亚洲成人免费影院| 久久久国产午夜精品| 91黄色小视频| 国产成人av在线影院| 亚洲成人av资源| 中文字幕在线观看不卡视频| 欧美精品一级二级三级| 懂色一区二区三区免费观看| 日韩高清在线不卡| 中文字幕一区二区三| 日韩欧美国产1| 欧美图片一区二区三区| 丁香婷婷综合网| 免费不卡在线视频| 亚洲视频免费看| 久久久一区二区三区捆绑**| 欧美人与性动xxxx| 色av成人天堂桃色av| 国产成人亚洲综合色影视| 丝袜亚洲另类丝袜在线| 亚洲欧美一区二区三区久本道91 | 国产欧美一区二区精品性色| 欧美日韩精品一区二区三区四区| 成人小视频在线观看| 美女久久久精品| 天堂资源在线中文精品| 一区二区三区日韩欧美精品| 欧美精品一区二区久久久| 在线播放91灌醉迷j高跟美女| 99精品视频在线观看| 国产精品一区二区三区乱码| 日本不卡不码高清免费观看| 亚洲品质自拍视频网站| 日本一区二区三区久久久久久久久不 | 国产校园另类小说区| 欧美一区二区福利在线| 欧美老女人在线| 欧美午夜一区二区三区| 色哟哟一区二区在线观看| 国产91在线|亚洲| 国产麻豆精品在线观看| 激情六月婷婷久久| 国内一区二区视频| 国产在线国偷精品产拍免费yy | 91丨porny丨在线| 99久久婷婷国产综合精品电影| 成人av小说网| 北条麻妃一区二区三区| eeuss鲁一区二区三区| 99久久伊人精品| 欧美精品欧美精品系列| 在线不卡中文字幕| 欧美www视频| 精品国产sm最大网站| 久久奇米777| 国产无一区二区| 17c精品麻豆一区二区免费| 亚洲欧美日韩在线播放| 亚洲国产精品久久艾草纯爱| 日本视频一区二区三区| 久久99蜜桃精品| 国产91丝袜在线播放| 91精品福利在线| 精品欧美黑人一区二区三区| 久久久久高清精品| 亚洲精品欧美激情| 蜜桃视频免费观看一区| 国产成人精品亚洲日本在线桃色| 91原创在线视频| 欧美一级久久久久久久大片| 国产欧美一区二区精品秋霞影院 | 亚洲成a人在线观看| 久久不见久久见中文字幕免费| 国产精品一区不卡| 日本乱码高清不卡字幕| 在线成人免费观看| 日本一区二区三区国色天香| 亚洲综合视频在线观看| 精油按摩中文字幕久久| 99久久99久久久精品齐齐| 欧美一区二区三区白人| 国产精品久久久久久久第一福利| 亚洲图片自拍偷拍| 国内精品国产成人| 91一区一区三区| 精品成人一区二区三区四区| 亚洲人亚洲人成电影网站色| 免费一级片91| 91久久精品一区二区三| 国产欧美一区二区三区在线老狼 | 国产成人综合亚洲网站| 欧美日韩黄色一区二区| 国产精品午夜春色av| 麻豆成人久久精品二区三区小说|