4.1 KiB
README
BERT开源框架地址,最好读下README,以下是预训练好的BERT模型,这里用到两个
点击即可下载,里面内容如下
json:相关的参数
vocab:语料库
其它:使用时的是加载文件,如训练好的权重等
下载一个数据集,使用脚本命令下载,可能需要翻墙,可以访问我的云盘进行下载。链接:https://pan.baidu.com/s/18vPGelYCXGqp5OCWZWz36A 提取码:de0f。这里只用到MRPC
MRPC
内容如下:
train.csv:
二分类任务:判断两句话是否说的是同一意思
Quality:是否相同,相同为1
test.csv
没有了Quality,需要进行预测
download BERT
把bert的code全部下载下来,并解压到指定目录
创建环境
settings一个虚拟环境,我使用的是pycharm
我默认你是下载了某个IDE,至少是懂python的,Show All
点击加号
添加一个conda或者普通的python都可以,因为conda是专门做数据的,所以我选了conda,其实没什么区别
点击OK即可。
输入如下命令,进行安装
# python3.7,我的是window
pip install tensorflow==1.13.2 -i https://pypi.douban.com/simple
pip install numpy==1.16 -i https://pypi.douban.com/simple
参数
注意:是run_classifier.py文件
-task_name=MRPC
-do_train=true
-do_eval=true
-data_dir=../GLUE/glue_data/MRPC
-vocab_file=../GLUE/BERT_BASE_DIR/uncased_L-12_H-768_A-12/vocab.txt
-bert_config_file=../GLUE/BERT_BASE_DIR/uncased_L-12_H-768_A-12/bert_config.json
-init_checkpoint=../GLUE/BERT_BASE_DIR/uncased_L-12_H-768_A-12/bert_model.ckpt
-max_seq_length=128
-train_batch_size=8
-learning_rate=2e-5
--num_train_epochs=3.0
-output_dir=../GLUE/output/
task_name:运行的模块,在main里指定了名字对应的类
do_train:是否训练
do_eval:是否验证
data_dir:数据地址
vocab_file:词库表
bert_config_file:bert参数
init_checkpoint:初始化参数
max_seq_length:最长字符限制
train_batch_size:训练次数
learning_rate:学习率
num_train_epochs:循环训练次数
output_dir:输出路径
配置完成后,run该文件即可
Google原版的
报错及解决办法
class AdamWeightDecayOptimizer(tf.optimizers.Optimizer): AttributeError: module 'tensorflow' has no attribute 'optimizers'
如下内容
tf.optimizers.Optimizer改为tf.keras.optimizers.Optimizer
super(AdamWeightDecayOptimizer, self).init(False, name) TypeError: __ini
super(AdamWeightDecayOptimizer, self).__init__(False, name)
改成
super(AdamWeightDecayOptimizer, self).__init__()
tensorflow/core/framework/op_kernel.cc:1401] OP_REQUIRES failed at save_restore_v2_ops.cc:109 : Not found: Failed to create a NewWriteableFile:
路径过长,需要将整个项目移动到某盘下。要求满足:1.段路径,2.全英文
备选方案
一直起不来的,可以直接使用我改好的代码文件,链接:https://pan.baidu.com/s/18vPGelYCXGqp5OCWZWz36A 提取码:de0f
我的路径如下:
output是自动生成的不需要管