def load(self, name): modelDir = f"./models/{name}" layerDir = [ dir for dir in os.listdir(modelDir) if os.path.isdir(os.path.join(modelDir, dir)) ] layerDir.sort(key=lambda x: int(x.strip("layer"))) for dir in layerDir: layerFolder = os.path.join(modelDir, dir) if "dense.json" in os.listdir(layerFolder): # this is a dense layer newLayer = Dense() newLayer.load(layerFolder) self.layers.append(newLayer)
def load(self, name): modelDir = f"./models/{name}" self.encoder = MLP() self.decoder = MLP() self.decoder.loss = MSE() # load encoder and decoder for name, model in [("encoder", self.encoder), ("decoder", self.decoder)]: layerDir = [ dir for dir in os.listdir(modelDir) if os.path.isdir(os.path.join(modelDir, dir)) and name in dir ] layerDir.sort(key=lambda x: int(x.strip(f"{name}_layer"))) for dir in layerDir: layerFolder = os.path.join(modelDir, dir) if "dense.json" in os.listdir(layerFolder): # this is a dense layer newLayer = Dense() newLayer.load(layerFolder) model.layers.append(newLayer) # load aditional information about sampler with open(f"{modelDir}/sampler.json", "r") as file: data = json.load(file) inputDim = data["inputDim"] outputDim = data["outputDim"] self.sampler = Sampler(inputDim, outputDim) # load mean and logvar layer self.sampler.mean = Dense() self.sampler.mean.load(os.path.join(modelDir, f"sampler_mean")) self.sampler.logVar = Dense() self.sampler.logVar.load(os.path.join(modelDir, f"sampler_logvar")) self.layers = self.encoder.layers + [ self.sampler.mean, self.sampler.logVar ] + self.decoder.layers
def load(self, name): modelDir = f"./models/{name}" # load generator and discriminator for name, model in [("generator", self.generator), ("discriminator", self.discriminator)]: layerDir = [ dir for dir in os.listdir(modelDir) if os.path.isdir(os.path.join(modelDir, dir)) and name in dir ] layerDir.sort(key=lambda x: int(x.strip(f"{name}_layer"))) for dir in layerDir: layerFolder = os.path.join(modelDir, dir) if "dense.json" in os.listdir(layerFolder): # this is a dense layer newLayer = Dense() newLayer.load(layerFolder) model.layers.append(newLayer) self.layers = self.generator.layers + self.discriminator.layers