You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

4.1 KiB

README

BERT开源框架地址最好读下README以下是预训练好的BERT模型这里用到两个

1609825905750

点击即可下载,里面内容如下

1609826152438

1609826160982

json相关的参数

vocab语料库

其它:使用时的是加载文件,如训练好的权重等

1609826290795

下载一个数据集,使用脚本命令下载,可能需要翻墙,可以访问我的云盘进行下载。链接:https://pan.baidu.com/s/18vPGelYCXGqp5OCWZWz36A 提取码de0f。这里只用到MRPC

MRPC

内容如下:

1609827571649

train.csv

1609827493014

二分类任务:判断两句话是否说的是同一意思

Quality是否相同相同为1

test.csv

1609827666717

没有了Quality需要进行预测

download BERT

把bert的code全部下载下来并解压到指定目录

1609827887131

创建环境

settings一个虚拟环境我使用的是pycharm

1610378141133

我默认你是下载了某个IDE至少是懂python的Show All

1610378199764

点击加号

1610378235115

添加一个conda或者普通的python都可以因为conda是专门做数据的所以我选了conda其实没什么区别

1610378282775

点击OK即可。

1610378368510

输入如下命令,进行安装

# 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

参数

1609999902323

注意是run_classifier.py文件

1609999954700

-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_filebert参数

init_checkpoint初始化参数

max_seq_length最长字符限制

train_batch_size训练次数

learning_rate学习率

num_train_epochs循环训练次数

output_dir输出路径

配置完成后run该文件即可

1610000183063

Google原版的

1610000131364

报错及解决办法

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

我的路径如下:

1610161459549

1610161435131

1610161444607

1610161474977

1610161499158

output是自动生成的不需要管