色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創作
電子發燒友網>電子資料下載>電子資料>PyTorch教程10.6之編碼器-解碼器架構

PyTorch教程10.6之編碼器-解碼器架構

2023-06-05 | pdf | 0.11 MB | 次下載 | 免費

資料介紹

在一般的 seq2seq 問題中,如機器翻譯(第 10.5 節),輸入和輸出的長度不同且未對齊。處理這類數據的標準方法是設計一個編碼器-解碼器架構(圖 10.6.1),它由兩個主要組件組成:一個 編碼器,它以可變長度序列作為輸入,以及一個 解碼器,作為一個條件語言模型,接收編碼輸入和目標序列的向左上下文,并預測目標序列中的后續標記。

../_images/編碼器解碼器.svg

圖 10.6.1編碼器-解碼器架構。

讓我們以從英語到法語的機器翻譯為例。給定一個英文輸入序列:“They”、“are”、“watching”、“.”,這種編碼器-解碼器架構首先將可變長度輸入編碼為一個狀態,然后對該狀態進行解碼以生成翻譯后的序列,token通過標記,作為輸出:“Ils”、“regardent”、“.”。由于編碼器-解碼器架構構成了后續章節中不同 seq2seq 模型的基礎,因此本節將此架構轉換為稍后將實現的接口

from torch import nn
from d2l import torch as d2l
from mxnet.gluon import nn
from d2l import mxnet as d2l
from flax import linen as nn
from d2l import jax as d2l
No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)
import tensorflow as tf
from d2l import tensorflow as d2l

10.6.1。編碼器

在編碼器接口中,我們只是指定編碼器將可變長度序列作為輸入X實現將由繼承此基類的任何模型提供Encoder

class Encoder(nn.Module): #@save
  """The base encoder interface for the encoder-decoder architecture."""
  def __init__(self):
    super().__init__()

  # Later there can be additional arguments (e.g., length excluding padding)
  def forward(self, X, *args):
    raise NotImplementedError
class Encoder(nn.Block): #@save
  """The base encoder interface for the encoder-decoder architecture."""
  def __init__(self):
    super().__init__()

  # Later there can be additional arguments (e.g., length excluding padding)
  def forward(self, X, *args):
    raise NotImplementedError
class Encoder(nn.Module): #@save
  """The base encoder interface for the encoder-decoder architecture."""
  def setup(self):
    raise NotImplementedError

  # Later there can be additional arguments (e.g., length excluding padding)
  def __call__(self, X, *args):
    raise NotImplementedError
class Encoder(tf.keras.layers.Layer): #@save
  """The base encoder interface for the encoder-decoder architecture."""
  def __init__(self):
    super().__init__()

  # Later there can be additional arguments (e.g., length excluding padding)
  def call(self, X, *args):
    raise NotImplementedError

10.6.2。解碼器

在下面的解碼器接口中,我們添加了一個額外的init_state 方法來將編碼器輸出 ( enc_all_outputs) 轉換為編碼狀態。請注意,此步驟可能需要額外的輸入,例如輸入的有效長度,這在 第 10.5 節中有解釋。為了逐個令牌生成可變長度序列令牌,每次解碼器都可以將輸入(例如,在先前時間步生成的令牌)和編碼狀態映射到當前時間步的輸出令牌。

class Decoder(nn.Module): #@save
  """The base decoder interface for the encoder-decoder architecture."""
  def __init__(self):
    super().__init__()

  # Later there can be additional arguments (e.g., length excluding padding)
  def init_state(self, enc_all_outputs, *args):
    raise NotImplementedError

  def forward(self, X, state):
    raise NotImplementedError
class Decoder(nn.Block): #@save
  """The base decoder interface for the encoder-decoder architecture."""
  def __init__(self):
    super().__init__()

  # Later there can be additional arguments (e.g., length excluding padding)
  def init_state(self, enc_all_outputs, *args):
    raise NotImplementedError

  def forward(self, X, state):
    raise NotImplementedError
class Decoder(nn.Module): #@save
  """The base decoder interface for the encoder-decoder architecture."""
  def setup(self):
    raise NotImplementedError

  # Later there can be additional arguments (e.g., length excluding padding)
  def init_state(self, enc_all_outputs, *args):
    raise NotImplementedError

  def __call__(self, X, state):
    raise NotImplementedError
class Decoder(tf.keras.layers.Layer): #@save
  """The base decoder interface for the encoder-decoder architecture."""
  def __init__(self):
    super().__init__()

  # Later there can be additional arguments (e.g., length excluding padding)
  def init_state(self, enc_all_outputs, *args):
    raise NotImplementedError

  def call(self, X, state):
    raise NotImplementedError

