"git@developer.sourcefind.cn:one/TransferBench.git" did not exist on "b9df6395cd482308fe15946583648ff108a0c4a9"
Commit 8e60cf40 authored by Philip Meier's avatar Philip Meier Committed by Francisco Massa
Browse files

Test for SVHN (#1086)

* cast images to PIL at instantiation instead of runtime

* add test for svhn

* added tests for remaining SVHN splits

* flake8

* rolled back changes to datasets
parent 0c75d99d
......@@ -241,3 +241,20 @@ def cityscapes_root():
'{city}_000000_000000_leftImg8bit.png'.format(city=city)))
yield tmp_dir
@contextlib.contextmanager
def svhn_root():
import scipy.io as sio
def _make_mat(file):
images = np.zeros((32, 32, 3, 2), dtype=np.uint8)
targets = np.zeros((2,), dtype=np.uint8)
sio.savemat(file, {'X': images, 'y': targets})
with get_tmp_dir() as root:
_make_mat(os.path.join(root, "train_32x32.mat"))
_make_mat(os.path.join(root, "test_32x32.mat"))
_make_mat(os.path.join(root, "extra_32x32.mat"))
yield root
......@@ -7,7 +7,8 @@ from PIL import Image
from torch._utils_internal import get_file_path_2
import torchvision
from common_utils import get_tmp_dir
from fakedata_generation import mnist_root, cifar_root, imagenet_root, cityscapes_root
from fakedata_generation import mnist_root, cifar_root, imagenet_root, \
cityscapes_root, svhn_root
class Tester(unittest.TestCase):
......@@ -185,6 +186,19 @@ class Tester(unittest.TestCase):
self.assertTrue(isinstance(output[1][1], dict)) # polygon
self.assertTrue(isinstance(output[1][2], PIL.Image.Image)) # color
@mock.patch('torchvision.datasets.SVHN._check_integrity')
def test_svhn(self, mock_check):
mock_check.return_value = True
with svhn_root() as root:
dataset = torchvision.datasets.SVHN(root, split="train")
self.generic_classification_dataset_test(dataset, num_images=2)
dataset = torchvision.datasets.SVHN(root, split="test")
self.generic_classification_dataset_test(dataset, num_images=2)
dataset = torchvision.datasets.SVHN(root, split="extra")
self.generic_classification_dataset_test(dataset, num_images=2)
if __name__ == '__main__':
unittest.main()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment