def create_advanced_artifact_filter_output_to_output_synapses(
        advanced_artifact_filter_output, output_layer, model_paths):
    weights = np.array([-100_000])
    taus = np.array([100])
    return create_synapses(f'{NAME}_output_to_output', model_paths,
                           advanced_artifact_filter_output, output_layer,
                           weights, taus)
def _create_inhibitor_generator_to_inhibitor_synapses(inhibitor_generator,
                                                      inhibitor_layer,
                                                      model_paths):
    weights = np.array([50_000])
    taus = np.array([5])
    return create_synapses('inhibitor_generator_to_inhibitor_layer',
                           model_paths, inhibitor_generator, inhibitor_layer,
                           weights, taus)
def _create_hidden_to_output_synapses(name, hidden_layer, output_layer,
                                      model_paths, neuron_counts):
    weights = np.repeat(20_000.0, neuron_counts.hidden)
    taus = np.repeat(10, neuron_counts.hidden)
    return create_synapses(f'{name}_hidden_to_{name}_output', model_paths,
                           hidden_layer, output_layer, weights, taus)
def _create_input_to_hidden_synapses(name, input_layer, hidden_layer,
                                     model_paths, neuron_counts):
    weights = generate_weights(neuron_counts) * 2.0
    taus = generate_concatenated_taus(neuron_counts)
    return create_synapses(f'{name}_input_to_hidden', model_paths, input_layer,
                           hidden_layer, weights, taus)
def _create_interneuron_to_inhibitor_synapses(interneuron_layer,
                                              inhibitor_layer, model_paths):
    weights = np.array([-2_500])
    taus = np.array([20])
    return create_synapses('interneuron_to_inhibitor', model_paths,
                           interneuron_layer, inhibitor_layer, weights, taus)
def _create_input_to_interneuron_synapses(input_layer, interneuron_layer,
                                          model_paths):
    weights = np.array([3_000])
    taus = np.array([5])
    return create_synapses('input_to_interneuron', model_paths, input_layer,
                           interneuron_layer, weights, taus)
def _create_inhibitor_layer_to_output_synapses(inhibitor_layer, output_layer,
                                               model_paths):
    weights = np.array([-1_500])
    taus = np.array([5])
    return create_synapses('inhibitor_layer_to_output', model_paths,
                           inhibitor_layer, output_layer, weights, taus)