深度学习入门-06

基于小土堆学习

如何把数据集和Transform结合袭来

https://pytorch.org/
上述网址是pytorch的官网
在这里插入图片描述
这里会有详细的使用介绍
在这里插入图片描述
下述是对图像处理的专门文档
在这里插入图片描述
单击后可查看详细介绍
在这里插入图片描述
选择CIFAR10数据集

在这里插入图片描述
CIFAR10 数据集是一个广泛使用的计算机视觉数据集,包含了60000张32x32的彩色图像,这些图像分为10个类别,每个类别6000张图像。这些数据集被分为50000张训练图像和10000张测试图像。

参数解释如下:

  • -root(str或pathlib.Path):数据集的根目录,其中应存在cifar-10-batches-py目录,或者如果设置download为True,则会在此目录下下载并保存数据集。
  • -train(bool,可选):如果为True,则从训练集创建数据集;否则,从测试集创建数据集。
  • -transform(callable,可选):一个函数/变换,它接受一个PIL图像并返回变换后的版本。例如,transforms.RandomCrop。
  • -target_transform(callable,可选):一个函数/变换,它接受目标(标签)并对其进行变换。
  • -download(bool,可选):如果为True,则从互联网下载数据集并将其放在根目录中。如果数据集已经下载,则不会再次下载。

在这里插入图片描述

import torchvision
train_set = torchvision.datasets.CIFAR10(root="./CIFAR",train=True,download=True)
test_set = torchvision.datasets.CIFAR10(root="./CIFAR",train=False,download=True)
#下载训练集和测试机print(test_set[0])#获取数据类型
print("test_set.classes",test_set.classes)#获取分类目标img,target = test_set[0]
print("img:",img)
print("target:",target)
#输出结果target: 3,对应类别0,1,2,3;也就是当前类别是猫cat
print("test_set.classesp[target]当前类型为",test_set.classes[target])
img.show()

运行结果为

C:\Anaconda3\envs\pytorch_test\python.exe H:\Python\Test\P10_dataset_transforms.py 
Files already downloaded and verified
Files already downloaded and verified
(<PIL.Image.Image image mode=RGB size=32x32 at 0x21F676692D0>, 3)
test_set.classes ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']
img: <PIL.Image.Image image mode=RGB size=32x32 at 0x21F6A68E560>
target: 3
test_set.classesp[target]当前类型为 cat进程已结束,退出代码0

数据集全部转换为tensor数据类型

import torchvisiondataset_transform = torchvision.transforms.Compose([torchvision.transforms.ToTensor()    ])train_set = torchvision.datasets.CIFAR10(root="./CIFAR",train=True,transform=dataset_transform,download=True)
test_set = torchvision.datasets.CIFAR10(root="./CIFAR",train=False,transform=dataset_transform,download=True)
#transform=dataset_transform,将数据集中的每个数据都转换为Tensor格式
#下载训练集和测试机print(test_set[0])#获取数据类型
print("test_set.classes",test_set.classes)#获取分类目标img,target = test_set[0]
print("img:",img)
print("target:",target)
#输出结果target: 3,对应类别0,1,2,3;也就是当前类别是猫cat
print("test_set.classesp[target]当前类型为",test_set.classes[target])

输出结果为:

