python-windows10普通笔记本跑bert mrpc数据样例0.1.048

本文档记录了在Windows10环境下,使用CPU进行BERT模型微调的过程,包括数据下载、模型获取、训练和预测的详细步骤。在训练过程中遇到的最大序列长度和批次大小的选择对性能的影响,并分享了最终的运行结果和注意事项。
摘要由CSDN通过智能技术生成

背景

看了介绍说可以在gpu或者tpu上去微调,当前没环境,所以先在windows10上跑一跑,看是否能顺利进行,目标就是训练的过程中没有报错就行

参考章节

参考这个链接https://github.com/google-research/bert/tree/master?tab=readme-ov-file,其中的这个章节Sentence (and sentence-pair) classification tasks

获取数据

文章提高的使用 GLUE data by running this script(https://gist.github.com/W4ngatang/60c2bdb54d156a41194446737ce03e2e),但是我使用这个脚本下载不了,因为是内网,没有办法只能手动下载了,方法如下

  1. 下载download_glue_data.py这个脚本后
  2. 找到第39和40行,将里面的链接打开保存文件就可以获得msr_paraphrase_train.txt和sr_paraphrase_test.txt文件了
MRPC_TRAIN = 'https://dl.fbaipublicfiles.com/senteval/senteval_data/msr_paraphrase_train.txt'
MRPC_TEST = 'https://dl.fbaipublicfiles.com/senteval/senteval_data/msr_paraphrase_test.txt'
  1. 数据不大,我直接修改的文本格式为tsv,最后得到test.tsv和train.tsv文件
  2. 打开这个链接下载另外一个需要的数据dev_ids.tsv
    https://raw.githubusercontent.com/MegEngine/Models/master/official/nlp/bert/glue_data/MRPC/dev_ids.tsv
  3. 注释掉download_glue_data.py里面的下面的代码
#     try:
#         urllib.request.urlretrieve(TASK2PATH["MRPC"], os.path.join(mrpc_dir, "dev_ids.tsv"))
#     except KeyError or urllib.error.HTTPError:
#         print("\tError downloading standard development IDs for MRPC. You will need to manually split your data.")
#         return
  1. 将dev_ids.tsv的文件放在–data_dir下面的MRPC里面
  2. 运行download_glue_data.py文件生成数据如下
python .\download_glue_data.py --tasks=MRPC --data_dir=D:\jpdir\bert\glue_data\MRPC\fin --path_to_mrpc=D:\jpdir\bert\glue_data\MRPC

在这里插入图片描述
8. 将生成的dev.tsv文件放在python run_classifier.py脚本的data_dir目录下

下载bert模型

下载bert-base-uncased模型,如下图
在这里插入图片描述

下载bert代码

将这个链接https://github.com/google-research/bert/tree/master?tab=readme-ov-file的代码clone下来到本地,进入到这个文件夹里,执行如下命令即可:

python run_classifier.py --task_name=MRPC --do_train=true --do_eval=true --data_dir=D:\jpdir\bert\glue_data\MRPC --vocab_file=D:\jpdir\bert\bert-base-uncased\bert-base-uncased\bert-base-uncased\vocab.txt --bert_config_file
BERT模型(Bidirectional Encoder Representations from Transformers)在中国版本中通常称为`bert-base-chinese`。如果你想要使用预训练的BERT模型,并通过`bert4torch`库加载`bert-base-chinese`配置文件,首先需要确保已经安装了相关的库,如`transformers`和`bert4torch`。 以下是基本步骤: 1. **安装依赖**: ``` pip install transformers bert4torch ``` 2. **导入必要的模块**: ```python import torch from transformers import BertModel, BertConfig from bert4torch.tokenizers import Tokenizer4Bert ``` 3. **加载`bert-base-chinese_bert4torch_config.json`**: 这个文件包含模型的配置信息,你可以通过`BertConfig.from_pretrained`函数读取它: ```python config = BertConfig.from_pretrained('bert-base-chinese') ``` 4. **加载预训练模型**: 使用`config`创建模型实例,可以选择加载整个模型(weights + config),只加载权重,或者只加载配置: ```python # 加载整个模型 (weights + config) model = BertModel(config) # 只加载权重 (weights only) model = BertModel.from_pretrained('bert-base-chinese', config=config) # 或者仅加载配置 (config only) model = BertModel(config) model.load_state_dict(torch.load('path/to/bert-state-dict.pt')) ``` 5. **准备tokenizer**: 如果你想处理文本数据,还需要使用对应的分词器(Tokenizer4Bert): ```python tokenizer = Tokenizer4Bert.from_pretrained('bert-base-chinese') ``` 6. **使用模型**: 现在你可以用模型对输入的文本进行编码、分类或其他任务的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值