【GPT入门】69课 分类任务: 基于BERT训练情感分类与区别二分类本质思考

Grok 4 API免费开放真相:开发者可用的AI基础设施 API是人工智能模型能力对外输出的核心接口,指应用程序编程接口,用于实现系统间标准化通信与功能调用。其原理基于HTTP协议、JSON数据格式与密钥鉴权机制,通过请求-响应模式完成模型推理服务的远程调用。技术价值在于解耦模型能力与应用层,支持高并发、低延迟、可监控的工程化集成。典型应用场景包括智能客服工单分类、短视频脚本生成、竞品舆情实时分析等需定制化逻辑与结构化输出的业务闭环。Grok 4的‘全球免费’实为面向开发者的API体验配额,强调真实调用能力而非网页端开箱即用,本质是xAI布局AI原生应用基础设施的 阅读详情

1. 方案设计

2. 数据介绍

2.1 下载微博情感分类数据

命令行下载:
huggingface-cli download --repo-type dataset seamew/Weibo --local-dir /root/autodl-tmp/xxzh/bert/weibo_data2

seamew/Weibo
在这里插入图片描述

2.2 数据样例

7,怎么送?
7,为节目忽悠呗~
7,"老头子:老太婆,我想求你一件事。"
7,太平天国刑律规定,男女别营,授受不亲,夫妻之间私自约会,按律处斩.
7,回复,帖子里面一个是231的破解版本,一个是231的完全镜头解密文件,用同步助手等第三方PC端软件上传到指定的目录里,就能使用了。
2,[1/2]三八妇女节快乐[哈哈]怎么刚好在这天我们就九个月了呢?
7,现在的国债法定上限为14.3万亿美元,预计将在7月前后冲击这一上限,如果国会不能立法提高该上限,则美国国债将出现违约。
2,"[晕][晕][晕][晕] 其实我还是刚出生得婴儿啦[害羞] [害羞] [害羞] ,[六一快乐] 各位六一快乐[六一快乐] !"
4,死圣母
7,鼓励、支持企业跨地区重组并购,加强产业资源整合。
7,我才发现原来是奔G……
7,敢问你还能活到下一个11年11月11日吗!
7,我想看到 我在寻找 那所谓的爱情的美好
1,"别说血性,你们能有点幽默感就算对得起生你们的女人了."
7,形象需要重塑~~
7,本次选举的一大亮点是鼓励党外人士和自荐候选人参选国会代表。
3,下午真的痛晕了。
2,集体的力量,我感受到了集体的力量就是:再累,为了不掉队也要坚持,还有在险处有人提醒或帮扶一把,再就是发现自己不是那么差劲,[哈哈] 一路上捡拾垃圾,发现自己眼神真好使,那么小的糖纸被树枝压着都能看见,不过我只负责看不管捡,这次,真的有些累了,下次,下次......
3,不是我不能原谅你,而是我无法原谅我自己。
2,老天不负苦心人昂!!!
5,各种店铺,市场都关了,连洗澡堂和药店也关了,整个商业停摆了,连瓶酱油都买不到!
7,岁月总是一晃就那么多年,小时候不顾一切的想要离开家,长大了又不顾一切的想回去。
2,我反应一向很迟钝哈~~嘿嘿~~加油加油加油~~~明天要破釜沉舟的奋战哈~~~为了你·我这个胆小菇都变成不怕死不怕毒的大蘑菇;啦~~~~~!!!
2,哈哈哈哈~
0,求TB链接~ 还有那本《洋溢幸福的青苔小世界》小妖同学不要太喜欢哦!
7,那些纠结李赫宰进M的傻瓜们~就算赫宰进了M 他也会好好照顾自己的。
3,我的世界,你不在乎;你的世界,我被驱逐。
7,亲,快来“分担”一下吧!
7,#素食主义#
3,回到宿舍连续拉肚子,崩溃…
1,再扣除出让金和土增税又如何呢?
7,这时候的认真和专业,在成品里会展现的淋漓尽致!
4,看到这个帖子我就想说句:TMD!
7,加油吧…
7,细看则是山谷幽深、云气缭绕、万仞深涧。
7,好吧,我偷懒了,手脚神马的……

3. 训练

3.1 代码

import os
import numpy as np
import torch
from datasets import load_dataset, DatasetDict
import transformers
from transformers import (
    AutoModelForSequenceClassification,
    AutoTokenizer,
    TrainingArguments,
    Trainer,
    DataCollatorWithPadding
)