C:\Anaconda3\envs\pytorch_test\python.exe H:\Python\Test\P10_dataset_transforms.py 
Files already downloaded and verified
Files already downloaded and verified
(tensor([[[0.6196, 0.6235, 0.6471,  ..., 0.5373, 0.4941, 0.4549],[0.5961, 0.5922, 0.6235,  ..., 0.5333, 0.4902, 0.4667],[0.5922, 0.5922, 0.6196,  ..., 0.5451, 0.5098, 0.4706],...,[0.2667, 0.1647, 0.1216,  ..., 0.1490, 0.0510, 0.1569],[0.2392, 0.1922, 0.1373,  ..., 0.1020, 0.1137, 0.0784],[0.2118, 0.2196, 0.1765,  ..., 0.0941, 0.1333, 0.0824]],[[0.4392, 0.4353, 0.4549,  ..., 0.3725, 0.3569, 0.3333],[0.4392, 0.4314, 0.4471,  ..., 0.3725, 0.3569, 0.3451],[0.4314, 0.4275, 0.4353,  ..., 0.3843, 0.3725, 0.3490],...,[0.4863, 0.3922, 0.3451,  ..., 0.3804, 0.2510, 0.3333],[0.4549, 0.4000, 0.3333,  ..., 0.3216, 0.3216, 0.2510],[0.4196, 0.4118, 0.3490,  ..., 0.3020, 0.3294, 0.2627]],[[0.1922, 0.1843, 0.2000,  ..., 0.1412, 0.1412, 0.1294],[0.2000, 0.1569, 0.1765,  ..., 0.1216, 0.1255, 0.1333],[0.1843, 0.1294, 0.1412,  ..., 0.1333, 0.1333, 0.1294],...,[0.6941, 0.5804, 0.5373,  ..., 0.5725, 0.4235, 0.4980],[0.6588, 0.5804, 0.5176,  ..., 0.5098, 0.4941, 0.4196],[0.6275, 0.5843, 0.5176,  ..., 0.4863, 0.5059, 0.4314]]]), 3)
test_set.classes ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']
img: tensor([[[0.6196, 0.6235, 0.6471,  ..., 0.5373, 0.4941, 0.4549],[0.5961, 0.5922, 0.6235,  ..., 0.5333, 0.4902, 0.4667],[0.5922, 0.5922, 0.6196,  ..., 0.5451, 0.5098, 0.4706],...,[0.2667, 0.1647, 0.1216,  ..., 0.1490, 0.0510, 0.1569],[0.2392, 0.1922, 0.1373,  ..., 0.1020, 0.1137, 0.0784],[0.2118, 0.2196, 0.1765,  ..., 0.0941, 0.1333, 0.0824]],[[0.4392, 0.4353, 0.4549,  ..., 0.3725, 0.3569, 0.3333],[0.4392, 0.4314, 0.4471,  ..., 0.3725, 0.3569, 0.3451],[0.4314, 0.4275, 0.4353,  ..., 0.3843, 0.3725, 0.3490],...,[0.4863, 0.3922, 0.3451,  ..., 0.3804, 0.2510, 0.3333],[0.4549, 0.4000, 0.3333,  ..., 0.3216, 0.3216, 0.2510],[0.4196, 0.4118, 0.3490,  ..., 0.3020, 0.3294, 0.2627]],[[0.1922, 0.1843, 0.2000,  ..., 0.1412, 0.1412, 0.1294],[0.2000, 0.1569, 0.1765,  ..., 0.1216, 0.1255, 0.1333],[0.1843, 0.1294, 0.1412,  ..., 0.1333, 0.1333, 0.1294],...,[0.6941, 0.5804, 0.5373,  ..., 0.5725, 0.4235, 0.4980],[0.6588, 0.5804, 0.5176,  ..., 0.5098, 0.4941, 0.4196],[0.6275, 0.5843, 0.5176,  ..., 0.4863, 0.5059, 0.4314]]])
target: 3
test_set.classesp[target]当前类型为 cat进程已结束,退出代码0

继续用Tensorboard进行图片的显示:显示前20张图片

import torchvision
from torch.utils.tensorboard import SummaryWriterdataset_transform = torchvision.transforms.Compose([torchvision.transforms.ToTensor()    ])train_set = torchvision.datasets.CIFAR10(root="./CIFAR",train=True,transform=dataset_transform,download=True)
test_set = torchvision.datasets.CIFAR10(root="./CIFAR",train=False,transform=dataset_transform,download=True)
#transform=dataset_transform,将数据集中的每个数据都转换为Tensor格式
#下载训练集和测试机# print(test_set[0])#获取数据类型
# print("test_set.classes",test_set.classes)#获取分类目标
#
# img,target = test_set[0]
# print("img:",img)
# print("target:",target)
# #输出结果target: 3,对应类别0,1,2,3;也就是当前类别是猫cat
# print("test_set.classesp[target]当前类型为",test_set.classes[target])
write = SummaryWriter("logs")
for i in range(20):img, target = test_set[i]write.add_image("img", img, i)
write.close()

