ChatGLM Pytorch从0编写Transformer算法

预备工作

ChatGLM Pytorch从0编写Transformer算法_第1张图片

# !pip install http://download.pytorch.org/whl/cu80/torch-0.3.0.post4-cp36-cp36m-linux_x86_64.whl numpy matplotlib spacy torchtext seaborn 
import numpy as np
import torch
import torch.nn as nn
import torch.nn.functional as F
import math, copy, time
from torch.autograd import Variable
import matplotlib.pyplot as plt
import seaborn
seaborn.set_context(context="talk")
%matplotlib inline

背景

大部分序列到序列(seq2seq)模型都使用编码器-解码器结构 (引用)。编码器把一个输入序列( x 1 , . . . x n ) (x_{1},...x_{n})(x 
1
​
 ,...x 
n
​
 )映射到一个连续的表示z = ( z 1 , . . . z n ) z=(z_{1},...z_{n})z=(z 
1
​
 ,...z 
n
​
 )中。解码器对z中的每个元素,生成输出序列( y 1 , . . . y m ) (y_{1},...y_{m})(y 
1
​
 ,...y 
m
​
 )。解码器一个时间步生成一个输出。在每一步中,模型都是自回归的(引用),在生成下一个结果时,会将先前生成的结果加入输入序列来一起预测。现在我们先构建一个EncoderD

你可能感兴趣的:(ChatGLM,pytorch,transformer,人工智能)