示例#1
0
 def setUp(self):
     num_rows = 500
     filters = tables.Filters(complib='blosc', complevel=5)
     h5file = tables.open_file(
         'tmp.h5', mode='w', title='Test', filters=filters)
     group = h5file.create_group("/", 'Data')
     atom = tables.UInt8Atom()
     y = h5file.create_carray(group, 'y', atom=atom, title='Data targets',
                              shape=(num_rows, 1), filters=filters)
     for i in range(num_rows):
         y[i] = i
     h5file.flush()
     h5file.close()
     self.dataset = PytablesDataset('tmp.h5', ('y',), 20, 500)
     self.dataset_default = PytablesDataset('tmp.h5', ('y',))
示例#2
0
 def setUp(self):
     num_rows = 500
     filters = tables.Filters(complib='blosc', complevel=5)
     h5file = tables.open_file(
         'tmp.h5', mode='w', title='Test', filters=filters)
     group = h5file.create_group("/", 'Data')
     atom = tables.UInt8Atom()
     y = h5file.create_carray(group, 'y', atom=atom, title='Data targets',
                              shape=(num_rows, 1), filters=filters)
     for i in range(num_rows):
         y[i] = i
     h5file.flush()
     h5file.close()
     self.dataset = PytablesDataset('tmp.h5', ('y',), 20, 500)
     self.dataset_default = PytablesDataset('tmp.h5', ('y',))
示例#3
0
class TestPytablesDataset(object):
    def setUp(self):
        num_rows = 500
        filters = tables.Filters(complib='blosc', complevel=5)
        h5file = tables.open_file('tmp.h5',
                                  mode='w',
                                  title='Test',
                                  filters=filters)
        group = h5file.create_group("/", 'Data')
        atom = tables.UInt8Atom()
        y = h5file.create_carray(group,
                                 'y',
                                 atom=atom,
                                 title='Data targets',
                                 shape=(num_rows, 1),
                                 filters=filters)
        for i in range(num_rows):
            y[i] = i
        h5file.flush()
        h5file.close()
        self.dataset = PytablesDataset('tmp.h5', ('y', ), 20, 500)
        self.dataset_default = PytablesDataset('tmp.h5', ('y', ))

    def tearDown(self):
        self.dataset.close_file()
        self.dataset_default.close_file()
        os.remove('tmp.h5')

    def test_dataset_default(self):
        assert self.dataset_default.start == 0
        assert self.dataset_default.stop == 500

    def test_get_data_slice_request(self):
        assert_equal(
            self.dataset.get_data(request=slice(0, 10))[0],
            numpy.arange(20, 30).reshape(10, 1))

    def test_get_data_list_request(self):
        assert_equal(
            self.dataset.get_data(request=list(range(10)))[0],
            numpy.arange(20, 30).reshape(10, 1))

    def test_get_data_value_error(self):
        assert_raises(ValueError, self.dataset.get_data, None, True)

    def test_pickling(self):
        dataset = cPickle.loads(cPickle.dumps(self.dataset))
        assert_equal(len(dataset.nodes), 1)
示例#4
0
class TestPytablesDataset(object):
    def setUp(self):
        num_rows = 500
        filters = tables.Filters(complib='blosc', complevel=5)
        h5file = tables.open_file(
            'tmp.h5', mode='w', title='Test', filters=filters)
        group = h5file.create_group("/", 'Data')
        atom = tables.UInt8Atom()
        y = h5file.create_carray(group, 'y', atom=atom, title='Data targets',
                                 shape=(num_rows, 1), filters=filters)
        for i in range(num_rows):
            y[i] = i
        h5file.flush()
        h5file.close()
        self.dataset = PytablesDataset('tmp.h5', ('y',), 20, 500)
        self.dataset_default = PytablesDataset('tmp.h5', ('y',))

    def tearDown(self):
        self.dataset.close_file()
        self.dataset_default.close_file()
        os.remove('tmp.h5')

    def test_dataset_default(self):
        assert self.dataset_default.start == 0
        assert self.dataset_default.stop == 500

    def test_get_data_slice_request(self):
        assert_equal(self.dataset.get_data(request=slice(0, 10))[0],
                     numpy.arange(20, 30).reshape(10, 1))

    def test_get_data_list_request(self):
        assert_equal(self.dataset.get_data(request=list(range(10)))[0],
                     numpy.arange(20, 30).reshape(10, 1))

    def test_get_data_value_error(self):
        assert_raises(ValueError, self.dataset.get_data, None, True)

    def test_pickling(self):
        dataset = cPickle.loads(cPickle.dumps(self.dataset))
        assert_equal(len(dataset.nodes), 1)