结果为:

C:\Anaconda3\envs\pytorch_test\python.exe H:\Python\Test\P10_dataset_transforms.py 
Files already downloaded and verified
Files already downloaded and verified进程已结束,退出代码0

local的结果

**(pytorch_test) PS H:\Python\Test> tensorboard --logdir logs --port=6007 
TensorFlow installation not found - running with reduced feature set.
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.17.1 at http://localhost:6007/ (Press CTRL+C to quit)
**

在这里插入图片描述
拖动可以查看20张图片

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

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

相关文章

UV LED供电为什么要选择使用恒流驱动电源

LED为何一定要恒流供电? 在讨论此议题之前&#xff0c;什么是电源的恒流恒压&#xff1f; 什么是电源的恒流恒压   恒流&#xff0c;就是输出电流是恒定的&#xff0c;但电源电流却不是固定的&#xff0c;标称的电压只是安全上限&#xff1b;恒压&#xff0c;就是输出电压是…

Unity3D FixedUpdate处理物理模拟详解

在Unity3D中&#xff0c;处理物理模拟时&#xff0c;正确地使用FixedUpdate()方法是非常重要的。这是因为Unity的物理引擎&#xff08;PhysX&#xff09;是在固定的时间间隔内运行的&#xff0c;而不是像Update()那样每一帧都调用。这种设计旨在确保物理模拟的稳定性和可预测性…

力扣面试经典算法150题:跳跃游戏

跳跃游戏 今天的题目是力扣面试经典150题中的数组的中等难度题&#xff1a;跳跃游戏。 题目链接&#xff1a;https://leetcode.cn/problems/jump-game/description/?envTypestudy-plan-v2&envIdtop-interview-150 题目描述 给定一个非负整数数组 nums&#xff0c;你最初…

uniapp/uniapp x总结

uni-app组成和跨端原理 上图所诉 App的渲染引擎&#xff1a;同时提供了2套渲染引擎&#xff0c;.vue页面文件由webview渲染&#xff0c;原理与小程序相同&#xff1b;.nvue页面文件由原生渲染&#xff0c;原理与react native相同。开发者可以根据需要自主选择渲染引擎。 uniapp…

R语言中theme的调整技巧汇总-持续更新

1.如何扩充图片的上右下左位置的空白区域&#xff1a; unit(c(1.1, 1, 0.4, 0.5), “cm”) 表示使用厘米作为单位设置各个方向的边距&#xff0c;c(1.1, 1, 0.4, 0.5) 对应的顺序是&#xff1a;上、右、下、左。 theme(plot.margin unit(c(1.1, 1, 0.4, 0.5), "cm")…

android gradle.properties 的作用

android gradle.properties 的作用 1 将多个应用程序打包成一个单一的应用程序&#xff08;超级应用或聚合应用&#xff09;在里面配置打包的版本&#xff0c;版本号&#xff0c;比如 version_code110 RELEASE_VERSION3.0.5 DEFAULT_BUILD_TYPE_NAMERelease 2 配置一些在线库&a…

微信小程序uni :class不支持xxx语法

问题代码&#xff1a; <view class"cellTop"><view>{{list.payTime}}</view><view :class"payStatusClass${list.payStatus}">{{payStatusDe[list.payStatus]}}</view></view> .payStatusClass1{color: rgb(246, 122,…

C# lambda 表达式 和 闭包的概念

目录 lambda表达式 闭包 内层的函数可以引用包含在它外层的函数的变量 即使外层函数的执行已经终止 注意&#xff1a; 该变量提供的值并非变量创建时的值&#xff0c;而是在父函数范围内的最终值。 class Program { public static void Main() { Test t…

鸿蒙HarmonyOS开发:创建新的Lite工程

当开始开发一个应用/服务时&#xff0c;首先需要根据工程创建向导&#xff0c;创建一个新的工程&#xff0c;工具会自动生成对应的代码和资源模板。 说明 在运行DevEco Studio工程时&#xff0c;建议每一个运行窗口有2GB以上的可用内存空间。 创建和配置新工程 DevEco Studio提…

