44 lines
1.3 KiB
Python
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()
|