fastNLP.models.star_transformer¶
Star-Transformer 的 Pytorch 实现。
-
class
fastNLP.models.star_transformer.
StarTransEnc
(embed, hidden_size, num_layers, num_head, head_dim, max_len, emb_dropout, dropout)[源代码]¶ 别名
fastNLP.models.StarTransEnc
fastNLP.models.star_transformer.StarTransEnc
带word embedding的Star-Transformer Encoder
-
__init__
(embed, hidden_size, num_layers, num_head, head_dim, max_len, emb_dropout, dropout)[源代码]¶ - 参数
embed -- 单词词典, 可以是 tuple, 包括(num_embedings, embedding_dim), 即 embedding的大小和每个词的维度. 也可以传入 nn.Embedding 对象,此时就以传入的对象作为embedding
hidden_size -- 模型中特征维度.
num_layers -- 模型层数.
num_head -- 模型中multi-head的head个数.
head_dim -- 模型中multi-head中每个head特征维度.
max_len -- 模型能接受的最大输入长度.
emb_dropout -- 词嵌入的dropout概率.
dropout -- 模型除词嵌入外的dropout概率.
-
forward
(x, mask)[源代码]¶ - 参数
x (FloatTensor) -- [batch, length, hidden] 输入的序列
mask (ByteTensor) -- [batch, length] 输入序列的padding mask, 在没有内容(padding 部分) 为 0, 否则为 1
- 返回
[batch, length, hidden] 编码后的输出序列
[batch, hidden] 全局 relay 节点, 详见论文
-
training
: bool¶
-
-
class
fastNLP.models.star_transformer.
STNLICls
(embed, num_cls, hidden_size=300, num_layers=4, num_head=8, head_dim=32, max_len=512, cls_hidden_size=600, emb_dropout=0.1, dropout=0.1)[源代码]¶ 别名
fastNLP.models.STNLICls
fastNLP.models.star_transformer.STNLICls
用于自然语言推断(NLI)的Star-Transformer
-
__init__
(embed, num_cls, hidden_size=300, num_layers=4, num_head=8, head_dim=32, max_len=512, cls_hidden_size=600, emb_dropout=0.1, dropout=0.1)[源代码]¶ - 参数
embed -- 单词词典, 可以是 tuple, 包括(num_embedings, embedding_dim), 即 embedding的大小和每个词的维度. 也可以传入 nn.Embedding 对象, 此时就以传入的对象作为embedding
num_cls -- 输出类别个数
hidden_size -- 模型中特征维度. Default: 300
num_layers -- 模型层数. Default: 4
num_head -- 模型中multi-head的head个数. Default: 8
head_dim -- 模型中multi-head中每个head特征维度. Default: 32
max_len -- 模型能接受的最大输入长度. Default: 512
cls_hidden_size -- 分类器隐层维度. Default: 600
emb_dropout -- 词嵌入的dropout概率. Default: 0.1
dropout -- 模型除词嵌入外的dropout概率. Default: 0.1
-
forward
(words1, words2, seq_len1, seq_len2)[源代码]¶ - 参数
words1 -- [batch, seq_len] 输入序列1
words2 -- [batch, seq_len] 输入序列2
seq_len1 -- [batch,] 输入序列1的长度
seq_len2 -- [batch,] 输入序列2的长度
- Return output
[batch, num_cls] 输出分类的概率
-
predict
(words1, words2, seq_len1, seq_len2)[源代码]¶ - 参数
words1 -- [batch, seq_len] 输入序列1
words2 -- [batch, seq_len] 输入序列2
seq_len1 -- [batch,] 输入序列1的长度
seq_len2 -- [batch,] 输入序列2的长度
- Return output
[batch, num_cls] 输出分类的概率
-
training
: bool¶
-
-
class
fastNLP.models.star_transformer.
STSeqCls
(embed, num_cls, hidden_size=300, num_layers=4, num_head=8, head_dim=32, max_len=512, cls_hidden_size=600, emb_dropout=0.1, dropout=0.1)[源代码]¶ 别名
fastNLP.models.STSeqCls
fastNLP.models.star_transformer.STSeqCls
用于分类任务的Star-Transformer
-
__init__
(embed, num_cls, hidden_size=300, num_layers=4, num_head=8, head_dim=32, max_len=512, cls_hidden_size=600, emb_dropout=0.1, dropout=0.1)[源代码]¶ - 参数
embed -- 单词词典, 可以是 tuple, 包括(num_embedings, embedding_dim), 即 embedding的大小和每个词的维度. 也可以传入 nn.Embedding 对象, 此时就以传入的对象作为embedding
num_cls -- 输出类别个数
hidden_size -- 模型中特征维度. Default: 300
num_layers -- 模型层数. Default: 4
num_head -- 模型中multi-head的head个数. Default: 8
head_dim -- 模型中multi-head中每个head特征维度. Default: 32
max_len -- 模型能接受的最大输入长度. Default: 512
cls_hidden_size -- 分类器隐层维度. Default: 600
emb_dropout -- 词嵌入的dropout概率. Default: 0.1
dropout -- 模型除词嵌入外的dropout概率. Default: 0.1
-
forward
(words, seq_len)[源代码]¶ - 参数
words -- [batch, seq_len] 输入序列
seq_len -- [batch,] 输入序列的长度
- Return output
[batch, num_cls] 输出序列的分类的概率
-
predict
(words, seq_len)[源代码]¶ - 参数
words -- [batch, seq_len] 输入序列
seq_len -- [batch,] 输入序列的长度
- Return output
[batch, num_cls] 输出序列的分类
-
training
: bool¶
-
-
class
fastNLP.models.star_transformer.
STSeqLabel
(embed, num_cls, hidden_size=300, num_layers=4, num_head=8, head_dim=32, max_len=512, cls_hidden_size=600, emb_dropout=0.1, dropout=0.1)[源代码]¶ 别名
fastNLP.models.STSeqLabel
fastNLP.models.star_transformer.STSeqLabel
用于序列标注的Star-Transformer模型
-
__init__
(embed, num_cls, hidden_size=300, num_layers=4, num_head=8, head_dim=32, max_len=512, cls_hidden_size=600, emb_dropout=0.1, dropout=0.1)[源代码]¶ - 参数
embed -- 单词词典, 可以是 tuple, 包括(num_embedings, embedding_dim), 即 embedding的大小和每个词的维度. 也可以传入 nn.Embedding 对象, 此时就以传入的对象作为embedding
num_cls -- 输出类别个数
hidden_size -- 模型中特征维度. Default: 300
num_layers -- 模型层数. Default: 4
num_head -- 模型中multi-head的head个数. Default: 8
head_dim -- 模型中multi-head中每个head特征维度. Default: 32
max_len -- 模型能接受的最大输入长度. Default: 512
cls_hidden_size -- 分类器隐层维度. Default: 600
emb_dropout -- 词嵌入的dropout概率. Default: 0.1
dropout -- 模型除词嵌入外的dropout概率. Default: 0.1
-
forward
(words, seq_len)[源代码]¶ - 参数
words -- [batch, seq_len] 输入序列
seq_len -- [batch,] 输入序列的长度
- Return output
[batch, num_cls, seq_len] 输出序列中每个元素的分类的概率
-
predict
(words, seq_len)[源代码]¶ - 参数
words -- [batch, seq_len] 输入序列
seq_len -- [batch,] 输入序列的长度
- Return output
[batch, seq_len] 输出序列中每个元素的分类
-
training
: bool¶
-