我希望根据我自己的文本数据对Huggingface的GPT-2转换器模型进行微调。我想在Google Colab笔记本上做这件事。然而,我有两个问题。首先,它似乎不起作用。
我通过Colab安装各种零碎的东西:
!git clone https://github.com/huggingface/transformers
%cd transformers
!pip install .
!pip install -r ./examples/requirements.txt为了进行培训,我将建议的WikiText示例数据上载到,并在笔记本中运行建议的Following the example命令。
!export TRAIN_FILE=wiki.train.raw
!export TEST_FILE=wiki.test.raw
!python run_lm_finetuning.py \
--output_dir=output \
--model_type=gpt2 \
--model_name_or_path=gpt2 \
--do_train \
--train_data_file=$TRAIN_FILE \
--do_eval \
--eval_data_file=$TEST_FILE这个过程进行了一段时间,但随后我得到了一个断言错误:
Traceback (most recent call last):
File "run_lm_finetuning.py", line 790, in <module>
main()
File "run_lm_finetuning.py", line 735, in main
train_dataset = load_and_cache_examples(args, tokenizer, evaluate=False)
File "run_lm_finetuning.py", line 149, in load_and_cache_examples
return TextDataset(tokenizer, args, file_path=file_path, block_size=args.block_size)
File "run_lm_finetuning.py", line 88, in __init__
assert os.path.isfile(file_path)
AssertionError我想这和我的训练数据有关?请注意,这两个文件与lm_finetuning.py脚本位于同一文件夹中,因此我不确定os.path问题可能是什么。
benchmarks.py run_generation.py summarization
contrib run_glue.py test_examples.py
distillation run_lm_finetuning.py tests_samples
hans run_multiple_choice.py utils_multiple_choice.py
mm-imdb run_ner.py utils_ner.py
pplm run_squad.py wiki.test.raw
README.md run_tf_glue.py wiki.test.tokens
requirements.txt run_tf_ner.py wiki.train.raw
run_bertology.py run_xnli.py wiki.train.tokens我的第二个问题是,即使微调确实有效,我也不知道如何用我自己的文本数据复制结果。我不能打开WikiText原始文件,所以我不知道它们是什么格式。是普通的纯文本吗?它们是以某种方式标记化的吗?如果有人能在这方面给我启发,我将不胜感激!
发布于 2020-01-31 02:49:30
如果其他人来寻找解决方案,答案是bash中的环境变量需要使用%指定,而不是google colab中的!。所以脚本应该是:
%env TRAIN_FILE=/content/wiki.train.raw
%env TEST_FILE=/content/wiki.test.raw
!python /content/transformers/examples/run_lm_finetuning.py \
--output_dir=output \
--model_type=gpt2 \
--model_name_or_path=gpt2 \
--do_train \
--train_data_file=/content/wiki.train.raw \
--do_eval \
--eval_data_file=/content/wiki.test.raw还请注意,使用绝对文件路径比使用相对文件路径更容易。在hugginface GitHub存储库上向cronoik致敬,因为他指出了这一切。
https://stackoverflow.com/questions/59962851
复制相似问题