Kubernetes中如何对etcd进行备份和还原

一、etcd备份 准备环境 确认etcd版本&#xff0c;确保etcdctl客户端与服务器版本兼容。获取etcd证书和密钥&#xff0c;如果集群使用了TLS加密。设置etcdctl环境变量&#xff0c;如ETCDCTL_API3&#xff08;指定使用etcd v3 API&#xff09;。 执行备份命令 使用etcdctl的snap…

TCP/IP和SNMP

目录 前言 一、TCP/IP (Transmission Control Protocol/Internet Protocol) 1. TCP/IP概述 2. TCP/IP的分层结构 3. TCP和UDP的对比 4. IP地址和子网划分 二、SNMP (Simple Network Management Protocol) 1. SNMP概述 2. SNMP的组成部分 3. SNMP操作 4. SNMP版本 5…

【图文并茂】ant design pro 如何对接后端个人信息接口

上一节我们有讲到如何对接登录接口的 【图文并茂】ant design pro 如何对接登录接口 仅仅能登录是最基本的&#xff0c;但是我们要进入后台还是需要另一个接口。 这个接口有两个作用&#xff1a; 来获取当前登录账号的信息&#xff0c;比如头像&#xff0c;用户名&#xff0…

Springsecurity中的Eureka报错:Cannot execute request on any known server

完整报错信息&#xff1a; com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server 报错体现&#xff1a; 访问eureka控制面板&#xff1a; 访问测试地址&#xff1a; 控制台报错&#xff1a; 可能的报错原因&#xff…

【YOLOv8改进[Conv]】 感受野注意力卷积RFAConv(2024.3)| 使用RFAConv改进C2f + 含全部代码和详细修改方式

本文将进行在YOLOv8中使用 感受野注意力卷积RFAConv改进C2f 的实践,助力YOLOv8目标检测效果,文中含全部代码、详细修改方式。助您轻松理解改进的方法。 改进前和改进后

Java的GC(Garbage Collection,垃圾回收)

Java的GC&#xff08;Garbage Collection&#xff0c;垃圾回收&#xff09;机制是Java虚拟机&#xff08;JVM&#xff09;中的一个重要功能&#xff0c;用于自动管理堆内存中不再使用的对象&#xff0c;释放其占用的内存空间&#xff0c;以避免内存泄漏和溢出。以下是对Java GC…

WEB渗透免杀篇-Golang免杀

全套完整笔记 渗透测试60w字全套md笔记&#xff1a;夸克网盘分享 往期文章 WEB渗透免杀篇-免杀工具全集-CSDN博客 WEB渗透免杀篇-加载器免杀-CSDN博客 WEB渗透免杀篇-分块免杀-CSDN博客 WEB渗透免杀篇-Powershell免杀-CSDN博客 WEB渗透免杀篇-Python源码免杀-CSDN博客 …

快手小店自动回复机器人脚本

快手小店自动回复机器人是一种利用人工智能AI技术&#xff0c;能够根据用户的会话咨询内容自动回复的工具。这种机器人可以帮助快手小店主快速、高效地回复客户消息&#xff0c;提升店铺的客户服务质量和销售效率。 甜羊浏览器是一款基于Chromium内核开发的国产浏览器&#xff…

wpf DynamicResource的ResourceKey值进行绑定

wpf 中的DynamicResource 的ResourceKey不支持绑定的&#xff0c;因为它不是个DependencyProperty&#xff0c;但又想动态指定ResourceKey 场景&#xff1a; Name属性有多个值 zhangsan,lisi,wangwu 对应不同资源文件中的 // style1<sys:String x:Key"zhangsan"…

Java里面的::是什么意思

在Java中&#xff0c;:: 是方法引用&#xff08;Method References&#xff09;的符号。方法引用提供了一种更简洁的方式来引用已存在的方法或构造函数。这种特性是在Java 8中引入的&#xff0c;作为Lambda表达式的一个补充&#xff0c;旨在让代码更加简洁和易于理解。 方法引…

解决html中文乱码问题

在head上面添加 <% page contentType"text/html;charsetUTF-8" language"java" %>