AtmaHou / FewShotTagging

Code for ACL2020 paper: Few-shot Slot Tagging with Collapsed Dependency Transfer and Label-enhanced Task-adaptive Projection Network
153 stars 29 forks source link

执行 source ./scripts/run_L-Tapnet+CDT.sh 0 snips 报错 #3

Closed Yegiri closed 4 years ago

Yegiri commented 4 years ago

报错信息如下:

[START] set jobs on dataset [ snips ] on gpu [ 0 ]
[CLI]
Model: L-Tapnet-CDT.dec_crf.enc_bert.ems_tapnet-dbt.mlp__random_0.5.e_scl_learn0.01_none.lb_sep_scl_fix0.5.t_scl_none1_none.t_i_rand.-mk_tr_.sim_dot.lr_0.00001.up_lr_0.001.bs_4_4.sp_b_2.w_ep_1.ep_3
Task: snips.shots_1.cross_id_1.m_seed_10150
[CLI]
Epoch:   0%|                                              | 0/1 [00:00<?, ?it/s]
Traceback (most recent call last):                     | 0/5000 [00:00<?, ?it/s]
  File "main.py", line 218, in <module>
    main()
  File "main.py", line 164, in main
    training_model, train_features, opt.warmup_epoch)
  File "/home/liu-mh/FewShotTagging-master/utils/trainer.py", line 117, in do_train
    loss = self.do_forward(batch, model, epoch_id, step)
  File "/home/liu-mh/FewShotTagging-master/utils/trainer.py", line 575, in do_forward
    label_output_mask,
  File "/home/liu-mh/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 489, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/liu-mh/FewShotTagging-master/models/few_shot_seq_labeler.py", line 258, in forward
    mask=test_output_mask)
  File "/home/liu-mh/FewShotTagging-master/models/fewshot_seqlabel/conditional_random_field.py", line 298, in forward
    tags, mask)
  File "/home/liu-mh/FewShotTagging-master/models/fewshot_seqlabel/conditional_random_field.py", line 251, in _joint_likelihood
    emit_score = logits[i].gather(1, current_tag.view(batch_size, 1)).squeeze(1)
RuntimeError: Invalid index in gather at **/pytorch/aten/src/TH/generic/THTensorEvenMoreMath.cpp:457

想问一下这是什么问题导致的?

laiyongkui1997 commented 4 years ago

你好,我clone下代码以及下载了数据,运行脚本的话是能够成功运行的。

image

你是有改动代码什么的么?

AtmaHou commented 4 years ago

Hi,

我这边check了一下数据,并且重新跑了一下,代码正常,没有复现你的问题。

看了你的log文件和错误信息,你试一下下面两个解决方案: (1)可能是你feature cache生成的有损坏,你试一下删除cache,再跑一下。 (2)log显示你是用cpu跑的,这个我们没有做太多测试,尝试直接用单个gpu跑一下吧。

Best

AtmaHou commented 4 years ago

补充最后的解决方法: “我给ubuntu添加了Nvidia驱动之后就可以运行了”

SwaggyZhang commented 4 years ago

你好,run_L-Tapnet+CDT.sh 文件中,有一个参数是

trained_model_path=${data_dir}${model_name}.DATA.${file_mark}/model.path

在运行时,提示找不到文件路径,请问是先需要自己训练模型吗?

laiyongkui1997 commented 4 years ago

trained_model_path 这个参数对应的是saved_model_path这个参数,其作用是直接测试训练好的模型。 在训练时是用不到的。

SwaggyZhang commented 4 years ago

好的,谢谢!