【发布时间】:2020-04-08 03:22:31
【问题描述】:
我正在处理transformers。
我有一个 python 脚本,它通过 argparse 将参数作为输入。
这是其中的一部分:
parser = argparse.ArgumentParser()
parser.add_argument("--model_type", default=None, type=str, required=True,
help="Model type selected in the list: " + ", ".join(MODEL_CLASSES.keys()))
parser.add_argument("--model_name_or_path", default=None, type=str, required=True,
help="Path to pre-trained model or shortcut name selected in the list: " + ", ".join(ALL_MODELS))
我希望能够使用不同的参数迭代地调用脚本。 我可以使用 %run 或 !python bash command> 调用脚本,但我不能将变量传递给它以解释为参数,因为它将变量视为实际的字符串值:
%run examples/run_lm_finetuning.py --gradient_accumulation_steps=1 --output_dir='output_medium' --model_type='gpt2' \
--model_name_or_path=model_load --do_train --train_data_file='/root/sharedfolder/omri/data/pieces/backup/{}'.format(file)\
--overwrite_output_dir --per_gpu_train_batch_size=1 --per_gpu_eval_batch_size=1 --save_total_limit=5
返回:
OSError: Model name 'model_load' was not found in
model name list (gpt2, gpt2-medium, gpt2-large, gpt2-xl, distilgpt2).
We assumed 'model_load' was a path or url to a configuration file named
config.json or a directory containing such a file but couldn't find any
such file at this path or url.
【问题讨论】:
标签: python jupyter-notebook argparse