Huggingface transformers 减少XLV变压器的输出层尺寸
我正在使用huggingface实现运行以下程序:Huggingface transformers 减少XLV变压器的输出层尺寸,huggingface-transformers,Huggingface Transformers,我正在使用huggingface实现运行以下程序: t1 = "My example sentence is really great." tokenizer = TransfoXLTokenizer.from_pretrained('transfo-xl-wt103') model = TransfoXLLMHeadModel.from_pretrained("transfo-xl-wt103") encoded_input = tokenizer(
t1 = "My example sentence is really great."
tokenizer = TransfoXLTokenizer.from_pretrained('transfo-xl-wt103')
model = TransfoXLLMHeadModel.from_pretrained("transfo-xl-wt103")
encoded_input = tokenizer(t1, return_tensors='pt', add_space_before_punct_symbol=True)
output = model(**encoded_input)
tmp = output[0].detach().numpy()
print(tmp.shape)
>>> (1, 7, 267735)
目标是获得我将在下游使用的输出嵌入
最后一个维度比我预期的要大,看起来是整个vocab_size
的大小,而不是基于(我可能误解了)的减少
我将提供
模型
以将此层大小减小到更小的维度空间,更像基本的BERT(400或768),并在预训练嵌入的基础上仍然获得良好的性能,这是因为您使用了…LMHeadModel
,它预测下一个令牌。您可以使用TransfoXLModel。从\u pretrained(“transfo-xl-wt103”)
取而代之,然后输出[0]
是最后一个隐藏状态,其形状(批次大小、序列长度、隐藏大小)