zjunlp / DeepKE

[EMNLP 2022] An Open Toolkit for Knowledge Graph Extraction and Construction
http://deepke.zjukg.cn/
MIT License
3.6k stars 694 forks source link

mt5运行结束后没有‘test_preds.json’文件 #277

Closed ZeyuZhu0120 closed 1 year ago

ZeyuZhu0120 commented 1 year ago

在运行完bash run_finetene_ds.bash后,在output文件夹下没有找到readme中提到的‘test_preds.json’文件。

1684293373893

我想要运行convert.py文件进行格式转换,但是这个目录下并没有test_pred.json文件,请问这个该如何解决呢?

1684293607665(1)
guihonghao commented 1 year ago

你好,你可以通过运行下面的命令,它将会在output/ccks_mt5-base_f1_1e-4_test_result目录下生成test_preds.json文件。你需要将model_name设置为训练好的模型的位置、output_dir是输出test_preds.json文件所在位置、data_dir是测试数据所在目录。

model_name="output/ccks_mt5-base_f1_1e-4"
output_dir="output/ccks_mt5-base_f1_1e-4_test_result"
data_dir="data"

deepspeed  --include localhost:0,2 src/run_ccks_ds.py \
    --do_predict \
    --predict_with_generate \
    --use_fast_tokenizer=True \
    --per_device_eval_batch_size 16 \
    --test_file=${data_dir}/valid.json \
    --model_name_or_path=${model_name}   \
    --output_dir=${output_dir}  \
    --overwrite_output_dir=False \
    --logging_dir=${output_dir}_log \
    --preprocessing_num_workers 4 \
    --generation_max_length 256 \
    --generation_num_beams 1 \
    --gradient_checkpointing=True \
    --bf16=True \
    --deepspeed "configs/ds_mt5_z3_config_bf16.json" \
    --seed 42 
ZeyuZhu0120 commented 1 year ago
deepspeed  --include localhost:0,2 src/run_ccks_ds.py \

再次感谢您的回复,我看到您的回复中有些到这个命令:deepspeed --include localhost:0,2 src/run_ccks_ds.py \ 但是我看Github项目中并没有这个src/run_ccks_ds.py文件,请问运行的是run_finetune.py文件还是其他的呢?

guihonghao commented 1 year ago

应该是deepspeed --include localhost:0,1 run_finetune.py

ZeyuZhu0120 commented 1 year ago

应该是deepspeed --include localhost:0,1 run_finetune.py

感谢您的回复,我按照您的指令再尝试一下!

ZeyuZhu0120 commented 1 year ago

应该是deepspeed --include localhost:0,1 run_finetune.py

您好,十分抱歉再次打扰您,我按照您刚刚给出的bash文件执行了如下命令:

1684318406110

但是发生了下面的报错,请问是哪里出了问题呢?还是说我要重新训练一遍模型,像您最新的readme中提到的那样:--do_train --do_eval --do_predict \

1684318248801

还有一个小问题是:我看您readme中写的是用了两张3090来跑mt5这个demo,bachsize设置的是16,但是实际我跑的时候也是两张3090,bachsize设置为16时显存会爆掉,我调整为8以后,仍然出现这样的情况,我调成4以后可以正常运行。后来我又尝试了使用了两张V100,bachsize设置为16,显存仍然爆掉,这令我十分不解,所以我好奇您在跑的时候是2张3090 bachsize=16吗?非常感谢您的解答!

f83ed62cdbb5d87ffa6fd1faa51d287
guihonghao commented 1 year ago

你尝试把--preprocessing_num_workers 4 \去掉

guihonghao commented 1 year ago

应该是deepspeed --include localhost:0,1 run_finetune.py

您好,十分抱歉再次打扰您,我按照您刚刚给出的bash文件执行了如下命令: 1684318406110 但是发生了下面的报错,请问是哪里出了问题呢?还是说我要重新训练一遍模型,像您最新的readme中提到的那样:--do_train --do_eval --do_predict 1684318248801

还有一个小问题是:我看您readme中写的是用了两张3090来跑mt5这个demo,bachsize设置的是16,但是实际我跑的时候也是两张3090,bachsize设置为16时显存会爆掉,我调整为8以后,仍然出现这样的情况,我调成4以后可以正常运行。后来我又尝试了使用了两张V100,bachsize设置为16,显存仍然爆掉,这令我十分不解,所以我好奇您在跑的时候是2张3090 bachsize=16吗?非常感谢您的解答! f83ed62cdbb5d87ffa6fd1faa51d287

我看你好像设置的bf16是False

ZeyuZhu0120 commented 1 year ago

应该是deepspeed --include localhost:0,1 run_finetune.py

您好,十分抱歉再次打扰您,我按照您刚刚给出的bash文件执行了如下命令: 1684318406110 但是发生了下面的报错,请问是哪里出了问题呢?还是说我要重新训练一遍模型,像您最新的readme中提到的那样:--do_train --do_eval --do_predict 1684318248801 还有一个小问题是:我看您readme中写的是用了两张3090来跑mt5这个demo,bachsize设置的是16,但是实际我跑的时候也是两张3090,bachsize设置为16时显存会爆掉,我调整为8以后,仍然出现这样的情况,我调成4以后可以正常运行。后来我又尝试了使用了两张V100,bachsize设置为16,显存仍然爆掉,这令我十分不解,所以我好奇您在跑的时候是2张3090 bachsize=16吗?非常感谢您的解答! f83ed62cdbb5d87ffa6fd1faa51d287

