Guía práctica para cargar conjuntos de datos visuales con dataset_loaders

Estructura del repositorio

El proyecto dataset_loaders organiza su código en tres áreas principales: los cargadores, los ejemplos y las pruebas. A continuación se muestra la distribución típica del proyecto:

dataset_loaders/
├── dataset_loaders/
│   ├── __init__.py
│   ├── base.py
│   ├── coco.py
│   ├── cityscapes.py
│   ├── pascal_voc.py
│   ├── utils.py
│   └── ...
├── examples/
│   ├── demo_cityscapes.py
│   ├── demo_coco.py
│   ├── demo_pascal_voc.py
│   └── ...
├── tests/
│   ├── test_base.py
│   ├── test_coco.py
│   ├── test_cityscapes.py
│   ├── test_pascal_voc.py
│   └── ...
├── setup.py
├── README.md
└── requirements.txt

El subdirectorio dataset_loaders/ contiene la lógica central. base.py establece la interfaz común que cada cargador hereda o implementa. Los módulos coco.py, cityscapes.py y pascal_voc.py adaptan esa interfaz a los formatos de COCO, Cityscapes y Pascal VOC, respectivmaente. utils.py centraliza funciones auxiliares reutilizables. En examples/ se encuentran scripts listos para ejecutar, y tests/ agrupa las validaciones unitarias. setup.py gestiona la instalación y requirements.txt declara las dependencias de Python.

Cómo iniciar el proyecto

La forma más directa de comenzar es ejecutar un script del directorio examples/. El siguiente código ilustra el uso del cargador de Cityscapes:

import os
from dataset_loaders.cityscapes import CityscapesDataset

ruta_datos = os.path.join(os.getcwd(), 'datasets', 'cityscapes')
dataset_entrenamiento = CityscapesDataset(root_dir=ruta_datos, split='train')

for indice, muestra in enumerate(dataset_entrenamiento):
    print(f'Índice {indice}: {muestra}')
    if indice >= 4:
        break

La importación se realiza directamente desde el módulo de Cityscapes. Se crea una instancia indicando la carpeta raíz del dataset y la partición deseada. El bucle recorre las muestras mediante enumerate, que aporta tanto el índice como el elemento, y se detiene tras mostrar cinco entradas para facilitar la depuración inicial.

Configuración de los cargadores

No existe un archivo de configuración separado; el comportamiento se controla a través de los argumentos del constructor. Los parámetros principales son:

  • root_dir: ubicación del dataset en el sistema de archivos.
  • split: subconjunto a cargar, como 'train', 'val' o 'test'.

Modificando estos valores se puede alternar entre entrenamiento, validación y pruebas sin cambiar la estructura del código. Esta flexibilidad permite reutilizar los mismos ejemplos en distintos entornos y flujos de trabajo.

Etiquetas: dataset_loaders Cityscapes COCO PascalVOC Python

Publicado el 7-13 04:00