Лицензия
[中文 | английский]
Неофициальная реализация XLnet. Встроение извлечения и встраиваемого извлечения с памятью показывают, как получить выходы последнего слоя трансформатора с использованием предварительно обученных контрольных точек.
pip install keras-xlnetНажмите на имя задачи, чтобы увидеть демо с базовой моделью:
| Имя задачи | Метрики | Приблизительные результаты в наборе разработчиков |
|---|---|---|
| Кола | Мэтью Корр. | 52 |
| SST-2 | Точность | 93 |
| MRPC | Точность/F1 | 86/89 |
| STS-B | Пирсон Корр. / Spearman Corr. | 86/87 |
| QQP | Точность/F1 | 90/86 |
| Mnli | Точность | 84/84 |
| Qnli | Точность | 86 |
| Rte | Точность | 64 |
| Wnli | Точность | 56 |
(Только 0 предсказано в наборе данных 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 () Arguments batch_size , memory_len и target_len - это максимальные размеры, используемые для инициализации воспоминаний. Модель, используемая для обучения языковой модели, возвращается, если in_train_phase True , в противном случае будет возвращена модель, используемая для точной настройки.
Обратите внимание, что shuffle должен быть False в fit или fit_generator , если используются воспоминания.
in_train_phase является False3 входы:
(batch_size, target_len) .(batch_size, target_len) .(batch_size, 1) .1 Вывод:
(batch_size, target_len, units) . in_train_phase это True4 входы:
(batch_size, target_len) .(batch_size, target_len) .(batch_size, 1) .(batch_size, target_len) .1 Вывод:
(batch_size, target_len, num_token) .