Closed xxllp closed 1 year ago
您好,ie任务是采用的pipeline,包括一个实体识别模型和一个关系分类模型,cdn任务包括了一个分类模型和数量预测模型。可以方便贴一下您具体的报错信息吗?
执行命令sh examples/run_ie.sh predict
Start running Traceback (most recent call last): File "baselines/run_ie.py", line 218, in <module> main() File "baselines/run_ie.py", line 177, in main tokenizer = tokenizer_class.from_pretrained(os.path.join(args.output_dir, 'er')) File "/root/anaconda3/envs/anon-kit/lib/python3.7/site-packages/transformers/tokenization_utils_base.py", line 1768, in from_pretrained f"Can't load tokenizer for '{pretrained_model_name_or_path}'. If you were trying to load it from " OSError: Can't load tokenizer for 'data/output/ie/pretrain5/er'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'data/output/ie/pretrain5/er' is the correct path to a directory containing all relevant files for a BertTokenizer tokenizer.
这个代码我看是两个模型 报错是找不到文件 实际目录下没有这个
还有个cdn的报错也基本一样的
报错的地方改好了 有些代码不太对
就是训练太慢了 是否能支持多卡同时训练
您好目前不支持多卡,您可以直接用deepspeed来实现多卡。
感谢您的关注,如果您方便的话可以提交pr
这个ie 预测加载的模型应该还是不对 基本得到的实体位置 概率都是0.5
这个ie 预测加载的模型应该还是不对 基本得到的实体位置 概率都是0.5
请问您用的还是自己的模型吗,还是公开的预训练模型?
我知道为啥了 这个很奇怪啊 best step保存的pt参数文件 在ie.py里面重新保存了就不对了 但是我把文件转移过去是正确的~~~
model = REModel(tokenizer, model_class, encoder_path=os.path.join(args.output_dir, f'checkpoint-{best_step}'), num_labels=data_processor.num_labels, config=config) model.load_state_dict(torch.load(os.path.join(args.output_dir, f'checkpoint-{best_step}', 'pytorch_model.pt'))) tokenizer = tokenizer_class.from_pretrained(os.path.join(args.output_dir, f'checkpoint-{best_step}')) torch.save(model.state_dict(), os.path.join(args.output_dir, 'pytorch_model_re.pt'))
这个里面最后一步保存文件是不对的?
@xxllp hello,请教下ER、RE的_save_best_checkpoint 函数怎么写的?看源码是直接pass了,没保存。用self.model_class.from_pretrained load checkpoint,提示 ERModel 没有from_pretrained
torch 版本太高了 我用的torch 1.7才解决了这些个问题
@xxllp hello,请教下ER、RE的_save_best_checkpoint 函数怎么写的?看源码是直接pass了,没保存。用self.model_class.from_pretrained load checkpoint,提示 ERModel 没有from_pretrained
您好,ER和RE是在run_ie.py
中保存的best_checkpoint,如下:
https://github.com/CBLUEbenchmark/CBLUE/blob/7febcfe7f65094bcbc2bf74c5bfccb870682360a/baselines/run_ie.py#L120-L124
另外ERModel是没有from_pretrained函数的,可以使用load_state_dict
进行加载。
我很奇怪为啥这个里面ERModel 等模型 要 encoder 还要保存下参数 这个不能一起保存吗
我很奇怪为啥这个里面ERModel 等模型 要 encoder 还要保存下参数 这个不能一起保存吗
请问“要 encoder 还要保存下参数 ”指的是什么?没太明白您的意思。
我现在需要升级下这个transformers的版本 代码这块需要改动啥 pt文件没有了 只有bin文件
代码如下 这里面就是encoder 保存
if args.model_type == 'zen':
save_zen_model(os.path.join(args.output_dir, 'er'), model.encoder, tokenizer, ngram_dict, args)
else:
model.encoder.save_pretrained(os.path.join(args.output_dir, 'er'))
tokenizer.save_vocabulary(save_directory=os.path.join(args.output_dir, 'er'))
但是之上 已经有
torch.save(model.state_dict(), os.path.join(args.output_dir, 'pytorch_model_er.pt'))
代码如下 这里面就是encoder 保存
if args.model_type == 'zen': save_zen_model(os.path.join(args.output_dir, 'er'), model.encoder, tokenizer, ngram_dict, args) else: model.encoder.save_pretrained(os.path.join(args.output_dir, 'er')) tokenizer.save_vocabulary(save_directory=os.path.join(args.output_dir, 'er'))
但是之上 已经有
torch.save(model.state_dict(), os.path.join(args.output_dir, 'pytorch_model_er.pt'))
保存的encoder实际是预训练语言模型,也可以不保存的哈。
还有个cdn的报错也基本一样的
请问下,您是怎么解决的
这块我看这两个数据集的训练的时候只有一个模型文件 但是预测代码却要求两个模型 这个是哪里参数有不对的地方嘛