Exemplo n.º 1
0
    def test_save_hdf5(self):
        # HDF5 support is optional
        if not ht.io.supports_hdf5():
            return

        # local unsplit data
        local_data = ht.arange(100)
        ht.save_hdf5(local_data,
                     self.HDF5_OUT_PATH,
                     self.HDF5_DATASET,
                     dtype=local_data.dtype.char())
        if local_data.comm.rank == 0:
            with ht.io.h5py.File(self.HDF5_OUT_PATH, "r") as handle:
                comparison = torch.tensor(handle[self.HDF5_DATASET],
                                          dtype=torch.int32,
                                          device=self.device.torch_device)
            self.assertTrue((local_data.larray == comparison).all())

        # distributed data range
        split_data = ht.arange(100, split=0)
        ht.save_hdf5(split_data,
                     self.HDF5_OUT_PATH,
                     self.HDF5_DATASET,
                     dtype=split_data.dtype.char())
        if split_data.comm.rank == 0:
            with ht.io.h5py.File(self.HDF5_OUT_PATH, "r") as handle:
                comparison = torch.tensor(handle[self.HDF5_DATASET],
                                          dtype=torch.int32,
                                          device=self.device.torch_device)
            self.assertTrue((local_data.larray == comparison).all())
Exemplo n.º 2
0
    def test_save_hdf5_exception(self):
        # HDF5 support is optional
        if not ht.io.supports_hdf5():
            return

        # dummy data
        data = ht.arange(1)

        with self.assertRaises(TypeError):
            ht.save_hdf5(1, self.HDF5_OUT_PATH, self.HDF5_DATASET)
        with self.assertRaises(TypeError):
            ht.save_hdf5(data, 1, self.HDF5_DATASET)
        with self.assertRaises(TypeError):
            ht.save_hdf5(data, self.HDF5_OUT_PATH, 1)