evaluador_tarea_7_8 / dataset.py
minoruskore's picture
Añadir implementación de un entorno de desarrollo y carga de modelos con evaluación de precisión
237774d
import os
import torch
from torch.utils.data import Dataset, DataLoader
from torchvision import transforms
from datasets import load_dataset
class ImagenDataset(Dataset):
def __init__(self, dt, transform, codigo_etiquetas):
self.dt = dt
self.tr = transform
self.codigo = codigo_etiquetas
def __len__(self):
return len(self.dt)
def __getitem__(self, idx):
row = self.dt[idx]
imagen = row["image"].convert("RGB")
label = row["etiqueta"].lower()
label = self.codigo[label]
imagen = self.tr(imagen)
return imagen, label
def cargar_dataset(codigo_etiquetas):
key = os.environ.get("HFKEY")
dataset = load_dataset(
"minoruskore/elementosparaevaluarclases", split="train", token=key
)
tr = transforms.Compose([transforms.Resize([256, 256]), transforms.ToTensor()])
test_dataset = ImagenDataset(
dataset, transform=tr, codigo_etiquetas=codigo_etiquetas
)
cpus = os.cpu_count()
test_dataloader = DataLoader(test_dataset, batch_size=500, num_workers=cpus)
return test_dataloader