我看你好像设置的bf16是False

1684319624799 1684319661413

是的,bf16我之前设置的为False,因为之前运行时这个地方会报错,说是我的GPU不支持bf16,我更改为False以后就能够正常运行了,所以应该不是这个地方的问题。 我按照您刚刚的回复把--preprocessing_num_workers 4 \这个给去掉的以后,还是一样的错误。

guihonghao commented 1 year ago

有可能是你的valid.json中有些行存在output字段?你可以把3个地方的remove_columns=train/valid/test_column_names都去掉。

guihonghao commented 1 year ago

应该是deepspeed --include localhost:0,1 run_finetune.py

您好,十分抱歉再次打扰您,我按照您刚刚给出的bash文件执行了如下命令: 1684318406110 但是发生了下面的报错,请问是哪里出了问题呢?还是说我要重新训练一遍模型,像您最新的readme中提到的那样:--do_train --do_eval --do_predict 1684318248801 还有一个小问题是:我看您readme中写的是用了两张3090来跑mt5这个demo,bachsize设置的是16,但是实际我跑的时候也是两张3090,bachsize设置为16时显存会爆掉,我调整为8以后,仍然出现这样的情况,我调成4以后可以正常运行。后来我又尝试了使用了两张V100,bachsize设置为16,显存仍然爆掉,这令我十分不解,所以我好奇您在跑的时候是2张3090 bachsize=16吗?非常感谢您的解答! f83ed62cdbb5d87ffa6fd1faa51d287

我看你好像设置的bf16是False

1684319624799 1684319661413 是的,bf16我之前设置的为False,因为之前运行时这个地方会报错,说是我的GPU不支持bf16,我更改为False以后就能够正常运行了,所以应该不是这个地方的问题。 我按照您刚刚的回复把--preprocessing_num_workers 4 \这个给去掉的以后,还是一样的错误。

我看它好像是在eval的时候显存不够的。你可以尝试设置eval_accumulation_steps=32或64试试(但这会导致eval的时候很慢)

ZeyuZhu0120 commented 1 year ago

有可能是你的valid.json中有些行存在output字段?你可以把3个地方的remove_columns=train/valid/test_column_names都去掉。 我的valid.json文件是从ccks官网任务一中下载的

1684320290911

run_finetune.py文件中的remove_columns=train/valid/test_column_names这三个地方我刚刚都去掉了,但还是一样的错误。

guihonghao commented 1 year ago

有点错误,我修改了源码,自己跑了一遍,成功了。你可以再试试。

ZeyuZhu0120 commented 1 year ago

有点错误,我修改了源码,自己跑了一遍,成功了。你可以再试试。

您说的是只执行--do_predict吗?还是说模型重新训练一遍呢?我刚刚试了一下您修改的代码,但是现在报这个错误 M X6@8@BA5YRTSG_W$3RFO QU_7VY9~O_X{GOCM2MO5FME

${_WQD3H9ARUZBZOI6F81VJ

harvinyou commented 1 year ago

感谢作者解答,我是今天下午的时候按作者下午的版本运行了代码发现报错和上一个人一样,我现在按作者的源码尝试一下,谢谢作者!!! image

ZeyuZhu0120 commented 1 year ago

感谢作者解答,我是今天下午的时候按作者下午的版本运行了代码发现报错和上一个人一样,我现在按作者的源码尝试一下,谢谢作者!!! image

你好,想问下你是根据作者修改的代码运行的这个bash文件成功的吗?

image
guihonghao commented 1 year ago

有点错误,我修改了源码,自己跑了一遍,成功了。你可以再试试。

您说的是只执行--do_predict吗?还是说模型重新训练一遍呢?我刚刚试了一下您修改的代码,但是现在报这个错误 M X6@8@BA5YRTSG_W$3RFO QU_7VY9~O_X{GOCM2MO5FME

${_WQD3H9ARUZBZOI6F81VJ

你试试最新的源码,里面没有RecordFeatures的

harvinyou commented 1 year ago

作者您好,十分感谢您的解答,我现在也测试一下您最新上传的bash,我的截图是作者下午之前的版本,发截图是表达一下我也遇到相同问题,希望这一次可以跑通,没有作者解答之前我认为是生成的文件里面没有output列,百思不得其解

ZeyuZhu0120 commented 1 year ago

有点错误,我修改了源码,自己跑了一遍,成功了。你可以再试试。

您说的是只执行--do_predict吗?还是说模型重新训练一遍呢?我刚刚试了一下您修改的代码,但是现在报这个错误 M X6@8@BA5YRTSG_W$3RFO QU_7VY9~O_X{GOCM2MO5FME ${_WQD3H9ARUZBZOI6F81VJ

你试试最新的源码,里面没有RecordFeatures的

感谢您的提醒,现在看起来一切正常了!!再次感谢您的回复!

image
guihonghao commented 1 year ago

有点错误,我修改了源码,自己跑了一遍,成功了。你可以再试试。

您说的是只执行--do_predict吗?还是说模型重新训练一遍呢?我刚刚试了一下您修改的代码,但是现在报这个错误 M X6@8@BA5YRTSG_W$3RFO QU_7VY9~O_X{GOCM2MO5FME ${_WQD3H9ARUZBZOI6F81VJ

你试试最新的源码,里面没有RecordFeatures的

感谢您的提醒,现在看起来一切正常了!!再次感谢您的回复! image

没事没事,祝你取得好成绩!