def test_format_2_converter(self): filename = os.path.join(self.tempdir, 'svhn_format_2.hdf5') parser = argparse.ArgumentParser() subparsers = parser.add_subparsers() subparser = subparsers.add_parser('svhn') svhn.fill_subparser(subparser) subparser.set_defaults(directory=self.tempdir, output_file=filename) args = parser.parse_args(['svhn', '2']) args_dict = vars(args) func = args_dict.pop('func') func(**args_dict) h5file = h5py.File(filename, mode='r') assert_equal( h5file['features'][...], numpy.vstack([self.f2_train_features_mock.transpose(3, 2, 0, 1), self.f2_test_features_mock.transpose(3, 2, 0, 1), self.f2_extra_features_mock.transpose(3, 2, 0, 1)])) assert_equal( h5file['targets'][...], numpy.vstack([self.f2_train_targets_mock, self.f2_test_targets_mock, self.f2_extra_targets_mock])) assert_equal(str(h5file['features'].dtype), 'uint8') assert_equal(str(h5file['targets'].dtype), 'uint8') assert_equal(tuple(dim.label for dim in h5file['features'].dims), ('batch', 'channel', 'height', 'width')) assert_equal(tuple(dim.label for dim in h5file['targets'].dims), ('batch', 'index'))
def test_format_2_converter(self): parser = argparse.ArgumentParser() subparsers = parser.add_subparsers() subparser = subparsers.add_parser('svhn') svhn.fill_subparser(subparser) subparser.set_defaults( directory=self.tempdir, output_directory=self.tempdir, output_filename='svhn_format_2.hdf5') args = parser.parse_args(['svhn', '2']) args_dict = vars(args) func = args_dict.pop('func') filename, = func(**args_dict) h5file = h5py.File(filename, mode='r') assert_equal( h5file['features'][...], numpy.vstack([self.f2_train_features_mock.transpose(3, 2, 0, 1), self.f2_test_features_mock.transpose(3, 2, 0, 1), self.f2_extra_features_mock.transpose(3, 2, 0, 1)])) assert_equal( h5file['targets'][...], numpy.vstack([self.f2_train_targets_mock, self.f2_test_targets_mock, self.f2_extra_targets_mock])) assert_equal(str(h5file['features'].dtype), 'uint8') assert_equal(str(h5file['targets'].dtype), 'uint8') assert_equal(tuple(dim.label for dim in h5file['features'].dims), ('batch', 'channel', 'height', 'width')) assert_equal(tuple(dim.label for dim in h5file['targets'].dims), ('batch', 'index'))
def test_format_1_converter(self): filename = os.path.join(self.tempdir, 'svhn_format_1.hdf5') parser = argparse.ArgumentParser() subparsers = parser.add_subparsers() subparser = subparsers.add_parser('svhn') svhn.fill_subparser(subparser) subparser.set_defaults(directory=self.tempdir, output_file=filename) args = parser.parse_args(['svhn', '1']) args_dict = vars(args) func = args_dict.pop('func') func(**args_dict) h5file = h5py.File(filename, mode='r') expected_features = sum((self.f1_mock[split]['image'] for split in ('train', 'test', 'extra')), []) for val, truth in zip(h5file['features'][...], expected_features): assert_equal(val, truth.transpose(2, 0, 1).flatten()) expected_labels = sum((self.f1_mock[split]['label'] for split in ('train', 'test', 'extra')), []) for val, truth in zip(h5file['bbox_labels'][...], expected_labels): truth[truth == 10] = 0 assert_equal(val, truth) expected_lefts = sum((self.f1_mock[split]['left'] for split in ('train', 'test', 'extra')), []) for val, truth in zip(h5file['bbox_lefts'][...], expected_lefts): assert_equal(val, truth)
def test_format_1_converter(self): parser = argparse.ArgumentParser() subparsers = parser.add_subparsers() subparser = subparsers.add_parser('svhn') svhn.fill_subparser(subparser) subparser.set_defaults( directory=self.tempdir, output_directory=self.tempdir, output_filename='svhn_format_1.hdf5') args = parser.parse_args(['svhn', '1']) args_dict = vars(args) func = args_dict.pop('func') filename, = func(**args_dict) h5file = h5py.File(filename, mode='r') expected_features = sum((self.f1_mock[split]['image'] for split in ('train', 'test', 'extra')), []) for val, truth in zip(h5file['features'][...], expected_features): assert_equal(val, truth.transpose(2, 0, 1).flatten()) expected_labels = sum((self.f1_mock[split]['label'] for split in ('train', 'test', 'extra')), []) for val, truth in zip(h5file['bbox_labels'][...], expected_labels): truth[truth == 10] = 0 assert_equal(val, truth) expected_lefts = sum((self.f1_mock[split]['left'] for split in ('train', 'test', 'extra')), []) for val, truth in zip(h5file['bbox_lefts'][...], expected_lefts): assert_equal(val, truth)