Example #1
0
    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)
Example #2
0
    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
Example #3
0
    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