keras xlnet
1.0.0
특허
[中文 | 영어]
XLNET의 비공식 구현. 메모리가 포함 된 추출 및 임베딩 추출물은 미리 훈련 된 체크 포인트를 사용하여 마지막 변압기 층의 출력을 얻는 방법을 보여줍니다.
pip install keras-xlnet기본 모델로 데모를 보려면 작업 이름을 클릭하십시오.
| 작업 이름 | 메트릭 | 개발자 세트의 대략적인 결과 |
|---|---|---|
| 콜라 | Matthew Corr. | 52 |
| SST-2 | 정확성 | 93 |
| MRPC | 정확도/f1 | 86/89 |
| STS-B | 피어슨 corr. / Spearman Corr. | 86/87 |
| QQP | 정확도/f1 | 90/86 |
| mnli | 정확성 | 84/84 |
| qnli | 정확성 | 86 |
| RTE | 정확성 | 64 |
| wnli | 정확성 | 56 |
(wnli 데이터 세트에서는 0 대만 예측됩니다)
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 () 인수 batch_size , memory_len 및 target_len 메모리 초기화에 사용되는 최대 크기입니다. in_train_phase 가 True 이면 언어 모델을 훈련시키는 데 사용되는 모델이 반환됩니다. 그렇지 않으면 미세 조정에 사용되는 모델이 반환됩니다.
메모리 가 사용되면 shuffle fit 또는 fit_generator 에서 False 이어야합니다.
in_train_phase 는 False 입니다3 개의 입력 :
(batch_size, target_len) 이있는 토큰의 ID.(batch_size, target_len) 이있는 세그먼트의 ID.(batch_size, 1) .1 출력 :
(batch_size, target_len, units) 이있는 각 토큰의 기능. in_train_phase 는 True 입니다4 개의 입력 :
(batch_size, target_len) 이있는 토큰의 ID.(batch_size, target_len) 이있는 세그먼트의 ID.(batch_size, 1) .(batch_size, target_len) 이있는 토큰 마스크.1 출력 :
(batch_size, target_len, num_token) 과 함께 각 위치에서 각 토큰의 확률.