Python打卡第38天

@浙大疏锦行

作业:

了解下cifar数据集,尝试获取其中一张图片

import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import DataLoader , Dataset # DataLoader 是 PyTorch 中用于加载数据的工具
from torchvision import datasets, transforms # torchvision 是一个用于计算机视觉的库,datasets 和 transforms 是其中的模块
import matplotlib.pyplot as plt# 设置随机种子,确保结果可复现
torch.manual_seed(42)
# 先归一化,再标准化
transform = transforms.Compose([transforms.ToTensor(),  # 转换为张量并归一化到[0,1]transforms.Normalize((0.1307,), (0.3081,))  # MNIST数据集的均值和标准差,这个值很出名,所以直接使用
])# 2. 加载MNIST数据集,如果没有会自动下载
train_dataset = datasets.CIFAR10(root='./data',train=True,download=True,transform=transform
)test_dataset = datasets.CIFAR10(root='./data',train=False,transform=transform
)import matplotlib.pyplot as plt# 随机选择一张图片,可以重复运行,每次都会随机选择
sample_idx = torch.randint(0, len(train_dataset), size=(1,)).item() # 随机选择一张图片的索引
# len(train_dataset) 表示训练集的图片数量;size=(1,)表示返回一个索引;torch.randint() 函数用于生成一个指定范围内的随机数,item() 方法将张量转换为 Python 数字
image, label = train_dataset[sample_idx] # 获取图片和标签# minist数据集的简化版本
class MNIST(Dataset):def __init__(self, root, train=True, transform=None):# 初始化:加载图片路径和标签self.data, self.targets = fetch_mnist_data(root, train) # 这里假设 fetch_mnist_data 是一个函数,用于加载 MNIST 数据集的图片路径和标签self.transform = transform # 预处理操作def __len__(self): return len(self.data)  # 返回样本总数def __getitem__(self, idx): # 获取指定索引的样本# 获取指定索引的图像和标签img, target = self.data[idx], self.targets[idx]# 应用图像预处理(如ToTensor、Normalize)if self.transform is not None: # 如果有预处理操作img = self.transform(img) # 转换图像格式# 这里假设 img 是一个 PIL 图像对象,transform 会将其转换为张量并进行归一化return img, target  # 返回处理后的图像和标签# 可视化原始图像(需要反归一化)
def imshow(img):img = img * 0.3081 + 0.1307  # 反标准化npimg = img.numpy()plt.imshow(npimg[0], cmap='gray') # 显示灰度图像plt.show()print(f"Label: {label}")
imshow(image)
Files already downloaded and verified
Label: 6

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

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

相关文章

AI 数据采集实战指南:基于 Bright Data 快速获取招标讯息

AI 数据采集实战指南:基于Bright Data快速获取招标讯息 在招标行业中,快速、准确地获取招标公告、项目详情、投标截止日期和其他关键招标信息,是投标企业提高竞标成功率的核心竞争力。然而,招标信息往往分散在不同的平台和网页&a…

TCP 三次握手,第一次握手报文丢失会发生什么?

文章目录 RTO(Retransmission Timeout)注意 客户端想与服务端建立 TCP 连接时,先发送 SYN 报文,在这之后,如果客户端迟迟收不到服务端的 SYNACK 报文,就会触发「超时重传」机制,重新发送 SYN 报文,而且重传…

【DeepSeek论文精读】12. DeepSeek-Prover-V2: 通过强化学习实现子目标分解的形式化数学推理

