import tempfile
from pathlib import Path
import torch
from tiles import TILE, write_tiles
from dataloader_rs import FileDataset, ImageCollator, PyDataloader
from dataloader_rs import transforms as T
MEAN = [0.485, 0.456, 0.406]
STD = [0.229, 0.224, 0.225]
def main() -> None:
with tempfile.TemporaryDirectory() as tmp:
paths, _ = write_tiles(Path(tmp))
dataset = FileDataset(paths)
transform = T.Compose(
[
T.Decode(), T.ToRgb(), T.PadTo(TILE, TILE), T.ToFloat(), T.Normalize(MEAN, STD),
T.ToChw(), ]
)
loader = PyDataloader(
dataset,
batch_size=4,
num_workers=2,
transform=transform,
collate_fn=ImageCollator(), )
for batch in loader:
images = torch.from_dlpack(batch) print(tuple(images.shape), images.dtype, f"mean {images.mean():+.3f}")
if __name__ == "__main__":
main()