运行谷歌开源BERT程序时遇到的bug修改记录

运行谷歌开源BERT程序时遇到的bug修改记录

一、没有对应的模块

采用anaconda的python3.8做为解释器,其实以及包含基本的第三方库了,但是在运行run_classifier.py文件时,仍然报错has no attribute XXX
解决方式:

# import tensorflow as tf
import tensorflow.compat.v1 as tf
二、传入参数错误

在将谷歌开源的github当中提示的参数配置到Edit Configuration当中的Parameters时,例如

  --task_name=MRPC \
  --do_train=true \
  --do_eval=true \
  --data_dir=$GLUE_DIR/MRPC \
  --vocab_file=$BERT_BASE_DIR/vocab.txt \
  --bert_config_file=$BERT_BASE_DIR/bert_config.json \
  --init_checkpoint=$BERT_BASE_DIR/bert_model.ckpt \
  --max_seq_length=128 \
  --train_batch_size=32 \
  --learning_rate=2e-5 \
  --num_train_epochs=3.0 \
  --output_dir=/tmp/mrpc_output/

提示:Non-boolean argument to boolean flag', 'true\\
解决方式: 去除掉 \
在这里插入图片描述

--task_name=MRPC # 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=6 # 调小
--learning_rate=2e-5 # 学习率
--num_train_epochs=3.0 # 学习用1-3
--output_dir=../GLUE/output # 保存训练模型的位置
三、提示‘utf-8’编码错误

在这里插入图片描述
将第二步的配置修改好后,就不会报错了。第二步的配置一定不能复制官网原文,要结合自身的文件结构修改。

四、提示没有contrib

提示:module 'tensorflow.compat.v1' has no attribute 'contrib'

我们都知道这是因为tensorflow版本的问题,所以最好的解决方法是去tensorflow的官网去查看对应的函数改版前后的变化。
tensorflow官网
https://tensorflow.google.cn/guide/migrate/tpu_estimator
在这里插入图片描述
在官网中给的案例看来,
原本的tf.contrib.tpu已经转变成tf.estimator.tpu
原本的tf.contrib.data已经转变为tf.data.experimental.map_and_batch
原本的tf.contrib.layers.layer_norm已经转变为tf.keras.layers.LayerNormalization()
但此时发现一件裂开的事,tf.contrib.layers.layer_norm方法和tf.keras.layers.LayerNormalization()方法当中的参数完全不一样,不进行简单的替换。

综合考虑之后,决定卸载原来的tensorflow,降至低版本

卸载

pip uninstall tensorflow

在这里插入图片描述
重新下载低版本的tensorflow
https://github.com/tensorflow/tensorflow/tags?after=v2.2.0-rc0
在这里插入图片描述
在这里插入图片描述
此时又发现一件裂开的事:tensorflow1.X的版本最高只支持Python3.7,因此我需要装Python3.7。。。

经过一顿操作,最终选择了1.15.0版本的tensorflow。

pip install D:\Anaconda\conda3.7\Scripts\tensorflow-1.15.3-cp37-cp37m-win_amd64.whl

在这里插入图片描述
将Pycharm中的解释器进行更换。
在这里插入图片描述
终于可以运行了!!!
在这里插入图片描述
CPU已经跑满了
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敷衍zgf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值