# 检查transformers版本
transformers_version = transformers.__version__
print(f"Transformers版本: {transformers_version}")
eval_strategy_param = "eval_strategy" if transformers_version >= "4.17.0" else "evaluation_strategy"
save_strategy_param = "save_strategy" if transformers_version >= "4.17.0" else "save_strategy"

# 设备配置
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"使用设备: {device}")

# ----------------------
# 配置参数
# ----------------------
class Config:
    model_path = "/root/autodl-tmp/models_xxzh/bert-base-chinese/models--bert-base-chinese/snapshots/8f23c25b06e129b6c986331a13d8d025a92cf0ea"
    
    # 本地数据集路径(关键修改)
    data_dir = "/root/autodl-tmp/xxzh/bert/data_weibo"
    train_file = os.path.join(data_dir, "train.csv")
    test_file = os.path.join(data_dir, "test.csv")
    val_file = os.path.join(data_dir, "validation.csv")
    
    # 训练参数
    output_dir = "./bert_weibo_sentiment_local"
    num_labels = 8
    batch_size = 200
    learning_rate = 2e-5
    num_train_epochs = 10
    max_length = 128
    logging_dir = "./logs/weibo_local"
    logging_steps = 100
    eval_strategy = "epoch"
    save_strategy = "epoch"
    save_total_limit = 3
    device = device

# ----------------------
# 数据加载与预处理 - 核心修改
# ----------------------
def load_and_preprocess_data(config):
    # 1. 检查文件是否存在
    required_files = [config.train_file, config.test_file, config.val_file]
    for file in required_files:
        if not os.path.exists(file):
            raise FileNotFoundError(f"数据集文件不存在: {file}")
    
    # 2. 使用load_dataset的csv格式加载(按要求修改)
    dataset_train = load_dataset(path="csv", data_files=config.train_file, split="train")
    dataset_test = load_dataset(path="csv", data_files=config.test_file, split="train")
    dataset_val = load_dataset(path="csv", data_files=config.val_file, split="train")
    
    # 3. 构建DatasetDict
    dataset = DatasetDict({
        "train": dataset_train,
        "test": dataset_test,
        "validation": dataset_val
    })
    print(f"数据集结构: {dataset}")
    print(f"数据集样例: {dataset['train'][0]}")  # 打印第一条数据,确认列名是否正确
    
    # 4. 加载分词器
    tokenizer = AutoTokenizer.from_pretrained(config.model_path)
    
    # 5. 预处理函数(注意:需与CSV中的文本列名匹配)
    def preprocess_function(examples):
        # 假设CSV中的文本列名为'review',标签列为'label'
        # 若实际列名不同(如'text'),需修改此处
        return tokenizer(
            examples["text"],
            truncation=True,
            max_length=config.max_length,
            padding="max_length"
        )
    
    # 6. 应用预处理
    tokenized_dataset = dataset.map(preprocess_function, batched=True)
    
    # 7. 格式化标签列
    tokenized_dataset = tokenized_dataset.rename_column("label", "labels")
    tokenized_dataset.set_format("torch", columns=["input_ids", "token_type_ids", "attention_mask", "labels"])
    
    return tokenized_dataset, tokenizer

# ----------------------
# 评估指标(不变)
# ----------------------
def compute_metrics(eval_pred):
    logits, labels = eval_pred
    predictions = np.argmax(logits, axis=-1)
    return {"accuracy": (predictions == labels).mean()}

# ----------------------
# 训练模型(不变)
# ----------------------
def train_model(config):
    tokenized_dataset
面向逻辑思维的程序设计方法概论 本文提出面向逻辑思维的程序设计方法(LOPD),以七层分析模型为核心框架,将智能系统划分为基因层、肢体层、感觉层、神经层、个体层、社会层和文明层。该研究通过形式化定义和定理证明建立了LOPD的数学基础,并提供了工程实现模板。实验表明,LOPD在类人机器人开发中显著降低了系统耦合度(47.3%)、代码侵入量(76%)和开发时间(44.4%)。研究还提出了"冯胤清测试"作为智能系统逻辑完备性的评估框架,填补了传统面向对象编程在智能系统开发中的方法论局限。 阅读详情

相关推荐

第四章 心理咨询聊天机器人响应体贴度检测

