Pytorch 8

这节课是讲mini_batch数据下载的

python 复制代码
from torch.utils.data import Dataset
from torch.utils.data import DataLoader

第一个类是抽象类,只能继承

第二个可以直接用

python 复制代码
class DiabetesDataset(Dataset):
    def __init__(self, filepath):
        xy = np.loadtxt(filepath, delimiter=',', dtype=np.float32)
        self.len = xy.shape[0] # shape(多少行,多少列)
        self.x_data = torch.from_numpy(xy[:, :-1])
        self.y_data = torch.from_numpy(xy[:, [-1]])
 
    def __getitem__(self, index):
        return self.x_data[index], self.y_data[index]
 
    def __len__(self):
        return self.len

定义这个类要做两件事,第一件就是让他能下标调用,第二件事可以返回长度

数据下载

python 复制代码
dataset = DiabetesDataset('diabetes.csv')
train_loader = DataLoader(dataset=dataset, batch_size=32, shuffle=True, num_workers=0) 
# 接受四个参数,第一个是接受的,第二个是mini_batch的大小,第三是是否随机,第四是分为几个线程来下载数据

神经网络

python 复制代码
if __name__ == '__main__':
    for epoch in range(100):
        for i, data in enumerate(train_loader, 0): # train_loader 是先shuffle后mini_batch
            inputs, labels = data
            y_pred = model(inputs)
            loss = criterion(y_pred, labels)
            print(epoch, i, loss.item())
 
            optimizer.zero_grad()
            loss.backward()
 
            optimizer.step()

放在if里面是因为在windows系统里面会出错,i是下标

相关推荐
这张生成的图像能检测吗4 分钟前
(论文速读)YOLA:学习照明不变特征的低光目标检测
图像处理·人工智能·目标检测·计算机视觉·低照度
ZPC821016 分钟前
opencv 获取图像中物体的坐标值
人工智能·python·算法·机器人
亚里随笔23 分钟前
AsyPPO_ 轻量级mini-critics如何提升大语言模型推理能力
人工智能·语言模型·自然语言处理·llm·agentic
coding_ksy29 分钟前
基于启发式的多模态风险分布越狱攻击,针对多模态大型语言模型(ICCV 2025) - 论文阅读和解析
人工智能·语言模型
测试199831 分钟前
如何写出一个完整的测试用例?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
微笑尅乐41 分钟前
三种方法解开——力扣3370.仅含置位位的最小整数
python·算法·leetcode
算家计算1 小时前
5年后手机和APP将成历史?马斯克最新预言背后:端云协同与AI操作系统的未来架构
人工智能·云计算·资讯
多恩Stone2 小时前
【3DV 进阶-5】3D生成中 Inductive Bias (归纳偏置)的技术路线图
人工智能·python·算法·3d·aigc
HaiLang_IT2 小时前
2026 人工智能与大数据专业毕业论文选题方向及题目示例(nlp/自然语言处理/图像处理)
大数据·人工智能·毕业设计选题