10.6.3。將編碼器和解碼器放在一起

在前向傳播中,編碼器的輸出用于產生編碼狀態,解碼器將進一步使用該狀態作為其輸入之一。

class EncoderDecoder(d2l.Classifier): #@save
  """The base class for the encoder-decoder architecture."""
  def __init__(self, encoder, decoder):
    super().__init__()
    self.encoder = encoder
    self.decoder = decoder

  def forward(self, enc_X, dec_X, *args):
    enc_all_outputs = self.encoder(enc_X, *args)
    dec_state = self.decoder.init_state(enc_all_outputs, *args)
    # Return decoder output only
    return self.decoder(dec_X, dec_state)[0]
class EncoderDecoder(d2l.Classifier): #@save
  """The base class for the encoder-decoder architecture."""
  def __init__(self, encoder, decoder):
    super().__init__()
    self.encoder = encoder
    self.decoder = decoder

  def forward(self, enc_X, dec_X, *args):
    enc_all_outputs = self.encoder(enc_X, *args)
    dec_state = self.decoder.init_state(enc_all_outputs, *args)
    # Return decoder output only
    return self.decoder(dec_X, dec_state)[0]
class EncoderDecoder(d2l.Classifier): #@save
  """The base class for the encoder-decoder architecture."""
  encoder: nn.Module
  decoder: nn.Module
  training: bool

  def __call__(self, enc_X, dec_X, *args):
    enc_all_outputs = self.encoder(enc_X, *args, training=self.training)
    dec_state = self.decoder.init_state(enc_all_outputs, *args)
    # Return decoder output only
    return self.decoder(dec_X, dec_state, training=self.training)[0]
class EncoderDecoder(d2l.Classifier): #@save
  """The base class for the encoder-decoder architecture."""
  def __init__(self, encoder, decoder):
    super().__init__()
    self.encoder = encoder
    self.decoder = decoder

  def call(self, enc_X, dec_X, *args):
    enc_all_outputs = self.encoder(enc_X, *args, training=True)
    dec_state = self.decoder.init_state(enc_all_outputs, *args)
    # Return decoder output only
    return self.decoder(dec_X, dec_state, training=True)[0]

在下一節中,我們將看到如何應用 RNN 來設計基于這種編碼器-解碼器架構的 seq2seq 模型。

10.6.4。概括

編碼器-解碼器架構可以處理由可變長度序列組成的輸入和輸出,因此適用于機器翻譯等 seq2seq 問題。編碼器將可變長度序列作為輸入,并將其轉換為具有固定形狀的狀態。解碼器將固定形狀的編碼狀態映射到可變長度序列。

10.6.5。練習

  1. 假設我們使用神經網絡來實現編碼器-解碼器架構。編碼器和解碼器必須是同一類型的神經網絡嗎?

  2. 除了機器翻譯,你能想到另一個可以應用編碼器-解碼器架構的應用程序嗎?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 蜜臀久久99精品久久久久久做爰| 在线观看插女生免费版| 欧美精品一区二区在线电影| 老师给美女同学开嫩苞| 精品国产午夜肉伦伦影院| 国内精品视频一区二区在线观看| 国产精品无码AV天天爽人妻蜜桃| 国产不卡视频在线观看| 东北成人社区| 国产高清国内精品福利色噜噜| 国产乱辈通伦影片在线播放亚洲 | 久久se精品一区二区国产| 韩国演艺圈悲惨在线| 久久国产高清字幕中文| 青草影院内射中出高潮-百度| 日本另类xxxx| 沙发上小泬12P| 无码一卡二卡三卡四卡| 小莹的性荡生活45章| 亚洲国产在线精品国偷产拍| 亚洲字幕久久| 在线观看亚洲 日韩 国产| 耻辱诊察室1一4集动漫在线观看| 俄罗斯18xv在线观看| 国产免费人成在线视频视频| 久99re视频9在线观看| 美女厕所撒尿ass| 日本精品久久久久中文字幕 1| 一点色成人| 菠萝菠萝蜜高清观看在线| 豆奶视频在线高清观看| 老人洗澡自拍xxx互摸| 亚洲成人黄色片| 最新影音先锋av资源台| 芭乐视频免费资源在线观看| 国产精品免费久久久久影院 | 美女被男人撕衣舔胸| 亚洲国产精品无码中文字满| 成人永久免费视频| 男女后进式猛烈xx00动态图片 | 高h 大尺度纯肉 np快穿|