构建环境
环境我们使用conda统一管理。
创建conda环境的基本命令是:
bash
conda create --name 环境名称
这里,“环境名称”是你想要创建的新环境的名称。例如,如果你想要创建一个名为“myenv”的新环境,你可以使用以下命令:
bash
conda create --name myenv
创建环境时,你还可以指定要使用的Python版本。例如,如果你想要创建一个使用Python 3.7版本的环境,你可以使用以下命令:
bash
conda create --name myenv python=3.7
创建完成后,你可以使用以下命令激活新创建的环境:
bash
conda activate 环境名称
例如,激活“myenv”环境:
bash
conda activate myenv
如果你想关闭当前环境,可以使用以下命令:
bash
conda deactivate
请注意,这些命令需要在命令行界面(如Windows的命令提示符、Mac的终端或Linux的终端)中运行。
conda 自己创建的环境下安装transformers+Dataset+pytorch
简单的代码示例:
import torch
from torch.utils.data import DataLoader
from datasets import load_dataset
from transformers import AutoTokenizer, AutoModelForSequenceClassification
from transformers import Trainer, TrainingArguments
# 加载数据集
dataset = load_dataset("imdb", split="train")
# 使用transformers内置的Imdb数据集分词器和分类器
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased", num_labels=2) # 假设是二元分类任务
# 转换数据集为torch.Tensor格式
def convert_dataset(batch):
inputs = tokenizer(batch["text"], padding="max_length", truncation=True, max_length=128, return_tensors="pt")
return inputs, batch["label"]
dataset = dataset.map(convert_dataset, remove_columns=["text", "label"])
# 创建数据加载器
data_loader = DataLoader(dataset, batch_size=16, shuffle=True)
# 定义训练参数
training_args = TrainingArguments(
output_dir="./results", # 输出目录的名称
num_train_epochs=3, # 训练轮数
per_device_train_batch_size=16, # 每个GPU/CPU的批量大小
per_device_eval_batch_size=64, # 每个GPU/CPU的评估批量大小
warmup_steps=500, # 预热步数
weight_decay=0.01, # 权重衰减
logging_dir='./logs', # 日志目录的名称
)
# 训练模型
trainer = Trainer(model=model, args=training_args, train_dataset=data_loader)
trainer.train()