Pytorch之Dataset和DataLoader的注意事项

2024-03-21 14:12

本文主要是介绍Pytorch之Dataset和DataLoader的注意事项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、数据集的保存形式:一行一行的。

比如说预测两个值的加法:a+b=c,那么传进Dataset的形式应该是

a1,b1,c1

a2,b2,c2

...

an,bn,cn

2、代码

import numpy as np
import pandas as pd
import torch
from torch.utils.data import DataLoader, Dataset# 创建数据
data_rand = np.random.rand(10, 2)
datas = np.insert(data_rand, 2, data_rand.sum(axis=1), axis=1)
print("\ndatas.shape=", datas.shape)
print("datas=\n", datas)train_data = datas[:int(len(datas) * 0.9)]
test_data = datas[int(len(datas) * 0.9):]debug_flag = False  # False,Trueclass PreDataSet(Dataset):def __init__(self, _data):self.x_data = torch.Tensor(_data[:, :-1])self.y_data = torch.Tensor(_data[:, -1])if debug_flag:print(">>self.x_data.shape=", self.x_data.shape)print(">>self.y_data.shape=", self.y_data.shape)self.n_getitem = 0  # 记录进入__getitem__的次数self.n_len = 0  # 记录进入__len__的次数def __getitem__(self, index):self.n_getitem = self.n_getitem + 1if debug_flag:print(">>index=", index, "n_getitem=", self.n_getitem)print(">>x_data[index].shape=", self.x_data[index].shape)print(">>y_data[index].shape=", self.y_data[index].shape)return self.x_data[index], self.y_data[index]def __len__(self):self.n_len = self.n_len + 1if debug_flag:print(">>len(self.x_data)=", len(self.x_data), "n_len=", self.n_len)return len(self.x_data)train_dataset = PreDataSet(train_data)
train_dataloader = DataLoader(train_dataset, batch_size=1, shuffle=False)# 2、输出看结果
for x, y in train_dataloader:print("\nx=", x)print("y=", y)if debug_flag:print("x.shape=", x.shape)print("y.shape=", y.shape)

参考B站视频

【2、数据集加载(Dataset和DataLoader)】

这篇关于Pytorch之Dataset和DataLoader的注意事项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/832856

相关文章

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

Pytorch微调BERT实现命名实体识别

《Pytorch微调BERT实现命名实体识别》命名实体识别(NER)是自然语言处理(NLP)中的一项关键任务,它涉及识别和分类文本中的关键实体,BERT是一种强大的语言表示模型,在各种NLP任务中显著... 目录环境准备加载预训练BERT模型准备数据集标记与对齐微调 BERT最后总结环境准备在继续之前,确

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

Python中__new__()方法适应及注意事项详解

《Python中__new__()方法适应及注意事项详解》:本文主要介绍Python中__new__()方法适应及注意事项的相关资料,new()方法是Python中的一个特殊构造方法,用于在创建对... 目录前言基本用法返回值单例模式自定义对象创建注意事项总结前言new() 方法在 python 中是一个

Springboot的自动配置是什么及注意事项

《Springboot的自动配置是什么及注意事项》SpringBoot的自动配置(Auto-configuration)是指框架根据项目的依赖和应用程序的环境自动配置Spring应用上下文中的Bean... 目录核心概念:自动配置的关键特点:自动配置工作原理:示例:需要注意的点1.默认配置可能不适合所有场景

Spring Cloud Hystrix原理与注意事项小结

《SpringCloudHystrix原理与注意事项小结》本文介绍了Hystrix的基本概念、工作原理以及其在实际开发中的应用方式,通过对Hystrix的深入学习,开发者可以在分布式系统中实现精细... 目录一、Spring Cloud Hystrix概述和设计目标(一)Spring Cloud Hystr

从零教你安装pytorch并在pycharm中使用

《从零教你安装pytorch并在pycharm中使用》本文详细介绍了如何使用Anaconda包管理工具创建虚拟环境,并安装CUDA加速平台和PyTorch库,同时在PyCharm中配置和使用PyTor... 目录背景介绍安装Anaconda安装CUDA安装pytorch报错解决——fbgemm.dll连接p

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

PyTorch使用教程之Tensor包详解

《PyTorch使用教程之Tensor包详解》这篇文章介绍了PyTorch中的张量(Tensor)数据结构,包括张量的数据类型、初始化、常用操作、属性等,张量是PyTorch框架中的核心数据结构,支持... 目录1、张量Tensor2、数据类型3、初始化(构造张量)4、常用操作5、常用属性5.1 存储(st