Python实现图像与标签同步随机打乱的方法

Miles
Miles
发布时间:2026-10-13| 4人浏览过
原创

本文介绍在Python中如何对图像数据集及其对应标签进行同步随机打乱。通过读取训练路径下的图片文件和标签CSV,利用numpy的permutation生成索引序列,确保图片顺序与标签顺序一致。示例代码展示了使用skimage处理图像尺寸及保存打乱后数据的过程,适用于机器学习模型训练前的数据准备阶段。

具体实现方式如下所示:

# -*- coding: utf-8 -*-
 
import os
import numpy as np
import pandas as pd
import h5py
import pylab
import matplotlib.pyplot as plt
 
 
trainpath = str('C:/Users/49691/Desktop/数据集/train/')
testpath = str('C:/Users/49691/Desktop/数据集/test/')
n_tr = len(os.listdir(trainpath))
print('num of training files: ', n_tr)
 
train_labels = pd.read_csv('C:/Users/49691/Desktop/数据集/sample_submission.csv')
train_labels.head()
 
from skimage import io, transform
 
 
x = np.empty(shape=(n_tr, 224, 224, 3))
y = np.empty(n_tr)
 
labels = train_labels.invasive.values
name = train_labels.name.values
 
permutation=np.random.permutation(name.shape[0])
print(permutation)
print(labels[permutation])
save_data = pd.DataFrame({'name':permutation,'invasive':labels[permutation]})
save_data.to_csv('C:/Users/49691/Desktop/数据集/b.csv')
 
 
for k,v in enumerate(np.random.permutation(n_tr)):
 print(k,v)
 path = '{0}{1}.jpg'.format(trainpath, v)
 tr_im = io.imread(path)
 x[k] = transform.resize(tr_im, output_shape=(224, 224, 3))
 y[k] = float(labels[v-1])

以上就是Python中随机打乱图片及其对应标签的完整方法分享,希望能为读者提供有价值的参考,同时也欢迎大家继续支持本站获取更多技术内容。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。