def __init__(self, inputSize, hiddenSize, outputSize, modules = None): self.inputSize = inputSize self.hiddenSize = hiddenSize self.outputSize = outputSize if modules == None: encoder = layers.GRU(inputSize, hiddenSize, "encoder-GRU") decoder = layers.GRU(outputSize, hiddenSize, "decoder-GRU") ffout = layers.FF(hiddenSize, inputSize, "ffout") self.modules = { "encoder" : encoder, "decoder" : decoder, "ffout" : ffout } else: self.modules = modules self.theano = {} self.__theano_build__()
def load(filestr): print("[Loading model from %s...]" % filestr) f = np.load(filestr) module_values = {name: f[name] for name in f.files} sizes = module_values.pop("sizes") #reconstructing modules modules = {} for name in module_values: moduleType = module_values[name][-1] if moduleType == "GRU": modules[name] = layers.GRU(*module_values[name]) elif moduleType == "FF": modules[name] = layers.FF(*module_values[name]) m = Model(*sizes, modules=modules) return m