原型网络Prototypical Network的python代码逐行解释,新手小白也可学会!!由于工作量大,准备整5个系列完事,-----系列1

在这里插入图片描述


一、数据集展示

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
在这里插入图片描述
在这里插入图片描述

二、代码第一步–导入库与读入训练集和测试集解释

1.原始代码如下

import os
import matplotlib.image as mpimg
import numpy as np
import csv
os.chdir('E:/重要文档/风电课题相关论文/程序代码/图片分类')
def load_data():
	#验证集
	labels_trainData = {}
	label = 0
	for file in os.listdir('./data/images_background'):
		for dir in os.listdir('./data/images_background/' + file):
			labels_trainData[label] = []
			data = []
			for png in os.listdir('./data/images_background/' + file +'/' + dir):
				image_np = mpimg.imread('./data/images_background/' + file +'/' + dir+'/' +png)
				image_np.astype(np.float64)
				data.append(image_np)
			labels_trainData[label] = np.array(data)
			label += 1
	#测试集
	labels_testData = {}
	label = 0
	for file in os.listdir('./data/images_evaluation'):
		for dir in os.listdir('./data/images_evaluation/' + file):
			labels_testData[label] = []
			data = []
			for png in os.listdir('./data/images_evaluation/' + file +'/' + dir):
				image_np = mpimg.imread('./data/images_evaluation/' + file +'/' + dir+'/' +png)
				image_np.astype(np.float64)
				data.append(image_np)
			labels_testData[label] = np.array(data)
			label += 1
	return labels_trainData,labels_testData

2.代码解释

import os:导入Python的os库。这个库提供了很多与操作系统交互的功能,比如访问文件系统、环境变量等。

import matplotlib.image as mpimg:导入Matplotlib库的image模块,并给它取了一个简短的别名mpimg。Matplotlib是一个用于绘制图表和图像的Python库。

import numpy as np:导入NumPy库,并给它取了一个简短的别名np。NumPy是一个用于处理数组和矩阵的Python库,广泛应用于科学计算。

import csv:导入Python内置的csv库。这个库提供了用于读写CSV(逗号分隔值)文件的功能。
这些库都是Python进行数据处理、科学计算和数据可视化等任务时常用的库。

这是一个Python脚本,它用于从特定文件夹中加载图像数据,并将这些数据组织为训练集和测试集的形式。以下是每一行代码的解释:

os.chdir('E:/重要文档/风电课题相关论文/程序代码/图片分类'):这行代码将当前工作目录改变为指定的路径,即’E:/重要文档/风电课题相关论文/程序代码/图片分类’。

def load_data()::定义一个名为load_data的函数,该函数用于加载数据。

labels_trainData = {}:初始化一个空字典,用于存储训练集的标签和对应的图像数据。

label = 0:初始化一个变量label为0,该变量用于表示当前处理的类别标签。

for file in os.listdir('./data/images_background')::遍历文件夹’./data/images_background’中的所有文件。

for dir in os.listdir('./data/images_background/' + file)::对于每个文件,遍历其子文件夹。

labels_trainData[label] = []:在字典labels_trainData中以当前的标签值为键创建一个空列表。

for png in os.listdir('./data/images_background/' + file +'/' + dir)::对于每个子文件夹,遍历其中的所有png图像文件。

image_np = mpimg.imread('./data/images_background/' + file +'/' + dir+'/' +png):使用mpimg库的imread函数读取图像文件,返回一个numpy数组表示的图像。

image_np.astype(np.float64):将图像数据转换为浮点数类型。

data.append(image_np):将处理过的图像数据添加到之前创建的data列表中。

labels_trainData[label] = np.array(data):将data列表转换为numpy数组,并存储到labels_trainData字典中对应的列表中。

label += 1:更新类别标签的值。

类似的,下面的代码用于处理测试集的数据。它使用与处理训练集相同的结构,但读取的文件夹路径不同。
return labels_trainData, labels_testData:函数返回包含训练集和测试集数据的两个字典。


总结

这段代码的主要目的是从一个特定的文件夹中加载图像数据,并将它们存储为numpy数组,以供后续的深度学习模型训练使用。

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值