欢迎关注[【AIGC论文精读】](https://blog.csdn.net/youcans/category_12321605.html)原创作品 【DeepSeek论文精读】1. 从 DeepSeek LLM 到 DeepSeek R1 【DeepSeek论文精读】10. DeepSeek-Coder-V2: 突破闭源模型在代码智能领域的障碍 【DeepSeek论文精读】12. De…

第十一节:第一部分:正则表达式:应用案例、爬取信息、搜索替换

正则表达式介绍 String提供的正则表达式的方法的书写规则 正则表达式总结 正则表达式作用: 作用三:搜索替换 案例分析及代码(图片解析) 代码: 代码一:校验手机号和邮箱格式是否正确 package com.itheima.…

视频监控汇聚平台EasyCVR工业与安全监控:防爆摄像机的安全应用与注意事项

石油、化工、煤矿等行业存在易燃易爆气体、粉尘,普通监控设备易因电火花、高温引发爆炸火灾。随着工业规模扩大,安全生产监控需求激增,防爆摄像机成为保障安全的关键。加之国家法规与行业标准对危险环境监控设备要求严格,规范其应…

重学计算机网络之命令整理

配置权限相关 1.用户执行模式:查看网络设备状态信息 2.特权执行模式:查看和修改网络设备的状态和控制信息 3.全局配置模式:对整个网络设备进行全局性参数配置 4.接口配置模式:对网络设备的接口进行配置 enable #进入特权执行模式…

数据结构与算法Day3:绪论第三节抽象数据类型、算法及其描述

各位亲爱的读者,大家好!今天博主给大家带来的内容是C语言数据结构与算法当中抽象数据类型、算法及其分析的相关知识。 一.抽象数据类型 抽象数据类型:指的是用户进行软件系统设计时从问题的数据模型中抽象出来的逻辑数据结构和逻辑数据结构上…

ABC 350

E. Toward 0 从大规模向小规模,用记忆化搜索,只需要分好类,有哪几种搜法。 期望实际上就是把每一种情况的答案答案都算出来,然后取个平均值 ,并不困难。 f ( i ) [ f ( i / 6 ) f ( i / 5 ) f ( i / 4 ) f ( i / 3…

多相电机驱动控制学习(1)——基于双dq坐标系的六相/双三相PMSM驱动控制

1.引言 最近想学习一下多相电机。想从相对简单的开始吧,先学一个基于双dq的六相/双三相PMSM驱动控制(考虑中性点隔离以及不隔离的情况,即考虑是否有零序电流回路),后面有时间再学学基于VSD的六相/双三相PMSM驱动控制。…

笔记: 在WPF中ContentElement 和 UIElement 的主要区别

一、目的:简要姐扫在WPF中ContentElement 和 UIElement 的主要区别 ContentElement 和 UIElement 是 WPF 中的两个基类,它们在功能和用途上有显著的区别。 二、主要区别 ContentElement 主要特点: • 没有视觉表示: ContentElement 本身不直接渲染任…

Android-Glide学习总结

Glide三级缓存​ 面试官 我看你简历里提到熟悉 Glide,能聊聊它的缓存机制吗?比如加载图片的时候,Glide 是怎么决定从内存还是磁盘读取的? ​你​ 哦,Glide 的缓存机制是吧?嗯,这个我之前在做项…

安卓证书的申请(保姆级图文)

目录 确认安装了对应版本的jdk生成证书文件1. -genkey2. -alias test_certalias3. -keyalg RSA4. -keysize 20485. -validity 365006. -keystore test_cert.keystore 查看证书内容总结 欢迎关注 『发现你走远了』 博客,持续更新中 欢迎关注 『发现你走远了』 博客&a…

Unity性能优化

SetPass calls表示在当前摄像机的渲染过程中,Unity切换着色器通道(Shader Pass)来渲染游戏对象的次数。一个着色器(Shader)可以包含多个着色器通道,每个着色器通道可以通过不同的方式来渲染游戏对象。但每次…

Python+AI Agent:解锁MCP Servers的智能潜力

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…

uni-app学习笔记十五-vue3页面生命周期(一)

页面生命周期概览 vue3页面生命周期如下图所示: onLoad 此时页面还未显示,没有开始进入的转场动画,页面dom还不存在。 所以这里不能直接操作dom(可以修改data,因为vue框架会等待dom准备后再更新界面)&am…

【排序算法】快速排序详解--附详细流程代码

快速排序算法 介绍 快速排序(Quick Sort)是一种高效的分治排序算法,由英国计算机科学家 Tony Hoare 于 1960 年提出。它是实际应用中最常用的排序算法之一。快速排序的基本思想是:选择一个"基准"(pivot&am…

【监控】Prometheus中的告警机制介绍

prometheus实战之三:告警规则_验证prometheus告警规则-CSDN博客 Prometheus是一款开源的系统监控和告警工具,其告警功能是保障系统稳定运行的重要部分。以下将从告警的整体架构、核心概念、规则配置以及具体的通知流程等方面对Prometheus中的告警进行介…

53、用例(Use Case)详解

1. 定义与核心概念 用例(Use Case) 是软件工程中用于描述系统功能需求的核心工具,它通过结构化的方式定义系统与外部参与者(用户、其他系统)之间的交互行为,以实现具体的业务目标。用例强调从用户视角出发…

对比Redis与向量数据库(如Milvus)在AI中的应用

对比Redis与向量数据库(如Milvus)在AI中的应用 在AI架构中,缓存系统的设计直接影响响应速度、资源成本以及推理路径是否高效。而面对不同的AI业务诉求,选用什么类型的缓存系统、如何搭配,往往是系统架构设计中必须深入…

Oracle 的 MOVE 操作是否重建表?

Oracle 的 MOVE 操作是否重建表? Oracle 的 ALTER TABLE ... MOVE 操作实质上是重建表的物理存储结构,但保留表的逻辑定义不变。 MOVE 操作的本质 物理重建: 创建新的数据段(物理存储结构)将原表数据按顺序重新插入到…