CIFAR-10图片文件夹
时间: 2025-04-18 16:47:28 浏览: 33
### CIFAR-10 数据集 图片 文件夹 下载路径 示例
CIFAR-10数据集是一个广泛应用于计算机视觉领域的小型图像分类数据集,主要用于机器学习和深度学习的研究与教学。该数据集由Hinton的学生Alex Krizhevsky和Ilya Sutskever整理得到[^3]。
#### 下载并解压CIFAR-10数据集
为了获取与CIFAR-10数据集相关的图片文件夹,可以按照如下方法操作:
1. 访问官方网站下载链接:
- 可以通过Kaggle网站或官方托管地址下载完整的CIFAR-10数据集压缩包。
2. 使用Python脚本自动下载:
```python
import torchvision.datasets as datasets
root = './data'
train_dataset = datasets.CIFAR10(root=root, train=True, download=True)
test_dataset = datasets.CIFAR10(root=root, train=False, download=True)
```
上述代码会将CIFAR-10的数据集下载到指定目录`./data/cifar-10-batches-py/`内,并创建相应的子文件夹来存储训练集和测试集中的二进制批次文件以及元数据文件[^1]。
#### 将CIFAR-10数据转换为图片形式存入文件夹
由于原始的CIFAR-10是以二进制格式提供的,如果希望将其转化为易于查看的PNG/JPEG等常见图形格式,则可以通过编写简单的Python程序完成此过程。下面给出一段示例代码片段展示如何实现这一点:
```python
from PIL import Image
import os
import numpy as np
import pickle
def unpickle(file):
with open(file, 'rb') as fo:
dict = pickle.load(fo, encoding='bytes')
return dict
# 设置保存路径
output_dir = "./cifar_images/"
if not os.path.exists(output_dir):
os.makedirs(output_dir)
for i in range(5): # 遍历前五个batch_data
batch_file = f"./data/cifar-10-batches-py/data_batch_{i+1}"
data_dict = unpickle(batch_file)
images = data_dict[b'data']
labels = data_dict[b'labels']
for j in range(len(images)):
img = images[j].reshape((3, 32, 32)).transpose([1, 2, 0])
label_name = str(labels[j]).zfill(2) # 类别编号补零
class_folder = os.path.join(output_dir, label_name)
if not os.path.exists(class_folder):
os.mkdir(class_folder)
image_path = os.path.join(class_folder, f"{j}.png")
im = Image.fromarray(img)
im.save(image_path)
```
这段代码将会读取已有的`.bin`文件并将每一张32×32大小的颜色图象导出至对应的类别文件夹中去。
阅读全文
相关推荐


















