def __init__(self, model, activationfn=None):
        if isinstance(model, Model):
            self.Model = model
            self.Output_Options = []
            self.Input_Options = []
            self.Callback = None
            self.LastLayerId = None
            self.FirstLayerId = None
            self.LastNodes = []
            self.ParallelExecute = False
            self.previous_accuracy = 0.0
            self.current_accuracy = 0.0
            self.counter_ep = 1
            self.optimum_pass = 10
            self.activationfn = activationfn()
            self.setActivationFunction(activationfn)
            #save a ref copy of all nodes of model.
            self.SaveTensors = SaveTensors(
                allTNodes=self.Model.get_AllTNodes())
            Optimizer.__init__(self,
                               model=model,
                               SavedTensors=self.SaveTensors,
                               optimizer='gradientdecent',
                               activationfn=self.activationfn)

        else:
            raise RuntimeError("passed model is not of type Model")
Пример #2
0
	def __init__(self, chromosome, resEval, penEval, fitnessEval, popSize, elitism):

		Optimizer.__init__(self)

		self.Chromosome = chromosome
		self.ResEval = resEval
		self.PenEval = penEval
		self.FitnessEval = fitnessEval
		self.PopulationSize = popSize
		self.Elitism = elitism
		self.SelectionOp = TournamentSelectionOperator(2, 2)
		self.RecombinationOp = DrunkRecombinationOperator()
		self.MutationOp = None
		self.Population = None

		self.PenEval.ConstraintPenalties.append(Penalty("LOWER_BOUND", "__SUCCESS__", 1.0, 1.0, 0.5))
Пример #3
0
    def __init__(self, **kargs):
        Optimizer.__init__(self, **kargs)
        self.epochs = 0
        self.npop = 10
        if "population" in kargs:
            self.npop = kargs["population"]
        self.mutationrate = 0.2
        if "mutationrate" in kargs:
            self.mutationrate = kargs["mutationrate"]
        self.threads = 4
        if "threads" in kargs:
            self.threads = kargs["threads"]

        self.population = []
        self.MAX_INT = 2**32 if not self.maximize else -2**32
        for _ in range(0, self.npop):
            self.population.append([self.getInstance(), self.MAX_INT])

        self.lastscore = self.MAX_INT
Пример #4
0
 def __init__(self, **kargs):
     Optimizer.__init__(self, **kargs)
     randomobj = self.getInstance()
     ev = randomobj.evaluate(self.objectives, self.penalties, self.maximize)
     self.bestFitness = ev
     self.bestObj = randomobj
 def __init__(self, log_level=0):
     '''Constructor'''
     Optimizer.__init__(self, log_level)