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使用教程之Tensor包详解

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

Idea调用WebService的关键步骤和注意事项

《Idea调用WebService的关键步骤和注意事项》:本文主要介绍如何在Idea中调用WebService,包括理解WebService的基本概念、获取WSDL文件、阅读和理解WSDL文件、选... 目录前言一、理解WebService的基本概念二、获取WSDL文件三、阅读和理解WSDL文件四、选择对接

python安装完成后可以进行的后续步骤和注意事项小结

《python安装完成后可以进行的后续步骤和注意事项小结》本文详细介绍了安装Python3后的后续步骤,包括验证安装、配置环境、安装包、创建和运行脚本,以及使用虚拟环境,还强调了注意事项,如系统更新、... 目录验证安装配置环境(可选)安装python包创建和运行Python脚本虚拟环境(可选)注意事项安装

JAVA中while循环的使用与注意事项

《JAVA中while循环的使用与注意事项》:本文主要介绍while循环在编程中的应用,包括其基本结构、语句示例、适用场景以及注意事项,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录while循环1. 什么是while循环2. while循环的语句3.while循环的适用场景以及优势4. 注意

使用Spring Cache时设置缓存键的注意事项详解

《使用SpringCache时设置缓存键的注意事项详解》在现代的Web应用中,缓存是提高系统性能和响应速度的重要手段之一,Spring框架提供了强大的缓存支持,通过​​@Cacheable​​、​​... 目录引言1. 缓存键的基本概念2. 默认缓存键生成器3. 自定义缓存键3.1 使用​​@Cacheab

bytes.split的用法和注意事项

当然,我很乐意详细介绍 bytes.Split 的用法和注意事项。这个函数是 Go 标准库中 bytes 包的一个重要组成部分,用于分割字节切片。 基本用法 bytes.Split 的函数签名如下: func Split(s, sep []byte) [][]byte s 是要分割的字节切片sep 是用作分隔符的字节切片返回值是一个二维字节切片,包含分割后的结果 基本使用示例: pa

HTML5自定义属性对象Dataset

原文转自HTML5自定义属性对象Dataset简介 一、html5 自定义属性介绍 之前翻译的“你必须知道的28个HTML5特征、窍门和技术”一文中对于HTML5中自定义合法属性data-已经做过些介绍,就是在HTML5中我们可以使用data-前缀设置我们需要的自定义属性,来进行一些数据的存放,例如我们要在一个文字按钮上存放相对应的id: <a href="javascript:" d

Vue项目开发各种注意事项

1、eCharts引入方式(单页面) import * as echarts from 'echarts'Vue.prototype.$echarts = echarts 2、Sass引入 sass和node-sass 中 node-sass不要引入最新版本  引入@7.x 否则会报错 可能是语法规则改变 3、严格模式不要随意开启、将eslint文件中 extends: 中的vue去除

Exchange 服务器地址列表的配置方法与注意事项

Exchange Server 是微软推出的一款企业级邮件服务器软件,广泛应用于企业内部邮件系统的搭建与管理。配置 Exchange 服务器地址列表是其中一个关键环节。本文将详细介绍 Exchange 服务器地址列表的配置方法与注意事项,帮助系统管理员顺利完成这一任务。 内容目录 1. 引言 2. 准备工作 3. 配置地址列表 3.1 创建地址列表 3.2 使用 Exchange

API28_OKgo_get注意事项

1: implementation 'com.lzy.net:okgo:2.1.4' 2:在BaseApplication中onCreate()中初始化initOKgo() private void initOKgo() {//---------这里给出的是示例代码,告诉你可以这么传,实际使用的时候,根据需要传,不需要就不传-------------//HttpHeaders headers