Cheung

Results 10 comments of Cheung

谢谢,等测试完来反馈一下效果

flat_main.py: param_ = [{'params':non_embedding_param}, {'params':embedding_param, 'lr':args.lr*args.embed_lr_rate}] 1、默认args.embed_lr_rate=1,相当于没有设置单独的学习率; 2、bigram_embedding和lattice_embedding都是由预训练词向量文件所载入,思考是不是使用较小学习率微调即可

flat_main.py:lrschedule_callback = LRScheduler(lr_scheduler=LambdaLR(optimizer, lambda ep: 1 / (1 + 0.05*ep) )) 请问这一段的作用是什么呢?学习率调整不是已经在前面定义了么?望指教,谢谢

本人在baidu lic2020事件抽取数据集上,测试了Flat-Transformer(without bert)在触发词抽取的表现,目前F1值能达到80%的水平,P值偏低,R值较高,请问作者有好的调参思路么?

> > flat_main.py:lrschedule_callback = LRScheduler(lr_scheduler=LambdaLR(optimizer, lambda ep: 1 / (1 + 0.05*ep) )) > > 请问这一段的作用是什么呢?学习率调整不是已经在前面定义了么?望指教,谢谢 > > 请问前面定义的学习率调整是指? optimizer = optim.Adam(param_, lr=args.lr, weight_decay=args.weight_decay) 优化器的学习率衰减,以及momentum设置,另外为何默认使用SGD而不是Adam呢,是做过对比么

> weight_decay对应的应该是l2正则项,LRScheduler对应的学习率逐渐变小。我实验下来SGD比ADAM好一点 感谢~

> 你好,我在训练开源数据weibo_NER数据时候可以这个正常训练,仿照weibo_NER数据格式做自己的训练数据训练报错,"Invalid instace which ends at line:4093 has been drpoped",加载数据时候出错,都是用"bio"encoding type,求指导下! 就像上面说的,如果在char+tag换行写入文件的时候,有空字符被打上标签好像就会有这种报错

使用下面的方法保存了新的tokenizer和模型权重,正常训练后发现生成到新添加的special_token时会自动停止生成,请问各位有遇到这种情况嘛? special_tokens_dict = {'additional_special_tokens': ['', '']} OLD_VOCAB_SIZE = len(tokenizer) print("------OLD_VOCAB_SIZE------", len(tokenizer)) tokenizer.add_special_tokens(special_tokens_dict) NEW_VOCAB_SIZE = len(tokenizer) print("------NEW_VOCAB_SIZE------", len(tokenizer)) tokenizer.save_pretrained(save_directory) HIDDEN_SIZE = model.config.hidden_size lm_head_w = model.get_output_embeddings().weight.data print(lm_head_w.shape) new_lm_head_w = torch.zeros([NEW_VOCAB_SIZE, HIDDEN_SIZE]) new_lm_head_w[:OLD_VOCAB_SIZE]...

> > 使用下面的方法保存了新的tokenizer和模型权重,正常训练后发现生成到新添加的special_token时会自动停止生成,请问各位有遇到这种情况嘛? ` """ Resize tokenizer and embedding. """ special_tokens_dict = {'additional_special_tokens': ['', '']} OLD_VOCAB_SIZE = len(tokenizer) print("------OLD_VOCAB_SIZE------", len(tokenizer)) tokenizer.add_special_tokens(special_tokens_dict) NEW_VOCAB_SIZE = len(tokenizer) print("------NEW_VOCAB_SIZE------", len(tokenizer)) tokenizer.save_pretrained(save_directory) > > ```...

tokenizer.vocab_size获取的还是原始config文件的数据,直接打印前后的len(tokenizer),看有没有变化就知道是否添加了