Licença
[中文 | Inglês]
Implementação não oficial do XLNET. A incorporação de extração e incorporação de extração com a memória mostra como obter as saídas da última camada do transformador usando pontos de verificação pré-treinados.
pip install keras-xlnetClique no nome da tarefa para ver as demos com o modelo básico:
| Nome da tarefa | Métricas | Resultados aproximados no conjunto de dev |
|---|---|---|
| Cola | Matthew Corr. | 52 |
| SST-2 | Precisão | 93 |
| Mrpc | Precisão/F1 | 86/89 |
| STS-B | Pearson Corr. / Spearman Corr. | 86/87 |
| Qqp | Precisão/F1 | 90/86 |
| Mnli | Precisão | 84/84 |
| Qnli | Precisão | 86 |
| Rte | Precisão | 64 |
| Wnli | Precisão | 56 |
(Apenas 0s são previstos no conjunto de dados WNLI)
import os
from keras_xlnet import Tokenizer , load_trained_model_from_checkpoint , ATTENTION_TYPE_BI
checkpoint_path = '.../xlnet_cased_L-24_H-1024_A-16'
tokenizer = Tokenizer ( os . path . join ( checkpoint_path , 'spiece.model' ))
model = load_trained_model_from_checkpoint (
config_path = os . path . join ( checkpoint_path , 'xlnet_config.json' ),
checkpoint_path = os . path . join ( checkpoint_path , 'xlnet_model.ckpt' ),
batch_size = 16 ,
memory_len = 512 ,
target_len = 128 ,
in_train_phase = False ,
attention_type = ATTENTION_TYPE_BI ,
)
model . summary () Argumentos batch_size , memory_len e target_len são tamanhos máximos usados para inicialização de memórias. O modelo usado para treinar um modelo de idioma é retornado se in_train_phase for True , caso contrário, um modelo usado para ajuste fino será retornado.
Observe que o shuffle deve ser False no fit ou fit_generator se as memórias forem usadas.
in_train_phase é False3 entradas:
(batch_size, target_len) .(batch_size, target_len) .(batch_size, 1) .1 saída:
(batch_size, target_len, units) . in_train_phase é True4 entradas:
(batch_size, target_len) .(batch_size, target_len) .(batch_size, 1) .(batch_size, target_len) .1 saída:
(batch_size, target_len, num_token) .