文章目录
一、数据集展示
二、代码第一步--导入库与读入训练集和测试集解释
1.原始代码如下
python
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数组,以供后续的深度学习模型训练使用。