예제 #1
0
def train_PSO_PSO_ANN(inputs, res_ex, boundary, draw_graph=False):
    dim = 9 + N_H_LAYER * 2
    opso = PSO(dim,
               lambda param: fitness_mean(inputs, res_ex, 50, 25,
                                          *scale_args(param, boundary)),
               max_iter=20, n_particle=10, n_neighbor=4,
               inertia_start=0.5, inertia_end=0.5, comparator=minimise,
               min_bound=MIN_BOUND, max_bound=MAX_BOUND)
    print("\nRunning...\n")
    if draw_graph:
        opso.set_graph_config(inputs=inputs, res_ex=res_ex, opso=True)
    opso.run()
    return opso
예제 #2
0
파일: pso_ann.py 프로젝트: jackred/CW_BIC
def train_ANN_PSO(inputs,
                  res_ex,
                  max_iter,
                  n_particle,
                  n_neighbor,
                  nb_h_layers,
                  nb_neurons_layer,
                  min_bound,
                  max_bound,
                  cognitive_trust,
                  social_trust,
                  inertia_start,
                  inertia_end,
                  velocity_max,
                  activations,
                  draw_graph=False):
    nb_neurons = set_nb_neurons(len(inputs[0]), nb_neurons_layer, nb_h_layers)
    # print(nb_neurons, n_neighbor, activations)
    ann = ANN(nb_neurons=nb_neurons,
              nb_layers=len(nb_neurons),
              activations=activations)
    dim = sum(nb_neurons[i] * nb_neurons[i + 1]
              for i in range(len(nb_neurons) - 1)) + len(nb_neurons) - 1
    pso = PSO(dim,
              lambda params: fitness_for_ann(params, ann, inputs, res_ex),
              max_iter=max_iter,
              n_particle=n_particle,
              n_neighbor=n_neighbor,
              comparator=minimise,
              min_bound=min_bound,
              max_bound=max_bound,
              cognitive_trust=cognitive_trust,
              social_trust=social_trust,
              inertia_start=inertia_start,
              inertia_end=inertia_end,
              velocity_max=velocity_max,
              endl='',
              version=2007)
    if draw_graph:
        pso.set_graph_config(inputs=inputs, res_ex=res_ex)
    pso.run()
    return pso, ann
예제 #3
0
파일: opso_ann.py 프로젝트: jackred/CW_BIC
def train_PSO_PSO_ANN(inputs,
                      res_ex,
                      boundary,
                      opso_arg,
                      pso_arg,
                      draw_graph=False):
    dim = 11
    opso = PSO(dim,
               lambda param: fitness_mean(inputs, res_ex, *pso_arg.values(),
                                          *scale_args(param, boundary)),
               **opso_arg,
               comparator=minimise,
               min_bound=train_help.MIN_BOUND,
               max_bound=train_help.MAX_BOUND,
               endl="11")
    print("\nRunning...\n")
    if draw_graph:
        opso.set_graph_config(inputs=inputs, res_ex=res_ex, opso=True)
    opso.run()
    return opso