基于pytorch_bert的中文多标签分类运行bug笔记

news/2025/2/27 6:31:05

基于pytorch_bert的中文多标签分类运行bug笔记

    • 编码解释设置错误
    • 修改文件读取时的编码方式(已解决)
    • 下载装入Bert模型

项目地址:https://github.com/taishan1994/pytorch_bert_multi_classification/tree/main
在这里插入图片描述

编码解释设置错误

Traceback (most recent call last):
  File "main.py", line 192, in <module>
    labels = fp.read().strip().split('\n')
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa5 in position 233: illegal multibyte sequence

修改文件读取时的编码方式(已解决)

在 main.py 中找到读取标签文件或数据文件的代码(第 192 行附近),添加 encoding=‘utf-8’ 参数

# 修改前(可能没有指定编码)
with open(label_path, 'r') as fp:
    labels = fp.read().strip().split('\n')

# 修改后(强制使用 UTF-8 编码)
with open(label_path, 'r', encoding='utf-8') as fp:  # 关键修改
    labels = fp.read().strip().split('\n')

下载装入Bert模型

步骤一:访问 HuggingFace 模型页面
打开浏览器,访问 bert-base-chinese 模型页面:
https://huggingface.co/bert-base-chinese/tree/main
📥 步骤二:下载必需文件
在模型页面中找到以下三个文件,逐个下载:

  1. vocab.txt
    点击文件列表中的 vocab.txt → 点击右侧的 ↓ Download 按钮。
    保存文件到本地。
  2. config.json
    点击文件列表中的 config.json → 点击右侧的 ↓ Download 按钮。
    保存文件到本地。
  3. pytorch_model.bin
    点击文件列表中的 pytorch_model.bin → 点击右侧的 ↓ Download 按钮。
    保存文件到本地。
    步骤三:创建模型目录并保存文件
    创建目录结构:
    根据你的项目参数 --bert_dir="../model_hub/bert-base-chinese/",模型文件需存放在 上级目录的 model_hub 文件夹 中。
    假设你的项目根目录是 E:\PyProject\pytorch_bert_multi_classification-main,则模型目录应为:
E:\PyProject\model_hub\bert-base-chinese\  # 注意是上级目录!

移动下载的文件:
将下载的三个文件(vocab.txt, config.json, pytorch_model.bin)复制到 E:\PyProject\model_hub\bert-base-chinese\ 目录中。

E:\PyProject
├─pytorch_bert_multi_classification-main  # 项目根目录
│  ├─main.py
│  ├─data/
│  └─...
│
└─model_hub                                # 上级目录中的 model_hub
   └─bert-base-chinese
      ├─vocab.txt
      ├─config.json
      └─pytorch_model.bin

🚀 最终运行命令

python main.py --bert_dir="../model_hub/bert-base-chinese/" --data_dir="./data/final_data/" --log_dir="./logs/" --output_dir="./checkpoints/" --num_tags=65 --seed=123 --gpu_ids="0" --max_seq_len=128 --lr=3e-5 --other_lr=3e-4 --train_batch_size=32 --train_epochs=5 --eval_batch_size=32

http://www.niftyadmin.cn/n/5869656.html

相关文章

HarmonyOS NEXT 原生应用/元服务调试概述

一、概述 DevEco Studio提供了丰富的HarmonyOS应用/元服务调试能力&#xff0c;支持JS、ArkTS、C/C单语言调试和ArkTS/JSC/C跨语言调试能力&#xff0c;并且支持三方库源码调试&#xff0c;帮助开发者更方便、高效地调试应用/元服务。 HarmonyOS应用/元服务调试支持使用真机设备…

Jmeter接口并发测试

Apache JMeter 是一款开源的性能测试工具&#xff0c;广泛用于接口并发测试、负载测试和压力测试。以下是使用 JMeter 进行接口并发测试的详细步骤&#xff1a; 一、准备工作 安装 JMeter 下载地址&#xff1a;Apache JMeter 官网 确保已安装 Java 环境&#xff08;JMeter 依…

AI快速变现之路,AI视频创作

以下是针对AI视频创作的快速变现方案,包含详细操作步骤、工具推荐及行业应用案例,结合2025年AIGC技术趋势设计: 一、核心操作流程详解 1. 需求分析与脚本生成 工具推荐:ChatGPT 4.0 + Script Studio(视频脚本专用工具)操作步骤: 通过问卷星收集客户需求(品牌调性/目标…

P9420 [蓝桥杯 2023 国 B] 子 2023

P9420 [蓝桥杯 2023 国 B] 子 2023 题目 分析代码 题目 分析 刚拿到这道题&#xff0c;我大脑简单算了一下&#xff0c;这个值太大了&#xff0c;直观感觉就很难&#xff01;&#xff01; 但是&#xff0c;你仔仔细细的一看&#xff0c;先从最简单的第一步入手&#xff0c;再…

物联网+大数据,智慧公租房管理系统构建未来社区

传统的公租房管理模式效率低下&#xff0c;物联网和大数据技术的快速发展&#xff0c;为公租房管理模式提供了新的解决方案 物联网技术通过传感器、射频识别&#xff08;RFID&#xff09;、智能设备等手段&#xff0c;将公租房社区内的各种设施、设备、人员连接起来&#xff0…

Java中的缓存技术:Guava Cache vs Caffeine vs Redis

在Java中&#xff0c;缓存技术是提升应用性能的重要手段。常见的缓存技术包括Guava Cache、Caffeine和Redis。它们各有优缺点&#xff0c;适用于不同的场景。以下是对它们的详细对比&#xff1a; 1. Guava Cache 类型: 本地缓存 特点: 基于内存的缓存&#xff0c;适用于单机应…

grafana K6压测

文章目录 install and runscript.jsoptions最佳实践 report 解析 https://grafana.com/docs/k6/latest/get-started install and run install # mac brew install k6当前目录下生成压测脚本 # create file script.js k6 new [filename] # create file ‘script.js’ in …

Springboot快速接入豆包大模型

背景 突然接到上面的通知&#xff0c;想要在系统里面接入各大模型的能力&#xff0c;我这边随机选了个豆包&#xff0c;然后快速对接了一下&#xff0c;很顺利&#xff0c;一把过&#xff0c;现在文档的快速入门还是很ok的&#xff0c;在此记录一下过程&#xff0c;给宝子们参考…