原创 · 密钥 · 第04把 · 控心术 · 第02钥 | Python 虚拟环境与模型训练入门实战

“锻火已升,心术初鸣。控心室的觉念者,将以代码为钥,剖开幻象。”

                                                                                        ——KeySmith · 密钥锻造坊

寻钥之人,欢迎你踏入密钥锻造坊。 我是 KeySmith,这里是技术人的打铁间。

此刻你翻开的,正是本坊锻造的第 04 把密钥,专为掌控 Python 虚拟环境 + 训练脚本实战 而锻。

无论你是初次来访的学徒,还是久经风雨的同行匠人, 愿此钥能应你所困,破你所局,开你所门。


本篇,我们将从 0 开始构建一套能识别中文评论情绪的 AI 引擎, 使用 BERT 模型,打造属于你的情绪识别系统。

所以这一节,我们将完成三件事:

🌟 —— 带图带代码,献给认真搞技术的你!

  ✅准备 Python 炼术器(>= 3.8)

  ✅设置术者专属密室(.venv 虚拟环境)

  ✅选择合适的控术台(推荐 VS Code)

 

🌟 1. 环境初始化

🔧 配置中… · Python 环境准备

“工欲善其事,必先利其器。”

✅ 推荐使用 Python ≥ 3.8

✅ 前往官网下载:python.org

⚠️ 安装时务必勾选:Add Python to PATH


🌟 2. VS Code + 虚拟环境:最佳拍档

🛠️ 锻造 · VS Code + .venv 的好处

✅ 一键打开终端执行脚本 ✅ 自动识别项目依赖 ✅ 输出日志美观清晰(便于训练调试)

虚拟环境 .venv 是一个“隔离密室”,为每个项目提供独立依赖,就像为控心术定制的法器间。


🔓 解锁 · 创建虚拟环境

假设你的项目目录为:D:\1python\python_qq_project\控心室

✅ 进入目录:cd D:\1python\python_qq_project\控心室

✅ 创建 .venv:python -m venv .venv

✅ 启动环境:.venv\Scripts\activate

此时命令行前缀变为: (.venv),说明你已进入“密室”。

☕ 想退出?输入:deactivate


🧠 思考 · 解释器选择

VS Code 初次使用虚拟环境时:Ctrl + Shift + P → Python: Select Interpreter

✅ 选择 .venv\Scripts\python.exe


🌟 3. 安装依赖:三板斧

📦 下载资源 · 三个核心包

pip install torch
pip install transformers
pip install accelerate

✅ 检查是否安装成功:

import torch
import transformers
import accelerate
print("PyTorch 版本:", torch.__version__)
print("Transformers 版本:", transformers.__version__)

🌟 看到输出,就说明锻造炉已经升温完毕!


🌟 4. 训练准备:加载、编码、封装!

🔍 追踪细节 · 加载数据

import pandas as pd

# 改成你的真实路径哦!
df = pd.read_csv(r'D:\7优快云\毕业设计完整源码资源(Python)\控心室\第一钥数据准备\train4000.tsv', sep='\t')

# 查看列名,防止KeyError
print("列名:", df.columns)

# 这里假设你文件列名是 'text_a' 和 'label'
texts = df['text_a'].tolist()
labels = df['label'].tolist()

🧪 测试中… · 文本编码

import pandas as pd
from transformers import BertTokenizer
# 改成你的真实路径哦!
df = pd.read_csv(r'D:\7优快云\毕业设计完整源码资源(Python)\控心室\第一钥数据准备\train4000.tsv', sep='\t')

# 查看列名,防止KeyError
print("列名:", df.columns)

# 这里假设你文件列名是 'text_a' 和 'label'
texts = df['text_a'].tolist()
labels = df['label'].tolist()

tokenizer = BertTokenizer.from_pretrained("bert-base-chinese")

#编码
encodings = tokenizer(
    texts,
    truncation=True,
    padding=True,
    max_length=128
)


📜 原理解析 · Dataset 封装

import pandas as pd
from transformers import BertTokenizer
import torch
from torch.utils.data import Dataset
# 改成你的真实路径哦!
df = pd.read_csv(r'D:\7优快云\毕业设计完整源码资源(Python)\控心室\第一钥数据准备\train4000.tsv', sep='\t')

# 查看列名,防止KeyError
print("列名:", df.columns)

# 这里假设你文件列名是 'text_a' 和 'label'
texts = df['text_a'].tolist()
labels = df['label'].tolist()

tokenizer = BertTokenizer.from_pretrained("bert-base-chinese")

#编码
encodings = tokenizer(
    texts,
    truncation=True,
    padding=True,
    max_length=128
)


# 自定义情绪数据集类
class SentimentDataset(Dataset):
    def __init__(self, encodings, labels):
        self.encodings = encodings
        self.labels = labels

    def __getitem__(self, idx):
        item = {key: torch.tensor(val[idx]) for key, val in self.encodings.items()}
        item['labels'] = torch.tensor(self.labels[idx])
        return item

    def __len__(self):
        return len(self.labels)

# 实例化数据集
dataset = SentimentDataset(encodings, labels)

# 打印验证
print("数据总量:", len(dataset))
print("第一条样本内容:")
print(dataset[0])

✅ 如果成功打印结果,说明 Dataset 封装正确,模型准备就绪!


“热铁未冷,锻声犹在。愿此钥,已开你心锁。”

                                                                                             ——KeySmith · 密钥锻造坊

本篇第为04 号密钥 已锻完毕。

若你觉得这把钥匙还称手, 请为锻造坊添一点火候 —— 点赞、收藏、留言皆是助燃。

当然!

下一把钥匙,正在炉中铸炼, 我会在锻火旁等你,再一同开锁破局。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0xHack | Python黑洞

打赏一口代码味奶茶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值