keras xlnet
1.0.0
ライセンス
[中文|英語]
XLNETの非公式実装。埋め込み抽出と埋め込み抽出物は、事前に訓練されたチェックポイントを使用して、最後の変圧器層の出力を取得する方法を示しています。
pip install keras-xlnetタスク名をクリックして、ベースモデルを使用してデモを表示します。
| タスク名 | メトリック | 開発セットのおおよその結果 |
|---|---|---|
| コーラ | マシュー・コル。 | 52 |
| SST-2 | 正確さ | 93 |
| MRPC | 精度/F1 | 86/89 |
| sts-b | Pearson 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)のトークンのids。(batch_size, target_len)のセグメントのID。(batch_size, 1) 。1出力:
(batch_size, target_len, units)の各トークンの機能。 in_train_phaseはTrueです4つの入力:
(batch_size, target_len)のトークンのids。(batch_size, target_len)のセグメントのID。(batch_size, 1) 。(batch_size, target_len) 。1出力:
(batch_size, target_len, num_token) 。