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

 Pytorch torchvision 包提供了很多常用数据集

数据按照用途一般分为三组:训练(train)、验证(validation)和测试(test)。使用训练数据集来训练模型,使用验证数据集跟踪模型在训练期间的性能,使用测试数据集对模型进行最终评估。

目录

导入MNIST训练数据集

提取训练数据和标签

同理操作验证数据集

给张量添加维度

打印示例图像


导入MNIST训练数据集

从 torchvision导入MNIST训练数据集

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

datasets.MNIST是Pytorch的内置函数

train=True指导入的数据作为训练数据集

download=True若根目录下没有数据集时自动下载

 导入完成后可以看到MINST文件内的数据集

提取训练数据和标签

x_train, y_train=train_data.data,train_data.targets
print(x_train.shape)
print(y_train.shape)

x_train存储60000张28*28的图片,y_train存储60000张图片对应的数字(label)

同理操作验证数据集

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

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

 

给张量添加维度

Pytorch中张量可以是一维、二维、三维或者更高维度的数据结构。一维张量类似于向量,二维张量类似于矩阵,三维张量类似一系列矩阵的堆叠。添加新的维度可以更好地对数据进行表示和处理。

if len(x_train.shape)==3:x_train=x_train.unsqueeze(1)
print(x_train.shape)if len(x_val.shape)==3:x_val=x_val.unsqueeze(1)
print(x_val.shape)

 .unsqueeze(0)指添加在第一个维度

也可以通过x_train.view(60000,1,28,28)添加维度

可以看到张量由三维变为了四维 

打印示例图像

引入所需的包,定义一个辅助函数,将张量显示为图像

from torchvision import utils
import matplotlib.pyplot as plt
import numpy as np
def show(img):npimg = img.numpy()npimg_tr=np.transpose(npimg, (1,2,0))plt.imshow(npimg_tr,interpolation='nearest')

创建一个10*10的网格,每行10张图片,pedding=3指间隔为3

x_grid=utils.make_grid(x_train[:100], nrow=10, padding=3)
print(x_grid.shape)
show(x_grid)

utils.make_grid实际上是将多张图片拼接起来,参照官方介绍:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/872355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安全防御拓扑1

目录 实验的拓扑: 要求: 我搭建的实验拓扑 步骤: 创建vlan: 接口配置: 防火墙: 防火墙配置: 建立安全策略: 防火墙的用户: 办公区的市场部和研发部用户 市场部…

杰发科技AC7801 —— __attribute__指定地址存储常量

const uint8_t usFlashInitVal[] __attribute__((at(0x08002800))) {0x55,0x55,0x55,0x55,0x55};//定位在flash中,0x00030000开始的6个字节信息固定 注意7801的地址在8000000之后 如地址选0x00000800烧录时候报错 不知道是不是atclinktool的bug,使用_…

勒索防御第一关 亚信安全AE防毒墙全面升级 勒索检出率提升150%

亚信安全信舷AE高性能防毒墙完成能力升级,全面完善勒索边界“全生命周期”防御体系,筑造边界勒索防御第一关! 勒索之殇,银狐当先 当前勒索病毒卷携着AI技术,融合“数字化”的运营模式,形成了肆虐全球的网…

数据结构(4.4)——求next数组

next数组的作用:当模式串的第j个字符失配时,从模式串的第next[j]的继续往后匹配 求模式串的next数组(手算) next[1] 任何模式串都一样,第一个字符不匹配时,只能匹配下一个子串,因此,往后,next[1]都无脑写…

Classifier-Free Guidance (CFG) Scale in Stable Diffusion

1.Classifier-Free Guidance Scale in Stable Diffusion 笔记来源: 1.How does Stable Diffusion work? 2.Classifier-Free Diffusion Guidance 3.Guide to Stable Diffusion CFG scale (guidance scale) parameter 1.1 Classifier Guidance Scale 分类器引导是…

达梦数据库的系统视图v$dict_cache_item

达梦数据库的系统视图v$dict_cache_item 在达梦数据库(DM Database)中,V$DICT_CACHE_ITEM 是一个系统视图,用于显示字典缓存(Dictionary Cache)中的项信息。字典缓存是数据库中的一个重要组件,…

RepLKNet(CVPR 2022, MEGVII)

paper:Scaling Up Your Kernels to 31x31: Revisiting Large Kernel Design in CNNs official implementation:https://github.com/DingXiaoH/RepLKNet-pytorch 背景 卷积神经网络(CNN)曾经是现代计算机视觉系统中的常见选择。…

Golang | Leetcode Golang题解之第231题2的幂

题目&#xff1a; 题解&#xff1a; func isPowerOfTwo(n int) bool {const big 1 << 30return n > 0 && big%n 0 }

在 vite+vue3+electron 中使用 express

