sisr2onnx / tests /test_data /test_single_image_dataset.py
Zarxrax's picture
Upload 823 files
62dbcfb verified
raw
history blame
2.17 kB
from os import path as osp
import msgspec
from traiNNer.data.single_image_dataset import SingleImageDataset
from traiNNer.utils.redux_options import DatasetOptions
def test_singleimagedataset() -> None:
"""Test dataset: SingleImageDataset"""
opt_str = r"""
name: Test
type: SingleImageDataset
dataroot_lq: [
datasets/val/dataset1/lr,
datasets/val/dataset1/lr2
]
io_backend:
type: disk
mean: [0.5, 0.5, 0.5]
std: [0.5, 0.5, 0.5]
"""
opt = msgspec.yaml.decode(opt_str, type=DatasetOptions, strict=True)
dataset = SingleImageDataset(opt)
# ------------------ test scan folder mode -------------------- #
opt.io_backend = {"type": "disk"}
dataset = SingleImageDataset(opt)
assert dataset.io_backend_opt["type"] == "disk" # io backend
assert len(dataset) == 3 # whether to correctly scan folders
# test __getitem__
result = dataset.__getitem__(0)
# check returned keys
expected_keys = ["lq", "lq_path"]
assert set(expected_keys).issubset(set(result.keys()))
assert "lq" in result and "lq_path" in result
# check shape and contents
assert result["lq"].shape == (3, 128, 128)
assert osp.normpath(result["lq_path"]) == osp.normpath(
"datasets/val/dataset1/lr/0007.png"
)
# ------------------ test lmdb backend and with y channel-------------------- #
# TODO
# opt["dataroot_lq"] = "tests/data/lq.lmdb"
# opt["io_backend"] = {"type": "lmdb"}
# opt["color"] = "y"
# opt["mean"] = [0.5]
# opt["std"] = [0.5]
# dataset = SingleImageDataset(opt)
# assert dataset.io_backend_opt["type"] == "lmdb" # io backend
# assert len(dataset) == 2 # whether to read correct meta info
# assert dataset.std == [0.5]
# # test __getitem__
# result = dataset.__getitem__(1)
# # check returned keys
# expected_keys = ["lq", "lq_path"]
# assert set(expected_keys).issubset(set(result.keys()))
# # check shape and contents
# assert "lq" in result and "lq_path" in result
# assert result["lq"].shape == (1, 90, 60)
# assert result["lq_path"] == "comic"