basis embedding
1.0.0
低メモリ ニューラル ネットワーク言語モデル用の構造化単語埋め込みのコード
モデルのサイズとメモリ消費量を削減するためのbasis embeddingのコード リポジトリ このリポジトリは、github の pytorch/examples リポジトリに基づいて構築されています
basis embedding関連の引数:
--basis
<0>: 埋め込み行列を分解する基底の数。0 は通常モードです。--num_clusters
: すべての語彙のクラスターの数--load_input_embedding
: 入力埋め込み用の事前トレーニングされた埋め込み行列のパス--load_output_embedding
: 出力埋め込み用の事前トレーニングされた埋め込み行列のパスその他のオプション:
-c
または--config
: 構成ファイルのパス。引数パーサーのデフォルト値をオーバーライドし、コマンド ライン オプションによってオーバーライドされます。--train
: 既存のモデルをトレーニングまたは評価するだけ--dict <None>
: 指定されている場合は語彙ファイルを使用し、指定されていない場合は train.txt 内の単語を使用します。python main.py -c config/default.conf # train a cross-entropy baseline
python main.py -c config/ptb_basis_tied.conf # basis embedding inited via tied embedding on ptb
トレーニング中にキーボード割り込み (Ctrl-C) を受信すると、トレーニングは停止され、現在のモデルがテスト データセットに対して評価されます。
main.py
スクリプトは次の引数を受け入れます。
optional arguments:
-h, --help show this help message and exit
-c, --config PATH preset configurations to load
--data DATA location of the data corpus
--model MODEL type of recurrent net (RNN_TANH, RNN_RELU, LSTM, GRU)
--emsize EMSIZE size of word embeddings
--nhid NHID humber of hidden units per layer
--nlayers NLAYERS number of layers
--lr LR initial learning rate
--clip CLIP gradient clipping
--epochs EPOCHS upper epoch limit
--batch-size N batch size
--dropout DROPOUT dropout applied to layers (0 = no dropout)
--tied tie the word embedding and softmax weights
--seed SEED random seed
--cuda use CUDA
--log-interval N report interval
--save SAVE path to save the final model
... more from previous basis embedding related parameters