Module brevettiai.io.h5_metadata
Expand source code
import h5py
import json
def set_metadata(h5_path, metadata):
if not isinstance(metadata, str):
try:
metadata = metadata.json()
except AttributeError:
metadata = json.dumps(metadata)
with h5py.File(h5_path, mode='a') as f:
f.attrs['metadata'] = metadata
def get_metadata(h5_path):
with h5py.File(h5_path, mode='r') as f:
if "metadata" in f.attrs:
return json.loads(f.attrs['metadata'])
else:
return {}
def save_model(path, model, metadata):
assert path.endswith(".h5")
retval = model.save(path)
set_metadata(path, metadata)
return retval
Functions
def get_metadata(h5_path)
-
Expand source code
def get_metadata(h5_path): with h5py.File(h5_path, mode='r') as f: if "metadata" in f.attrs: return json.loads(f.attrs['metadata']) else: return {}
def save_model(path, model, metadata)
-
Expand source code
def save_model(path, model, metadata): assert path.endswith(".h5") retval = model.save(path) set_metadata(path, metadata) return retval
def set_metadata(h5_path, metadata)
-
Expand source code
def set_metadata(h5_path, metadata): if not isinstance(metadata, str): try: metadata = metadata.json() except AttributeError: metadata = json.dumps(metadata) with h5py.File(h5_path, mode='a') as f: f.attrs['metadata'] = metadata