Carlos012/dataset_papas
收藏Hugging Face2026-04-08 更新2026-04-12 收录
下载链接:
https://hf-mirror.com/datasets/Carlos012/dataset_papas
下载链接
链接失效反馈官方服务:
资源简介:
---
task_categories:
- image-classification
language:
- es
tags:
- ML
pretty_name: dataset_papas
size_categories:
- 10K<n<100K
---
## Descripción
Dataset híbrido de 36000 imágenes de tubérculos de papa chaucha y chola, construido a partir de repositorios abiertos de internet y de imágenes capturadas en campo de manera local. Este dataset está diseñado para tareas de clasificación automática de calidad mediante visión por computadora, incluyendo arquitecturas basadas en Vision Transformer (ViT).
Las imágenes están etiquetadas en dos clases:
- Buen estado: papas con calidad comercial aceptable.
- Defectuoso: papas cortadas, con brotes o podridas.
## Distribución de datos
El dataset se organiza en subcarpetas versionadas por categoría y etapa de procesamiento:
- Crudos: imágenes originales sin transformación previa, provenientes de repositorios abiertos de internet y capturadas de manera local.
- Procesados: imágenes preparadas para entrenamiento, con etapas de etiquetado, conteo, renombrado, limpieza, balanceo y redimensionado.
## Cómo utilizar el dataset
1. Selecciona la versión a utilizar según tu objetivo:
- Usa Crudos si vas a diseñar tu propio pipeline de preprocesamiento.
- Usa Procesados si quieres entrenar de forma directa con datos ya estandarizados.
2. Divide los datos en entrenamiento, validación y prueba, manteniendo la proporción por clase.
3. Entrena tu modelo de clasificación binaria con las clases Buen estado y Defectuoso.
4. Evalúa con métricas como exactitud, precisión, recall y F1-Score para comparar configuraciones.
Ejemplo de carga con PyTorch sin dividir en conjuntos de entrenamiento, validación y prueba:
```python
from torchvision import datasets, transforms
from torch.utils.data import DataLoader
transform = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
train_dataset = datasets.ImageFolder(
root="datos/preprocesados/hibrido/papas_v1_hibrido",
transform=transform,
)
train_loader = DataLoader(train_dataset, batch_size=32, shuffle=True)
print(train_dataset.class_to_idx)
```
## División de datos
El dataset se divide en tres conjuntos: entrenamiento, validación y prueba. Primero, se reserva el 20% de los datos para prueba y el 80% restante se vuelve a dividir en 80% para entrenamiento y 20% para validación. De esta manera, el modelo se entrena con la mayor parte de los datos, se valida y prueba con particiones separadas.
**Entrenamiento:** **_64%_** de los datos **(23040 imágenes)**
**Validación:** **_16%_** de los datos **(5760 imágenes)**
**Prueba:** **_20%_** de los datos **(7200 imágenes)**
## Como utilizar el dataset dividido
1. Carga los datos utilizando `ImageFolder` de PyTorch, especificando las rutas a los conjuntos de entrenamiento, validación y prueba.
2. Aplica las transformaciones necesarias para preparar las imágenes para el entrenamiento, como redimensionado y normalización.
3. Entrena tu modelo utilizando el conjunto de entrenamiento, ajustando los hiperparámetros según sea necesario.
4. Evalúa el rendimiento del modelo utilizando el conjunto de validación para ajustar los hiperparámetros y el conjunto de prueba para obtener una evaluación final.
Ejemplo de carga con PyTorch utilizando conjuntos de entrenamiento, validación y prueba:
```python
from torchvision import datasets, transforms
from torch.utils.data import DataLoader
transform = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
train_dataset = datasets.ImageFolder(
root="datos/preprocesados/hibrido/papas_v1_hibrido/train",
transform=transform,
)
val_dataset = datasets.ImageFolder(
root="datos/preprocesados/hibrido/papas_v1_hibrido/val",
transform=transform,
)
test_dataset = datasets.ImageFolder(
root="datos/preprocesados/hibrido/papas_v1_hibrido/test",
transform=transform,
)
train_loader = DataLoader(train_dataset, batch_size=32, shuffle=True)
val_loader = DataLoader(val_dataset, batch_size=32, shuffle=False)
test_loader = DataLoader(test_dataset, batch_size=32, shuffle=False)
print(train_dataset.class_to_idx)
```
提供机构:
Carlos012



