11from typing import Tuple
22
33import cloudpickle
4- import h5io
54import h5py
65import numpy as np
76
@@ -23,11 +22,9 @@ def dump(file_name: str, data_dict: dict) -> None:
2322 with h5py .File (file_name , "a" ) as fname :
2423 for data_key , data_value in data_dict .items ():
2524 if data_key in group_dict .keys ():
26- h5io . write_hdf5 (
27- fname = fname ,
25+ fname . create_dataset (
26+ name = "/" + group_dict [ data_key ] ,
2827 data = np .void (cloudpickle .dumps (data_value )),
29- overwrite = "update" ,
30- title = group_dict [data_key ],
3128 )
3229
3330
@@ -44,21 +41,15 @@ def load(file_name: str) -> dict:
4441 with h5py .File (file_name , "r" ) as hdf :
4542 data_dict = {}
4643 if "function" in hdf :
47- data_dict ["fn" ] = cloudpickle .loads (
48- h5io .read_hdf5 (fname = hdf , title = "function" , slash = "ignore" )
49- )
44+ data_dict ["fn" ] = cloudpickle .loads (np .void (hdf ["/function" ]))
5045 else :
5146 raise TypeError ("Function not found in HDF5 file." )
5247 if "input_args" in hdf :
53- data_dict ["args" ] = cloudpickle .loads (
54- h5io .read_hdf5 (fname = hdf , title = "input_args" , slash = "ignore" )
55- )
48+ data_dict ["args" ] = cloudpickle .loads (np .void (hdf ["/input_args" ]))
5649 else :
5750 data_dict ["args" ] = ()
5851 if "input_kwargs" in hdf :
59- data_dict ["kwargs" ] = cloudpickle .loads (
60- h5io .read_hdf5 (fname = hdf , title = "input_kwargs" , slash = "ignore" )
61- )
52+ data_dict ["kwargs" ] = cloudpickle .loads (np .void (hdf ["/input_kwargs" ]))
6253 else :
6354 data_dict ["kwargs" ] = {}
6455 return data_dict
@@ -76,8 +67,6 @@ def get_output(file_name: str) -> Tuple[bool, object]:
7667 """
7768 with h5py .File (file_name , "r" ) as hdf :
7869 if "output" in hdf :
79- return True , cloudpickle .loads (
80- h5io .read_hdf5 (fname = hdf , title = "output" , slash = "ignore" )
81- )
70+ return True , cloudpickle .loads (np .void (hdf ["/output" ]))
8271 else :
8372 return False , None
0 commit comments