torch之从.datasets.CIFAR10解压出训练与测试图片 (附带网盘链接)

server/2024/9/24 22:35:18/

前言
从官网上下载的是长这个样子的
在这里插入图片描述
想看图片,咋办咧,看下面代码

import torch
import torchvision
import numpy as np
import os
import cv2
batch_size = 50transform_predict = torchvision.transforms.Compose([torchvision.transforms.ToTensor(),
])
#-----#
# train 为True 则是解压出训练图片 为Fasle的时候则解压出测试图片
#------#
image_data = torchvision.datasets.CIFAR10(root='/home/netted/img_process_ml/temp', train=True, download=False, transform=transform_predict)
image_loader = torch.utils.data.DataLoader(image_data, batch_size, shuffle=True, num_workers=0)path = '/home/netted/img_process_ml/temp/train'
os.makedirs(path,exist_ok=True)
for i in range(10):os.makedirs(f'{path}/{i}',exist_ok=True)def format(image):image = image.clone().detach().cpu().squeeze(0)image = np.around(image.mul(255))image = np.uint8(image).transpose(1, 2, 0)return imagedef data(image_loader):idx0 = 0idx1 = 0idx2 = 0idx3 = 0idx4 = 0idx5 = 0idx6 = 0idx7 = 0idx8 = 0idx9 = 0for i, (data, target) in enumerate(image_loader):for idx in range(len(data)):label = target[idx].item()image = format(data[idx])if label == 0:cv2.imwrite(f'{path}/{label}/plane_{idx0}.png',image)idx0 += 1if label == 1:cv2.imwrite(f'{path}/{label}/car_{idx1}.png', image)idx1 += 1if label == 2:cv2.imwrite(f'{path}/{label}/bird_{idx2}.png', image)idx2 += 1if label == 3:cv2.imwrite(f'{path}/{label}/cat_{idx3}.png', image)idx3 += 1if label == 4:cv2.imwrite(f'{path}/{label}/deer_{idx4}.png', image)idx4 += 1if label == 5:cv2.imwrite(f'{path}/{label}/dog_{idx5}.png', image)idx5 += 1if label == 6:cv2.imwrite(f'{path}/{label}/frog_{idx6}.png', image)idx6 += 1if label == 7:cv2.imwrite(f'{path}/{label}/horse_{idx7}.png', image)idx7 += 1if label == 8:cv2.imwrite(f'{path}/{label}/ship_{idx8}.png', image)idx8 += 1if label == 9:cv2.imwrite(f'{path}/{label}/truck_{idx9}.png', image)idx9 += 1data(image_loader)

然后就解压出来了
在这里插入图片描述
在这里插入图片描述
当然可以自行调整将它们都合在一个文件夹里面,个人喜好

原包与自己生成好的链接如下:
链接:https://pan.baidu.com/s/1pkAFVjZ2f3ibPvMe4TtjOQ?pwd=noia
提取码:noia

欢迎大家点赞或收藏~
可以鼓励作者加快更新哟~


http://www.ppmy.cn/server/61067.html

相关文章

认知偏差知识手册

The Connector 每周会选取我从信息流里获取的有价值内容,包括 AI 探索专题、Github 开源库推荐、工具介绍和一些文章书籍等,目标是链接互联网上的优质内容,获得更多的灵感和知识,从而激发彼此的创造力。 AI 探索 主流推理框架在…

搜索引擎算法工程师,在query理解方面,都有哪些方面的工作

一、什么是query理解? 通俗来讲,就是query整形。又可以理解为是一个转接头,把用户送来过来的奇奇怪怪的query(或者说是在搜索引擎看来是奇奇怪怪的query)转换为搜索引擎最想看到的query的。 在LLM当前能力的帮助下&a…

03-Charles实战

一、抓包分析问题示例 1)问题描述 2)抓包分析 这是后台响应回来的错误信息,说明问题一是后台的原因;但是后台只响应了一条信息,而前端页面却显示两条错误信息,说明前端页面处理异常的时候逻辑有问题&#…

SpringBoot开发的AI导航站技术架构剖析 —— 技术如何选型 - 第520篇

历史文章(文章累计520) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 《…

华为 NAT 技术介绍及配置

网络地址转换是一种将内部私有IP地址转换为公共IP地址的技术,广泛用于解决IPv4地址短缺问题,提高网络的安全性和灵活性。华为设备支持多种NAT技术,包括静态NAT、动态NAT和NAPT(端口地址转换)。以下将详细介绍每种技术及…

Python爬虫入门篇学习记录

免责声明 本文的爬虫知识仅用于合法和合理的数据收集,使用者需遵守相关法律法规及目标网站的爬取规则,尊重数据隐私,合理设置访问频率,不得用于非法目的或侵犯他人权益。因使用网络爬虫产生的任何法律纠纷或损失,由使用…

无人驾驶大热,新能源汽车智能化中的算网支持

来源新华社:百度“萝卜快跑”全无人驾驶汽车行驶在路上 当前,新能源汽车产业数智化已成为全球汽车产业数字化转型的焦点。一方面,随着人工智能、大数据、云计算等技术的深度融合,新能源汽车在自动驾驶、智能互联、能源管理等方面…

【前端Vue3】——Vue基础知识点总结(万字总结)

🎼个人主页:【Y小夜】 😎作者简介:一位双非学校的大二学生,编程爱好者, 专注于基础和实战分享,欢迎私信咨询! 🎆入门知识专栏:🎇【MySQL&#…