Source code for ngclearn.utils.io_utils

"""
File and OS input/output (reading/writing) utilities.
"""
import jax
from jax import numpy as jnp, grad, jit, vmap, random, lax
import os, sys, pickle

[docs] def serialize(fname, object): ## object "saving" routine """ Serialization (saving) routine Args: fname: file name to serialize to on disk object: generic object to serialize """ fd = open(fname, 'wb') pickle.dump(object, fd) fd.close()
[docs] def deserialize(fname): ## object "loading" routine """ Deserialization (loading) routine Args: fname: file name from disk to deserialize Returns: deserialized object from disk """ fd = open(fname, 'rb') object = pickle.load( fd ) fd.close() return object
[docs] def makedir(directory): """ Creates a folder/directory on disk Args: directory: string name of directory/folder to create on disk """ folders = directory.split('/') prefix = "" remove = [] for idx, f in enumerate(folders): if f == ".." or f == ".": prefix = prefix + f + "/" remove.append(idx) for i in reversed(remove): folders.pop(i) for folder in folders: if not os.path.isdir(prefix + folder): os.mkdir(prefix + folder) prefix = prefix + folder + "/"
[docs] def makedirs(directories): """ Creates a set of folders/directories on disk Args: directories: array of string names of directories/folders to create on disk """ for dir in directories: makedir(dir)