def test_unary_list_with_key(self): dataset = tabular.from_data(('a', [2, 7, 1, 8, 4, 5, 9, 0, 3, 6])) self.assertIsInstance(dataset, chainer.dataset.TabularDataset) self.assertEqual(len(dataset), 10) self.assertEqual(dataset.keys, ('a', )) self.assertIsNone(dataset.mode) output = dataset.slice[[1, 3]].fetch() np.testing.assert_equal(output, [7, 8]) self.assertIsInstance(output, list)
def test_unary_callable_unary(self): dataset = tabular.from_data(('a', lambda i: i * i), size=10) self.assertIsInstance(dataset, chainer.dataset.TabularDataset) self.assertEqual(len(dataset), 10) self.assertEqual(dataset.keys, ('a', )) self.assertIsNone(dataset.mode) output = dataset.slice[[1, 3]].fetch() np.testing.assert_equal(output, [1, 9]) self.assertIsInstance(output, list)
def test_unary_array_with_key(self): dataset = tabular.from_data(('a', np.arange(10))) self.assertIsInstance(dataset, chainer.dataset.TabularDataset) self.assertEqual(len(dataset), 10) self.assertEqual(dataset.keys, ('a', )) self.assertIsNone(dataset.mode) output = dataset.slice[[1, 3]].fetch() np.testing.assert_equal(output, [1, 3]) self.assertIsInstance(output, np.ndarray)
def test_dict_array_callable_unary(self): dataset = tabular.from_data({'a': np.arange(10), 'b': lambda i: i * i}) self.assertIsInstance(dataset, chainer.dataset.TabularDataset) self.assertEqual(len(dataset), 10) self.assertEqual(set(dataset.keys), {'a', 'b'}) self.assertEqual(dataset.mode, dict) output = dataset.slice[[1, 3]].fetch() np.testing.assert_equal(output, {'a': [1, 3], 'b': [1, 9]}) self.assertIsInstance(output['a'], np.ndarray) self.assertIsInstance(output['b'], list)
def test_unary_callable_tuple(self): dataset = tabular.from_data((('a', 'b'), lambda i: (i * i, -i)), size=10) self.assertIsInstance(dataset, chainer.dataset.TabularDataset) self.assertEqual(len(dataset), 10) self.assertEqual(dataset.keys, ('a', 'b')) self.assertEqual(dataset.mode, tuple) output = dataset.slice[[1, 3]].fetch() np.testing.assert_equal(output, ([1, 9], [-1, -3])) for out in output: self.assertIsInstance(out, list)
def test_tuple_array_with_key_callable_unary(self): dataset = tabular.from_data( (('a', np.arange(10)), ('b', lambda i: i * i))) self.assertIsInstance(dataset, chainer.dataset.TabularDataset) self.assertEqual(len(dataset), 10) self.assertEqual(dataset.keys, ('a', 'b')) self.assertEqual(dataset.mode, tuple) output = dataset.slice[[1, 3]].fetch() np.testing.assert_equal(output, ([1, 3], [1, 9])) self.assertIsInstance(output[0], np.ndarray) self.assertIsInstance(output[1], list)
def test_tuple_array_list(self): dataset = tabular.from_data( (np.arange(10), [2, 7, 1, 8, 4, 5, 9, 0, 3, 6])) self.assertIsInstance(dataset, chainer.dataset.TabularDataset) self.assertEqual(len(dataset), 10) self.assertEqual(len(dataset.keys), 2) self.assertEqual(dataset.mode, tuple) output = dataset.slice[[1, 3]].fetch() np.testing.assert_equal(output, ([1, 3], [7, 8])) self.assertIsInstance(output[0], np.ndarray) self.assertIsInstance(output[1], list)
def test_dict(self): dataset = tabular.from_data(a=np.arange(10), b=[2, 7, 1, 8, 4, 5, 9, 0, 3, 6]) self.assertIsInstance(dataset, chainer.dataset.TabularDataset) self.assertEqual(len(dataset), 10) self.assertEqual(set(dataset.keys), {'a', 'b'}) self.assertEqual(dataset.mode, dict) output = dataset.slice[[1, 3]].fetch() np.testing.assert_equal(output, {'a': [1, 3], 'b': [7, 8]}) self.assertIsInstance(output['a'], np.ndarray) self.assertIsInstance(output['b'], list)
def test_tuple_array_callable_tuple(self): dataset = tabular.from_data((np.arange(10), (('b', 'c'), lambda i: (i * i, -i)))) self.assertIsInstance(dataset, chainer.dataset.TabularDataset) self.assertEqual(len(dataset), 10) self.assertEqual(len(dataset.keys), 3) self.assertEqual(dataset.keys[1:], ('b', 'c')) self.assertEqual(dataset.mode, tuple) output = dataset.slice[[1, 3]].fetch() np.testing.assert_equal(output, ([1, 3], [1, 9], [-1, -3])) self.assertIsInstance(output[0], np.ndarray) self.assertIsInstance(output[1], list)
def test_unary_callable_dict(self): dataset = tabular.from_data((('a', 'b'), lambda i: { 'a': i * i, 'b': -i }), size=10) self.assertIsInstance(dataset, chainer.dataset.TabularDataset) self.assertEqual(len(dataset), 10) self.assertEqual(dataset.keys, ('a', 'b')) self.assertEqual(dataset.mode, dict) output = dataset.slice[[1, 3]].fetch() np.testing.assert_equal(output, {'a': [1, 9], 'b': [-1, -3]}) for out in output.values(): self.assertIsInstance(out, list)
def test_unique(self): dataset_a = tabular.from_data(np.arange(10)) dataset_b = tabular.from_data(np.arange(10)) self.assertNotEqual(dataset_a.keys, dataset_b.keys)
def test_dict_callable_unary_callable_unary_without_size(self): with self.assertRaises(ValueError): tabular.from_data(({'a': lambda i: i * i, 'b': lambda i: -i}))
def test_tuple_callable_unary_callable_unary_without_size(self): with self.assertRaises(ValueError): tabular.from_data((('a', lambda i: i * i), ('b', lambda i: -i)))
def test_unary_callable_without_key(self): with self.assertRaises(ValueError): tabular.from_data(lambda i: i * i, size=10)
def test_tuple_unique(self): dataset_a = tabular.from_data(np.arange(10), [3, 1, 4, 5, 9, 2, 6, 8, 7, 0]) dataset_b = tabular.from_data([2, 7, 1, 8, 4, 5, 9, 0, 3, 6], -np.arange(10)) self.assertFalse(set(dataset_a.keys) & set(dataset_b.keys))