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