Как тренировать Xlnet с SQUAD 2.0?

Я попытался обучить и предсказать Xlnet с помощью SQUAD 2.0, запустив run_squad.py. Я использовал следующие флаги:

python run_squad.py   \
--use_tpu=True   \
--num_hosts=1   \
--num_core_per_host=8 \
--model_config_path=/home/jb/xlnet_cased_L-24_H-1024_A-16/xlnet_config.json   \
--spiece_model_file=/home/jb/xlnet_cased_L-24_H-1024_A-16/spiece.model   \
--output_dir=gs://bucket/xlnet_output_tf   \
--init_checkpoint=gs://bucket/xlnet_trained_model/model.ckpt-8000   \
--model_dir=gs://bucket/xlnet_trained_model   \
--train_file=/home/jb/data/train-v2.0.json   \
--predict_file=/home/jb/data/dev-v2.0.json   \
--uncased=False   \
--max_seq_length=512   \
--do_train=False   \
--train_batch_size=48   \
--do_predict=True   \
--predict_batch_size=32   \
--learning_rate=3e-5   \
--adam_epsilon=1e-6   \
--iterations=1000   \
--save_steps=1000   \
--train_steps=8000   \
--warmup_steps=1000   \
--tpu=xlnet

Он показал следующую ошибку:

Traceback (most recent call last):
  File "run_squad.py", line 1310, in <module>
    tf.app.run()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 40, in run
    _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
  File "/usr/local/lib/python2.7/dist-packages/absl/app.py", line 300, in run
    _run_main(main, args)
  File "/usr/local/lib/python2.7/dist-packages/absl/app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "run_squad.py", line 1298, in main
    orig_data)
  File "run_squad.py", line 875, in write_predictions
    qid_to_has_ans = squad_utils.make_qid_to_has_ans(orig_data)
  File "/home/jb00557372/xlnet/squad_utils.py", line 42, in make_qid_to_has_ans
    qid_to_has_ans[qa['id']] = bool(qa['answers'])

Эта же ошибка обнаружилась после тренировки и когда она пыталась предсказать ответ для dev_v2.0.json

Я загружаю некоторые файлы локально (Linux), а некоторые из Google Cloud Storage Bucket.

Что я здесь не так делаю? У меня была такая же ошибка раньше, когда я пытался обучить BERT с набором данных SQUAD 2.0, потому что я загружал некоторые файлы локально. Это причина проблемы? В сценарии оболочки для предварительной обработки набора данных SQUAD есть сценарии bash для создания переменной среды с использованием локального каталога. Итак, я предположил, что это так.

Все указанные файлы существуют в указанном каталоге. ТПУ инициализированы. Только эта ошибка обнаруживается.

0 ответов

Другие вопросы по тегам