锐”14158 条,“中性”14132 条,“略微体贴”14026 条,“体贴”13655 条。中性:-1、0 或 1 分,略微尖锐:-2 或-3 分,尖锐:-4 或-5 分。“中性”6149 对,“略微体贴”6097 对,“体贴”6159 对。然后我们将所有分数相加,定义 5 个等级:体贴:4 或 5 分,略微体贴:2 或 3 分,集型或稀疏型,对应的典型模型包括 SGNS[75]和 PPMI[76]等。模型架构如图 4.1 所示。其中,𝑦(3)中的第 k 个元素是𝑦𝑖(2)中第 k 个元素的最大值。

具身机器人和通用AI 420

【信息科学与工程学】计算科学与自动化-第八篇04 大语言模型函数与认知函数列表

线性代数运算:矩阵乘法、分解、求逆等微积分运算:梯度、散度、旋度、拉普拉斯算子概率统计:分布函数、统计量、假设检验信号处理:傅里叶变换、小波变换、滤波器。

weixin_49199313的博客 909

【信息科学与工程学】【数据科学】第十八篇 数值分析 系列二 数值算法设计01

编号类型领域问题问题的数学分析及数值分析算法逐步推理思考的数学表达式参数列表及参数的边界范围及条件及常数关联知识1数值积分数值逼近计算定积分 I=∫ab​f(x)dx的近似值。数学分析:将积分区间等分,利用插值多项式近似被积函数,构造机械求积公式。数值分析:Newton-Cotes公式是等距节点的插值型求积公式。高阶公式(n≥8)因Cotes系数有正负,数值不稳定。偶阶公式(如Simpson)具有n+1次代数精度。为提高精度,常采用复化求积法(将区间细分后应用低阶公式)。

weixin_49199313的博客 158

ONFI5.0命令字实战指南:从基础操作到高级应用

本文深入解析ONFI5.0协议的核心——命令字,提供从基础操作到高级应用的实战指南。详细拆解了NAND闪存的复位、读状态、数据读取(00-30)、页编程(80-10)和块擦除(60-D0)等关键命令周期,并探讨了多平面操作与缓存操作等高级性能优化技巧,帮助开发者高效、稳定地与NAND芯片进行底层交互。

vscode5coder的博客 463

在 NVIDIA Orin (JetPack 6.0) 上配置 PyTorch 2.4 + Torchvision 0.19 的完整避坑指南

本文提供在NVIDIA Jetson Orin设备上,基于JetPack 6.0系统配置PyTorch 2.4与Torchvision 0.19环境的完整指南。通过使用Miniconda环境隔离、安装特定版本PyTorch夜间构建版、编译匹配的Torchvision源码等步骤,解决版本不匹配、CUDA支持等常见问题,确保AI开发环境稳定可用。

weixin_29179311的博客 364

DSP TMS320C6657中FFT函数的调用与具体使用方法

首先明确一点,C6678中FFT的函数形式为: N : length of FFT in complex samples ptr_x : pointer to complex data input ptr_w : pointer to complex twiddle factor ptr_y : pointer to complex output data brev : pointer to bit reverse table containing 64 entries n_min : should be

Kayboy的博客 3012

TMS320F28388D 学习笔记2 高精度PWM (HRPWM)

HRPWM的学习记录。

whyorwhnt的专栏 9534

Mac微信聊天记录备份终极指南:用软链接轻松迁移到外接硬盘(附重签名教程)

本文详细介绍了如何通过软链接技术将Mac微信聊天记录备份迁移到外接硬盘,解决内置存储空间不足的问题。教程包括备份文件定位、软链接创建及微信重签名步骤,帮助用户高效管理微信数据,释放Mac存储空间。

uuu88的博客 1164

【数据可视化-77】中国历年GDP数据可视化分析:Python + Pyecharts 深度洞察(含完整数据、代码)

通过上述可视化分析,我们可以清晰地看到中国历年GDP的变化趋势和产业构成。玫瑰图展示了2024年的产业构成,地图和柱状图展示了GDP的时空分布,双轴折线图和雷达图则分别展示了GDP总量与人均GDP的变化以及各行业的GDP贡献。希望这篇文章能帮助您更好地理解和分析中国历年GDP数据。如果您有任何问题或建议,欢迎在评论区留言!🎉。

qq_38614074的博客 1471

电机瞬态分析基础(2):理想电机的基本假设和正方向规定

电机瞬态分析基础之理想电机假设条件和正方向规定

weixin_45670943的博客 1145

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

上一篇: 【GPT入门】第68课 分类任务: 基于BERT训练情感分类
下一篇: 【GPT入门】第70课 ragflow简单入门
*星星之火*
博客等级 码龄12年 3799粉丝 222原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值