当前位置: 首页 > news >正文

做网站工具 不懂代码开发公司工程部岗位职责

做网站工具 不懂代码,开发公司工程部岗位职责,上海公司车辆怎么查询违章,电子营业执照原文网址#xff1a;https://blog.csdn.net/Real_Brilliant/article/details/84880528 如何使用BERT模型实现中文的文本分类前言Pytorchreadme参数表算法流程1. 概述2. 读取数据3. 特征转换4. 模型训练5. 模型测试6. 测试结果7. 总结前言 Google官方BERT代码#xff08;Tenso…原文网址https://blog.csdn.net/Real_Brilliant/article/details/84880528 如何使用BERT模型实现中文的文本分类前言Pytorchreadme参数表算法流程1. 概述2. 读取数据3. 特征转换4. 模型训练5. 模型测试6. 测试结果7. 总结 前言 Google官方BERT代码Tensorflow本文章参考的BERT分类代码Pytorch本文章改进的BERT中文文本分类代码PytorchBERT模型介绍 Pytorch readme 请先安装pytorch的BERT代码代码源见前言(2)pip install pytorch-pretrained-bert 1 参数表 data_dirbert_modeltask_name输入数据目录加载的bert模型对于中文文本请输入’bert-base-chinese’输入数据预处理模块最好根据应用场景自定义model_save_pthmax_seq_length*train_batch_size模型参数保存地址最大文本长度batch大小learning_ratenum_train_epochsAdam初始学习步长最大epoch数* max_seq_length 所设定的文本长度 2 BERT会给每个输入文本开头和结尾分别加上[CLS]和[SEP]标识符因此会占用2个字符空间其作用会在后续进行详细说明。 算法流程 1. 概述 训练阶段利用验证集调整参数选取验证集上得分最高的模型测试阶段加载预训练模型读取数据特征转换模型训练保存最佳模型参数加载训练阶段最佳模型读取数据特征转换输入模型并进行测试2. 读取数据 对应于参数表中的task_name是用于数据读取的模块可以根据自身需要自定义新的数据读取模块以输入数据为json文件时为例数据读取模块包含两个部分 基类DataProcessorclass DataProcessor(object): def get_train_examples(self, data_dir):raise NotImplementedError() def get_dev_examples(self, data_dir):raise NotImplementedError()def get_test_examples(self, data_dir):raise NotImplementedError()def get_labels(self):raise NotImplementedError()classmethod def _read_json(cls, input_file, quotecharNone):Reads a tab separated value file.dicts []with codecs.open(input_file, r, utf-8) as infs:for inf in infs:inf inf.strip()dicts.append(json.loads(inf))return dicts12345678910111213141516171819202122 用于数据读取的模块MyProclass MyPro(DataProcessor):def get_train_examples(self, data_dir):return self._create_examples(self._read_json(os.path.join(data_dir, train.json)), train) def get_dev_examples(self, data_dir):return self._create_examples(self._read_json(os.path.join(data_dir, val.json)), dev)def get_test_examples(self, data_dir):return self._create_examples(self._read_json(os.path.join(data_dir, test.json)), test)def get_labels(self):return [0, 1]def _create_examples(self, dicts, set_type):examples []for (i, infor) in enumerate(dicts):guid %s-%s % (set_type, i)text_a infor[question]label infor[label]examples.append(InputExample(guidguid, text_atext_a, labellabel))return examples12345678910111213141516171819202122232425 需要注意的几点是 data_dir目录下应包含名为train、val、test的三个文件根据文件格式不同需要对读取方式进行修改get_labels()返回的是所有可能的类别label_list比如[数学, 英语, 语文]、[1, 2, 3]…模块最终返回一个名为examples的列表每个列表元素中包含序号、中文文本、类别三个元素 3. 特征转换 convert_examples_to_features是用于将examples转换为特征也即features的函数。features包含4个数据 input_ids分词后每个词语在vocabulary中的id补全符号对应的id为0[CLS]和[SEP]的id分别为101和102。应注意的是在中文BERT模型中中文分词是基于字而非词的分词。input_mask真实字符/补全字符标识符真实文本的每个字对应1补全符号对应0[CLS]和[SEP]也为1。segment_ids句子A和句子B分隔符句子A对应的全为0句子B对应的全为1。但是在多数文本分类情况下并不会用到句子B所以基本不用管。label_id 将label_list中的元素利用字典转换为index标识即label_map {} for (i, label) in enumerate(label_list):label_map[label] i 123 features中一个元素的例子是 转换完成后的特征值就可以作为输入用于模型的训练和测试 4. 模型训练 完成读取数据、特征转换之后将特征送入模型进行训练训练算法为BERT专用的Adam算法训练集、测试集、验证集比例为6:2:2每一个epoch后会在验证集上进行验证并给出相应的f1值如果f1值大于此前最高分则保存模型参数否则flags加1。如果flags大于6也即连续6个epoch模型的性能都没有继续优化停止训练过程。f1 val(model, processor, args, label_list, tokenizer, device) if f1 best_score:best_score f1print(*f1 score {}.format(f1))flags 0checkpoint {state_dict: model.state_dict()}torch.save(checkpoint, args.model_save_pth) else:print(f1 score {}.format(f1))flags 1if flags 6:break 1234567891011121314 如果epoch数超过先前设定的num_train_epochs同样会停止迭代。 5. 模型测试 先加载模型送数据取得分完事暂时还没加打印测试结果到文件的功能后续会加上 6. 测试结果 val_F1test_F1Fast text0.72180.7094Text rnn bigru0.73830.7194Text cnn0.72920.7088bigru attention0.73350.7146RCNN0.73550.7213BERT0.79380.787基于真实数据做的文本分类用过不少模型BERT的性能可以说是独一档BERT确实牛逼不过一部分原因也是模型量级就不一样 7. 总结 使用代码的时候按照参数表修改下参数把数据按照命名规范放data_dir目录下一般就没啥问题了最多还要修改下读取数据的代码如果数据不是.json格式的就可以跑通了最后可以根据个人需要对模型训练逻辑、epoch数、学习步长等地方做进一步修改代码地址已经放在前言(3)里了 /divdiv data-report-view{quot;modquot;:quot;1585297308_001quot;,quot;destquot;:quot;https://blog.csdn.net/Real_Brilliant/article/details/84880528quot;,quot;extend1quot;:quot;pcquot;,quot;abquot;:quot;newquot;}div/div/divlink hrefhttps://csdnimg.cn/release/phoenix/mdeditor/markdown_views-60ecaf1f42.css relstylesheet/div
http://www.zqtcl.cn/news/616781/

