Files
2025-03-10 14:34:01 -07:00

44 lines
1.3 KiB
Python

import os
import sys
import unittest
import torch
PROJECT_ROOT = os.path.realpath(os.path.join(os.path.dirname(__file__), "..", ".."))
MODULE_ROOT = os.path.join(PROJECT_ROOT, "modules")
sys.path.append(MODULE_ROOT)
from pytorch_wrapper.ptv_dataset import PtvDataset
from pytorch_wrapper.ptv_transforms_to_tensor import PtvTransformsToTensor
from pytorch_wrapper.pt_data_loader import PtDataLoader
class TestPtDataLoader(unittest.TestCase):
def setUp(self):
"""Set up test data."""
self.dataset_node = PtvDataset()
self.compose_node = PtvTransformsToTensor()
self.data_loader_node = PtDataLoader()
def test_with_transform(self):
"""Tests with transform"""
bs = 2
transform = self.compose_node.f()[0]
dataset = self.dataset_node.f("MNIST",
True, # download
"", # root
'{"train": True}',
transform=transform)[0]
train_data = self.data_loader_node.f(
dataset=dataset,
batch_size=bs,
shuffle=True,
parameters='{"num_workers":1}'
)[0]
x, y = next(iter(train_data))
self.assertEqual(x.size(), torch.Size([bs, 1, 28, 28]))
self.assertEqual(y.size(), torch.Size([bs]))
if __name__ == "__main__":
unittest.main()