Datasets

mtlearn.datasets contains PyTorch dataset helpers for image-pair and attribute-filter experiments.

class mtlearn.datasets.AttributeFilterDataset(root, tree_type, attributes, thresholds, top_hat=False, numRows=None, numCols=None, tos_interpolation=None, tos_infinity_seed_row=0, tos_infinity_seed_col=0)[source]

Bases: Dataset, ABC

Parameters:
  • attributes (list)

  • thresholds (dict)

  • top_hat (bool)

  • numRows (int)

  • numCols (int)

  • tos_infinity_seed_row (int)

  • tos_infinity_seed_col (int)

train_test_split(test_size=0.25, shuffle=True, random_state=42)[source]

Divide este dataset em (train_dataset, test_dataset), preservando o __getitem__ e toda a lógica atual. Retorna Subset(self, indices).

Parâmetros

test_sizefloat|int

Igual ao do sklearn: fração (0,1] ou número absoluto de amostras no teste.

shufflebool

Se True, embaralha antes de dividir.

random_stateint

Semente para reprodutibilidade.

Retorna

(train_subset, test_subset) : (torch.utils.data.Subset, torch.utils.data.Subset)

class mtlearn.datasets.PairedImageDataset(root_dir, numRows=None, numCols=None, *, grayscale_in=True, grayscale_target=True, invert_in=False, invert_target=False, extensions=('.jpg', '.jpeg', '.png', '.bmp', '.tif', '.tiff'), dtype=torch.float32, scale_in=True, scale_out=True, prefix_in='', prefix_target='', suffix_in='_in', suffix_target='_target')[source]

Bases: Dataset

Lê pares de imagens no formato:

01_in.jpg, 01_target.jpg, 02_in.jpg, 02_target.jpg, …

Parâmetros

root_dirstr

Diretório contendo as imagens.

numRows, numColsint | None

Tamanho desejado (aplica apenas se ambos definidos).

grayscale_inbool

Se True, INPUT é carregado em escala de cinza (1 canal).

grayscale_targetbool

Se True, TARGET é carregado em escala de cinza (1 canal).

invert_inbool

Se True, aplica negativo (255 - img) antes da normalização na entrada.

invert_targetbool

Se True, aplica negativo (255 - img) antes da normalização no alvo.

extensionstuple[str, …]

Extensões suportadas.

dtypetorch.dtype

Tipo dos tensores de saída (padrão float32).

scale_0_1bool

Se True, normaliza para [0, 1]; caso contrário, mantém [0,255] (float).

prefix_in, prefix_target, suffix_in, suffix_targetstr

Regras de nome para localizar pares.

train_test_split(test_size=0.25, shuffle=True, random_state=42)[source]
Parameters:
  • root_dir (str)

  • numRows (int | None)

  • numCols (int | None)

  • grayscale_in (bool)

  • grayscale_target (bool)

  • invert_in (bool)

  • invert_target (bool)

  • extensions (tuple)

  • dtype (torch.dtype)

  • scale_in (bool)

  • scale_out (bool)

  • prefix_in (str)

  • prefix_target (str)

  • suffix_in (str)

  • suffix_target (str)