2020.3.31 miniImagenet数据集处理

2024-01-12 23:48

本文主要是介绍2020.3.31 miniImagenet数据集处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

miniImagenet数据集的结构为:所有的照片放在一个文件夹中,另外有三个csv文件分别是:train.csv,val.csv,test.csv,三个csv文件都有两列,第一列是文件名,第二列是标签。我在使用数据集时,把train数据,test数据,val数据分别都保存到对应的标签下。

处理后的目录结构如下:

具体处理代码:

import csv
import os
from PIL import Image
train_csv_path="C:/Users/MMatx/Desktop/研究生/mini-imagenet/mini-imagenet/train.csv"
val_csv_path="C:/Users/MMatx/Desktop/研究生/mini-imagenet/mini-imagenet/val.csv"
test_csv_path="C:/Users/MMatx/Desktop/研究生/mini-imagenet/mini-imagenet/test.csv"train_label={}
val_label={}
test_label={}
with open(train_csv_path) as csvfile:csv_reader=csv.reader(csvfile)birth_header=next(csv_reader)for row in csv_reader:train_label[row[0]]=row[1]with open(val_csv_path) as csvfile:csv_reader=csv.reader(csvfile)birth_header=next(csv_reader)for row in csv_reader:val_label[row[0]]=row[1]with open(test_csv_path) as csvfile:csv_reader=csv.reader(csvfile)birth_header=next(csv_reader)for row in csv_reader:test_label[row[0]]=row[1]img_path="C:/Users/MMatx/Desktop/研究生/mini-imagenet/mini-imagenet/images"
new_img_path="C:/Users/MMatx/Desktop/研究生/mini-imagenet/mini-imagenet/ok"
for png in os.listdir(img_path):path = img_path+ '/' + pngim=Image.open(path)if(png in train_label.keys()):tmp=train_label[png]temp_path=new_img_path+'/train'+'/'+tmpif(os.path.exists(temp_path)==False):os.makedirs(temp_path)t=temp_path+'/'+pngim.save(t)# with open(temp_path, 'wb') as f:#     f.write(path)elif(png in val_label.keys()):tmp = val_label[png]temp_path = new_img_path + '/val' + '/' + tmpif (os.path.exists(temp_path) == False):os.makedirs(temp_path)t = temp_path + '/' + pngim.save(t)elif(png in test_label.keys()):tmp = test_label[png]temp_path = new_img_path + '/test' + '/' + tmpif (os.path.exists(temp_path) == False):os.makedirs(temp_path)t = temp_path + '/' + pngim.save(t)

 

涉及到的python知识:

1、python独写csv文件

使用pythonI/O读取csv文件是按照行读取,每一行都是一个List列表,可以通过使用List列表带获取每一行每一列的元素

2、python判断文件/目录是否存在

(1)判断文件是否存在:os.path.exists(path)

(2)新建一个目录:os.makedirs(path)

3、将图片保存在新的文件夹

使用 fromPIL import  Image

img=Image.open(path)

img.save(new_path)

4、python中自带的glob支持文件的通配检索

 

关于模型的训练,数据集的加载,resnet模型的使用,

可以看另一篇博客:https://blog.csdn.net/Smiler_/article/details/117472023

 

这篇关于2020.3.31 miniImagenet数据集处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/599571

相关文章

【服务器运维】MySQL数据存储至数据盘

查看磁盘及分区 [root@MySQL tmp]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical)

SQL Server中,查询数据库中有多少个表,以及数据库其余类型数据统计查询

sqlserver查询数据库中有多少个表 sql server 数表:select count(1) from sysobjects where xtype='U'数视图:select count(1) from sysobjects where xtype='V'数存储过程select count(1) from sysobjects where xtype='P' SE

百度OCR识别结构结构化处理视频

https://edu.csdn.net/course/detail/10506

数据时代的数字企业

1.写在前面 讨论数据治理在数字企业中的影响和必要性,并介绍数据治理的核心内容和实践方法。作者强调了数据质量、数据安全、数据隐私和数据合规等方面是数据治理的核心内容,并介绍了具体的实践措施和案例分析。企业需要重视这些方面以实现数字化转型和业务增长。 数字化转型行业小伙伴可以加入我的星球,初衷成为各位数字化转型参考库,星球内容每周更新 个人工作经验资料全部放在这里,包含数据治理、数据要

如何在Java中处理JSON数据?

如何在Java中处理JSON数据? 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨在Java中如何处理JSON数据。JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,在现代应用程序中被广泛使用。Java通过多种库和API提供了处理JSON的能力,我们将深入了解其用法和最佳

两个基因相关性CPTAC蛋白组数据

目录 蛋白数据下载 ①蛋白数据下载 1,TCGA-选择泛癌数据  2,TCGA-TCPA 3,CPTAC(非TCGA) ②蛋白相关性分析 1,数据整理 2,蛋白相关性分析 PCAS在线分析 蛋白数据下载 CPTAC蛋白组学数据库介绍及数据下载分析 – 王进的个人网站 (jingege.wang) ①蛋白数据下载 可以下载泛癌蛋白数据:UCSC Xena (xena

AI学习指南机器学习篇-朴素贝叶斯处理连续特征和离散特征

AI学习指南机器学习篇-朴素贝叶斯处理连续特征和离散特征 在机器学习领域,朴素贝叶斯是一种常用的分类算法,它的简单性和高效性使得它在实际应用中得到了广泛的应用。然而,在使用朴素贝叶斯算法进行分类时,我们通常会面临一个重要的问题,就是如何处理连续特征和离散特征。因为朴素贝叶斯算法基于特征的条件独立性假设,所以对于不同类型的特征,我们需要采取不同的处理方式。 在本篇博客中,我们将探讨如何有效地处理

神经网络第四篇:推理处理之手写数字识别

到目前为止,我们已经介绍完了神经网络的基本结构,现在用一个图像识别示例对前面的知识作整体的总结。本专题知识点如下: MNIST数据集图像数据转图像神经网络的推理处理批处理  MNIST数据集          mnist数据图像 MNIST数据集由0到9的数字图像构成。像素取值在0到255之间。每个图像数据都相应地标有“7”、“2”、“1”等数字标签。MNIST数据集中,

vue怎么处理跨域

Vue.js 本身并不直接解决跨域问题,因为跨域问题主要是浏览器基于同源策略(Same-origin policy)的一种安全限制。然而,在Vue.js项目中,我们可以采取一些策略来绕过或处理跨域问题。 解决跨域问题的常用方法: 代理服务器:在开发环境中,我们可以配置一个代理服务器来转发API请求,从而绕过浏览器的同源策略。Vue CLI 提供了内置的代理功能,可以在 vue.config.j

【机器学习】自然语言处理的新前沿:GPT-4与Beyond

📝个人主页:哈__ 期待您的关注  目录 🔥引言 背景介绍 文章目的 一、GPT-4简介 GPT-4概述 主要特性 局限性和挑战 二、自监督学习的新进展 自监督学习的原理 代表性模型和技术 三、少样本学习和零样本学习 少样本学习的挑战 先进方法 四、跨模态学习 跨模态学习的概念 代表性技术 应用场景 第五部分:可解释性和透明性 AI的可解释