相关文章:

  • 枣庄住房和城乡建设局网站如何注册国外域名
  • 满洲里建设局网站网页设计公司的目标客户有哪些
  • 英文书 影印版 网站开发怀化组织部网站
  • 网站建设领域的基本五大策略要学会网站细节
  • dede做英文网站优化cms建站系统哪个好
  • eclipse sdk做网站邯郸技术服务类
  • 汕头网站网站建设西安网约车租车公司哪家好
  • 网站空间域名维护协议网络推广软件平台
  • 昆明网站建设公司猎狐科技怎么样wordpress主题打不开
  • 网站推广入口服饰网站建设 e-idea
  • 长沙网站建设电话2个女人做暧暧网站
  • 手机手机端网站建设电子商务网站建设步骤一般为
  • 上海金瑞建设集团网站怎样登陆网站后台
  • 定西模板型网站建设网络架构和现实架构的差异
  • 做搜索的网站做网站的代码有哪些
  • 视频制作网站推荐js做音乐网站
  • 海北wap网站建设公司有后台网站怎么做
  • 织梦网站最新漏洞入侵外贸网站模板有什么用
  • 在跨境网站贸易公司做怎么样网站建设维护合同范本
  • 网站必须做可信认证南山网站制作
  • 如何使用mysql数据库做网站企业管理专业大学排名
  • 九江网站建设九江深圳网站建设费用大概多少
  • 万网站长工具郑州seo哪家公司最强
  • 宁波哪里可以做网站企业网站源码哪个好
  • 网站每天点击量多少好精选聊城做网站的公司
  • 网站建设课程基础兰州网站seo费用
  • 天助可以搜索别人网站曲靖网站推广
  • 易语言编程可以做网站么网站备案流程
  • 我想接加工单seo搜索引擎优化工资
  • 西宁做网站君博推荐wordpress如何管理