【唐宇迪】章节14+15:BERT理论与实战

课时92 BERT模型训练方法

>>如何训练BERT

方法1:15%词汇被随机mask掉(涉及损失函数

方法2:预测两个句子是否应该连在一起

课时93 训练实例

阅读理解题:输入的是文章和问题,输出的是理解的答案位置。返回结果是答案(词汇)在文章中所在的位置

如何设计网络:需要额外设置两个辅助向量,分别记录答案的起始位置和终止位置,用辅助向量和文章中每个词做内积(表示相关性),通过softmax确定最大值

课时94 BERT开源项目简介

BERT下bert-master文件夹

1. 为文件设置参数

--num_train_epochs=3.0小项目可以更小一点

2. 运行文件测试基础环境

运行run_classifier.py文件出现问题“AttributeError: module 'tensorflow._api.v2.train' has no attribute 'Optimizer'”

解决方法:额外安装更老的tensorflow版本

命令:python -m pip install tensorflow-gpu==1.15.0

3. 读+修改基础代码

1)#代码296行

class MrpcProcessor(DataProcessor):

"""Processor for the MRPC data set (GLUE version)."""

……

2)如果数据集不是MRPC则需要进行个人改动,例如,test a,b

#代码325行

text_a = tokenization.convert_to_unicode(line[3])

text_b = tokenization.convert_to_unicode(line[4])

3)调整迭代次数,train_batch_steps是迭代次数,get_train_examples读数据

#代码842

if FLAGS.do_train:

train_examples = processor.get_train_examples(FLAGS.data_dir)

num_train_steps =int(

len(train_examples) / FLAGS.train_batch_size * FLAGS.num_train_epochs)

num_warmup_steps =int(num_train_steps * FLAGS.warmup_proportion)

来源:https://www.jianshu.com/p/22c50ded4cf7

4. 运行问题

TensorFlow报错:AttributeError: module 'tensorflow_core._api.v2.train' has no attribute 'Optimizer‘

https://blog.csdn.net/weixin_42720673/article/details/103066349

TensorFlow版本更新到2.0,Optimizer方法调用方式改变 。将tf.train.Optimizer,更改为tf.optimizers.Optimizer即可。

AttributeError: module 'tensorflow' has no attribute 'flags'

https://blog.csdn.net/qq_40212975/article/details/103718044

import tensorflow ad tf 改为 import tensorflow.compat.v1 as tf

module 'tensorflow' has no attribute 'gfile'

https://blog.csdn.net/weixin_41845265/article/details/108573026

tf.gfile 改成 tf.io.gfile

以上问题最后只是通过改变TensorFlow版本从2.4.0->2.0.0就可以了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容