当前位置:网站首页>二、如何保存MNIST数据集中train和test的图片?
二、如何保存MNIST数据集中train和test的图片?
2022-07-29 05:22:00 【MY头发乱了】
如何保存MNIST数据集中train和test的图片?
介绍一种非诚神奇的图片保存方法,尤其是利用字典…format…结合来用,创建保存路径,这是一种史上很难用到的一种方法,哈哈哈哈,有点吹牛皮,不说了,言归正传。请仔细看!
// An highlighted block
from torchvision import datasets, transforms
import os
if __name__ == '__main__':
train_data = datasets.MNIST("./data", train=True, transform=transforms.ToTensor(), download=True) # 读取train数据
test_data = datasets.MNIST("./data", train=False, transform=transforms.ToTensor(), download=False) # 读取test数据
pic_dict = {
i: 0 for i in range(10)} # 创建字典,以便将MNIST数据集0-9类按类加入,且不重名。
# #for i, (image,label) in enumerate(test_data):#取出图片和label
for i, data in enumerate(test_data):
image = data[0] # shape=6000*28*28
label = data[1] # shape=6000,0-9共10类
img = transforms.ToPILImage()(image) # 转化成张量,即变成tensor形式
if os.path.exists(f'./test_img/{label}'):
pass
else:
os.makedirs(f'./test_img/{label}')
# img.save('./test_img/{}/{}.png'.format(label, pic_dict[label]))
img.save(f'./test_img/{label}/{pic_dict[label]}.png') # 保存路径
pic_dict[label] += 1
print(sum(pic_dict.values())) # pic_dict.values()计算键值总和
上述方法局限于保存一个数据集的图片,也就是说,要么保存训练集,要么保存测试集的图片,哈哈哈,不要着急,现在有一种方法,一步登天,接着看…下面代码…
下面展示代码。
from torchvision import datasets, transforms
import os
if __name__ == '__main__':
train_data = datasets.MNIST('./data', train=True,transform=transforms.ToTensor(),download=False)
test_data = datasets.MNIST('./data', train=False,transform=transforms.ToTensor(),download=False)
for i in [train_data,test_data]:#将两个数据集装在一起,嵌入一个循环。
# 创建字典
pic_dic = {
i: 0 for i in range(10)}
# 取出图片和标签
if i ==train_data:
for i, (image, label) in enumerate(train_data):
img = transforms.ToPILImage()(image) # 转为张量
if not os.path.exists(f'./train_img/{label}'):
os.makedirs(f'./train_img/{label}')
else:
pass
img.save(f'./train_img/{label}/{pic_dic[label]}.png') # 保存路径
pic_dic[label] += 1
sum_values=sum(pic_dic.values())
print('训练集图片合计:%s张'%sum_values) # 求键值的总和
else:
for i, (image, label) in enumerate(test_data):
img = transforms.ToPILImage()(image) # 转为张量
if not os.path.exists(f'./test_img/{label}'):
os.makedirs(f'./test_img/{label}')
else:
pass
img.save(f'./test_img/{label}/{pic_dic[label]}.png') # 保存路径
pic_dic[label] += 1
sum_values=sum(pic_dic.values())
print('测试集图片合计:%s张'%sum_values) # 求键值的总和还有很多方法,比如PIL、OpenCV也可以实现,但是我不知道,哈哈哈哈…
边栏推荐
- 第一周任务 深度学习和pytorch基础
- Ribbon learning notes II
- C # judge whether the user accesses by mobile phone or computer
- 神经网络相关知识回顾(PyTorch篇)
- 并发编程学习笔记 之 工具类Semaphore(信号量)
- 虚假新闻检测论文阅读(五):A Semi-supervised Learning Method for Fake News Detection in Social Media
- Flink connector Oracle CDC synchronizes data to MySQL in real time (oracle19c)
- Spring, summer, autumn and winter with Miss Zhang (5)
- 研究生新生培训第一周:深度学习和pytorch基础
- GAN:生成对抗网络 Generative Adversarial Networks
猜你喜欢
![[semantic segmentation] Introduction to mapillary dataset](/img/3d/49b1b6007c1f97b1ba8ac438097590.png)
[semantic segmentation] Introduction to mapillary dataset

Activity交互问题,你确定都知道?

【语义分割】Fully Attentional Network for Semantic Segmentation

深入理解MMAP原理,让大厂都爱不释手的技术

研究生新生培训第二周:卷积神经网络基础

Reporting Services- Web Service

【Transformer】TransMix: Attend to Mix for Vision Transformers

ANR优化:导致 OOM 崩溃及相对应的解决方案
![[go] use of defer](/img/10/9e4e1c593870450c381a154f31ebef.png)
[go] use of defer

【网络设计】ConvNeXt:A ConvNet for the 2020s
随机推荐
备份谷歌或其他浏览器插件
Windos下安装pyspider报错:Please specify --curl-dir=/path/to/built/libcurl解决办法
Operation commands in anaconda, such as removing old environment, adding new environment, viewing environment, installing library, cleaning cache, etc
迁移学习—— Transfer Feature Learning with Joint Distribution Adaptation
Flutter正在被悄悄放弃?浅析Flutter的未来
[database] database course design - vaccination database
[ml] PMML of machine learning model -- Overview
四、One-hot和损失函数的应用
NLP领域的AM模型
Use of xtrabackup
The differences and reasons between MySQL with and without quotation marks when querying string types
Detailed explanation of atomic operation class atomicinteger in learning notes of concurrent programming
anaconda中移除旧环境、增加新环境、查看环境、安装库、清理缓存等操作命令
【CV】请问卷积核(滤波器)3*3、5*5、7*7、11*11 都是具体什么数?
【Transformer】SegFormer:Simple and Efficient Design for Semantic Segmentation with Transformers
[semantic segmentation] overview of semantic segmentation
【ML】机器学习模型之PMML--概述
Flink connector Oracle CDC synchronizes data to MySQL in real time (oracle19c)
【Transformer】TransMix: Attend to Mix for Vision Transformers
二、OCR训练时,将txt文件和图片数据转为lmdb文件格式