当前位置: 首页 > web >正文

【Pytorch】数据集的加载和处理(二)

【Pytorch】数据集的加载和处理(一)

Pytorch中张量可以是一维、二维、三维或者更高维度的数据结构。一维张量类似于向量,二维张量类似于矩阵,三维张量类似一系列矩阵的堆叠。

目录

将张量包装为数据集

创建数据加载器

数据转换(图像转换)


将张量包装为数据集

导入MNIST训练数据集并提取数据和标签

import torch
import torchvision
from torchvision import datasets
train_data=datasets.MNIST("./data",train=True,download=True)
x_train, y_train=train_data.data,train_data.targets

导入MNIST验证数据集并提取数据和标签

val_data=datasets.MNIST("./data", train=False, download=True)
x_val,y_val=val_data.data, val_data.targets

 使用 TensorDataset类将张量包装为数据集

from torch.utils.data import TensorDataset
train_ds = TensorDataset(x_train, y_train)
val_ds = TensorDataset(x_val, y_val)for x,y in train_ds:print(x.shape,y.item())break

 

创建数据加载器

通过DataLoader从数据集创建数据加载器

from torch.utils.data import DataLoader
train_dl = DataLoader(train_ds, batch_size=100)
val_dl = DataLoader(val_ds, batch_size=100)for xb,yb in train_dl:print(xb.shape)print(yb.shape)break

 

数据转换(图像转换)

通过 transform 类进行简单的图像转换

导入库和训练数据集 

import torchvision
import matplotlib.pyplot as plt
from torchvision import datasets
from torchvision import transforms
train_data=datasets.MNIST("./data", train=True, download=True)

借助transform类定义旋转

data_transform = transforms.Compose
([transforms.RandomHorizontalFlip(p=1),transforms.RandomVerticalFlip(p=1),transforms.ToTensor(),
])

对训练数据集中图像进行旋转并打印对比

img = train_data[5][0]
img_tr=data_transform(img)
img_tr_np=img_tr.numpy()plt.subplot(1,2,1)
plt.imshow(img,cmap="gray")
plt.title("original")
plt.subplot(1,2,2)
plt.imshow(img_tr_np[0],cmap="gray");
plt.title("transformed 180")

http://www.xdnf.cn/news/16224.html

相关文章:

  • 纯CPU场景下C++的分布式模型训练框架设计思路
  • 刷完jetpack后无法打开安装的浏览器的解决办法useful
  • Linux dd命令 数据备份、转换与磁盘操作的终极工具
  • 分布式任务调度实战:XXL-JOB与Elastic-Job深度解析
  • OpenLayers 快速入门(六)Interaction 对象
  • 模拟实现消息队列项目
  • 7月23日星期三今日早报简报微语报早读
  • C基础 07_综合案例《猜拳游戏》
  • Android NDK与JNI深度解析
  • HarmonyOS Flutter Boost完全接入手册:爬完所有坑的实战指南
  • 双写缓冲区 Redo Log
  • C++缺省参数
  • React项目运行环境与执行顺序及动态路由等使用注意点
  • 数据结构系列之AVL树
  • 1、黑马点评复盘(短信登录-Session或Redis实现)
  • 不同地区的主要搜索引擎工具
  • 嵌入式linux下的NES游戏显示效果优化方案:infoNES显示效果优化
  • GaussDB view视图的用法
  • now能减少mysql的压力吗
  • 重写 与 重载
  • OpenCV(02)图像颜色处理,灰度化,二值化,仿射变换
  • 优化 Elasticsearch JVM 参数配置指南
  • 浙大Fast Lab:融合3D激光雷达与强化学习的「端到端导航」,让无人机“飞”在点云上!
  • 【Linux-云原生-笔记】keepalived相关
  • OSPF路由协议——上
  • Android MediaCodec 的使用和源码实现分析
  • VSCode 开发 STM32 - clangd 带来的极致补全体验
  • Zipformer
  • ZKmall开源商城微服务架构实战:Java 商城系统的模块化拆分与通信之道
  • 小白做投资测算,如何快速上手?