下图为一个函数,给一些参数赋了初始值。不用具体看内容……问题在下一张图
def train(dataset, data_dir, log_dir, max_grad_norm=1, learning_rate=6.25e-5, learning_rate_warmup=0.002,
n_ctx=512, n_embd=768, n_head=12, n_layer=12, embd_pdrop=.1, lm_coef=.5,
attn_pdrop=.1, resid_pdrop=.1, clf_pdrop=.1, word_pdrop=.0, l2=0.01, vector_l2=True,
optimizer='adam', afn='gelu', learning_rate_schedule='warmup_linear',
encoder_path='model/encoder_bpe_40000.json', bpe_path='model/vocab_40000.bpe', n_transfer=12,
beta1=.9, beta2=.999, e=1e-8, batch_size=8, max_epochs=3, dev_size=.1, seed=0, load_pre_trained=True,
subsampling_rate=1.0, train_set_limit=None, dev_file=None, dev_set_limit=None, skip_test_set=False,
verbose_fetcher=False, verbose_training=False, masking_mode=None, write_model=True):
用命令行执行这一部分内容,命令行输入的命令如下,最终的输出结果是在上图函数中初始化的参数都为//
python relation_extraction.py train --write-model True \ --masking-mode grammar_and_ner \ --batch-size 8 \ --max-epochs 3 \ --lm-coef 0.5 \ --learnin
g-rate 5.25e-5 \ --learning-rate-warmup 0.002 \ --clf-pdrop 0.1 \ --attn-pdrop 0.1 \ --word-pdrop 0.0 \ --dataset tacred \ --data-dir tacred_data \ --seed=0 \ --log-dir ./logs/
输出的结果:导致后续的代码没有相对应的值以至于执行不了。
{'dataset': 'tacred', 'data_dir': 'tacred_data', 'log_dir': './logs/', 'max_grad_norm': '\\', 'learning_rate': 5.25e-05, 'learning_rate_warmup': 0.002, 'n_ctx': '\\', 'n_embd': '\\', '
n_head': '\\', 'n_layer': '\\', 'embd_pdrop': '\\', 'lm_coef': 0.5, 'attn_pdrop': 0.1, 'resid_pdrop': '\\', 'clf_pdrop': 0.1, 'word_pdrop': 0.0, 'l2': '\\', 'vector_l2': '\\', 'optimiz
er': '\\', 'afn': '\\', 'learning_rate_schedule': '\\', 'encoder_path': '\\', 'bpe_path': 'model/vocab_40000.bpe', 'n_transfer': 12, 'beta1': 0.9, 'beta2': 0.999, 'e': 1e-08, 'batch_si
ze': 8, 'max_epochs': 3, 'dev_size': 0.1, 'seed': 0, 'load_pre_trained': True, 'subsampling_rate': 1.0, 'train_set_limit': None, 'dev_file': None, 'dev_set_limit': None, 'skip_test_set
': False, 'verbose_fetcher': False, 'verbose_training': False, 'masking_mode': 'grammar_and_ner', 'write_model': True}