transformers基础组件trainer

本文详细介绍了如何使用HuggingFaceTransformers库进行模型训练和微调,包括数据预处理、模型初始化、数据加载、训练流程、评估指标以及模型预测。主要步骤涉及训练Arguments的配置、Trainer类的使用以及自定义数据处理函数和评估函数。

简介

trainer是transformers中提供的函数,内部封装了完整的训练,评估逻辑并集成了多种的 后端

完整使用流程

from transformers import Trainer,TrainingArguments
training_args=TrainingArguments(..)
trainer=Trainer(args=training_args,..)
trainer.train()
trainer.evaluate()
#模型预测
trainer.predict()

模型代码微调

#导入相关包
from transformers import AutoTokenizer,AutoModelForSequenceClassification
import pandas as pd
data=pd.read_csv("/ChrSentCorp_htl_all.csv")
data=data.dropna()
data
 
#创建datasets
from torch.utils.data import Dataset  
class MyDataset(Dataset): 
  def __init__(self) ->None:
    super().__init__()
    self.data=pd.read_csv("/ChrSentCorp_htl_all.csv")
    self.data=self.data.dropna()
  def __getitem__(self,index):
    return self.data.iloc[index]["review"],self.data.iloc[index]["label"]
  def __len__(self):
    return len(self.data)
 
dataset=MyDataset()
###这行代码定义了一个名为 MyDataset 的类,它继承自 torch.utils.data.Dataset 类。定义了一个名为 MyDataset 的类,它继承自 torch.utils.data.Dataset 类。这是 MyDataset 类的构造函数 __init__。在这个函数中,首先调用了父类 Dataset 的构造函数 super().__init__(),以确保正确初始化父类。这是 MyDataset 类的 __getitem__ 方法,用于获取索引为 index 的数据项。在这个方法中,代码使用 iloc 方法从 self.data 中获取指定索引位置的行,并返回该行的 "review" 列和 "label" 列的值。
 
 
 
#划分数据集
from torch.utils.data import random_split
trainset,validset=random_split(dataset,length=[0.9,0.1])
 
#创建dataloader
tokenizer=AutoTokenizer.from_pret
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值