文章目录 一、Vite Vue3 Electron 项目的搭建二、搭建 express 环境1、安装 express 框架所需依赖2、创建 express 项目3、配置路由4、启动 express 服务5、启动 electron 并获取数据 三、项目打包 一、Vite Vue3 Electron 项目的搭建 详细的项目构建和打包可参考另一篇文…

hung 之 softlockup hardlockup 检测

1. softlockup & hardlockup 的含义 softlockup 指的是这样一种场景&#xff1a;由于内核程序设计问题&#xff0c;导致CPU长时间关闭抢占。 hardlockup 指的是这样一种场景&#xff1a;由于内核程序设计问题&#xff0c;导致CPU时钟中断长时间禁用。 softlockup 或 har…

【UE5.1】NPC人工智能——02 NPC移动到指定位置

效果 步骤 1. 新建一个蓝图&#xff0c;父类选择“AI控制器” 这里命名为“BP_NPC_AIController”&#xff0c;表示专门用于控制NPC的AI控制器 2. 找到我们之前创建的所有NPC的父类“BP_NPC” 打开“BP_NPC”&#xff0c;在类默认值中&#xff0c;将“AI控制器类”一项设置为“…

【Diffusion学习】【生成式AI】淺談圖像生成模型 Diffusion Model 原理

文章目录 Diffusion Model 是如何运作的&#xff1f;吃额外的1个数字&#xff1a;stepDenoise 模组内部实际做的事情&#xff1a;预测noise如何训练 Noise Predictor Text-to-ImageDDPM 算法 from&#xff1a; https://www.youtube.com/watch?vazBugJzmz-o&listPLJV_el3uV…

[HCTF 2018]WarmUp1

进入靶场&#xff0c;检查代码看到有source.php,访问 /source.php 读代码&#xff0c;在参数中传入 file&#xff0c;通过checkFile后&#xff0c;会加载file界面。 再看checkFile&#xff0c; 第一个判断&#xff0c;是非空并且是个字符串&#xff0c;否则返回false 第二个判…

微软研发致胜策略 01:尊定基础

这是一本老书&#xff0c;作者 Steve Maguire 在微软工作期间写了这本书&#xff0c;英文版于 1994 年发布。我们看到的标题是中译版名字&#xff0c;英文版的名字是《Debugging the Development Process》&#xff0c;这本书详细阐述了软件开发过程中的常见问题及其解决方案&a…

特征映射(机器学习)

有时数据的分类并不像我们想象的那么简单&#xff0c;需要高次曲线才能分类。 就像下面的数据&#xff1a; 数据集最后给出&#xff1a; 我们这样看&#xff0c;至少需要达到2次以及以上的曲线才可以进行比较准确的分类。 比如如果已知数据有3列(两列特征) x1x2y-1-110.50.…

Axolotl

文章目录 一、关于 Axolotl特点Axolotl支持 二、快速入门⚡用法 三、环境设置1、Docker2、Conda/Pip venv3、Cloud GPU4、Bare Metal Cloud GPULambdaLabsGCP 5、Windows6、Mac7、Google Colab8、通过SkyPilot在公共云上启动9、通过 dstack 在公共云上启动 四、其他高级设置1、…

网站成长时间轴页面,网站发展记录页源码

一、源码描述 这是一款网站时间轴HTML源码&#xff0c;样式设计精美并且使用简单&#xff0c;主要用于记录你的网站发展历程&#xff0c;或者可以用于发布心情动态等&#xff0c;左侧年份可以折叠起来&#xff0c;页面底部是导航区域&#xff0c;可以自定义文本和链接。 二、…

Azure Repos 仓库管理

从远端仓库克隆到本地 前提:本地要安装git,并且登录了账户 1.在要放这个远程仓库的路径下,打git 然后 git clone https://.. 如果要登录验证,那就验证下 克隆完后,cd 到克隆的路径, 可以用 git branch -a //查看分支名 git status //查看代码状态 删除…

对于GPT-5在一年半后发布的期待!

首先&#xff0c;如果GPT-5真如OpenAI首席技术官米拉穆拉蒂&#xff08;Mira Murati&#xff09;在采访中所透露的那样&#xff0c;在一年半后发布&#xff0c;并在某些领域达到博士级的智能&#xff0c;这无疑将是一个令人振奋的消息。这一预测不仅反映了AI技术的快速发展&…

MPAS跨尺度、可变分辨率模式实践技术

跨尺度预测模式&#xff08;The Model for Prediction Across Scales - MPAS&#xff09;是由洛斯阿拉莫斯实验室和美国国家大气研究中心(NCAR)共同开发&#xff0c;其由3个部分组成&#xff0c;分别称为 MPAS-A&#xff08;大气模型&#xff09;、MPAS-O&#xff08;海洋模型&…