Closed Yu-Yuqing closed 2 years ago
你好,我在跑您的关系抽取的代码过程中,直接执行run.sh文件会报错,提示No such file or directory: './data/re_mid_data/rels.txt'。
我从提供的百度网盘的数据下载后rels.txt,发现里面的标签和bert_re/data下的train.txt的标签并不一样,这个rels.txt应该是您原始数据中的所有标签。
我发现main.py代码里最后用到的也是train.pkl文件来训练,我尝试取消注释main.py的217~219行,做一些更改来用train.txt训练,但会有更多的报错。请问怎么用data下的train.txt直接参与训练呢,还是必须要用到re_mid_data和re_final_data的数据?
谢谢!
bert_re里面用的数据不是那下面的data,而是bert_re同级目录下的。路径找不到问题,你把所有的路径换成绝对路径。
那就是必须用到train.pkl数据参与训练,data下的数据并不能用是吗
那就是必须用到train.pkl数据参与训练,data下的数据并不能用是吗
train.pkl实际上是根据train.txt生成的。要用pytorch_triple_extractio下的data里面的数据。具体处理在pytorch_triple_extractio下的re_process.py
谢谢回答!我看train.pkl文件是bert_re/preprocess.py生成的吧,那我只要把自己的数据处理成train.txt的样子,再调用preprocess.py就能得到train.pkl训练数据了吧。
谢谢回答!我看train.pkl文件是bert_re/preprocess.py生成的吧,那我只要把自己的数据处理成train.txt的样子,再调用preprocess.py就能得到train.pkl训练数据了吧。
可以单独运行生成,也可以在main.py生成数据时调用。我这里生成了就注释掉了,避免每一次都重新生成一遍:
# train_out = preprocess.get_out(processor, './data/train.txt', args, id2label, 'train')
# dev_out = preprocess.get_out(processor, './data/test.txt', args, id2label, 'dev')
# test_out = preprocess.get_out(processor, './data/test.txt', args, id2label, 'test')
train_out = pickle.load(open(re_final_data_path+'/train.pkl','rb'))
dev_out = pickle.load(open(re_final_data_path+'/dev.pkl','rb'))
test_out = pickle.load(open(re_final_data_path+'/dev.pkl','rb'))
你好,我在跑您的关系抽取的代码过程中,直接执行run.sh文件会报错,提示No such file or directory: './data/re_mid_data/rels.txt'。
我从提供的百度网盘的数据下载后rels.txt,发现里面的标签和bert_re/data下的train.txt的标签并不一样,这个rels.txt应该是您原始数据中的所有标签。
我发现main.py代码里最后用到的也是train.pkl文件来训练,我尝试取消注释main.py的217~219行,做一些更改来用train.txt训练,但会有更多的报错。请问怎么用data下的train.txt直接参与训练呢,还是必须要用到re_mid_data和re_final_data的数据?
谢谢!