Kaspersky Neuromorphic Platform  1.0.0
API Reference
Loading...
Searching...
No Matches
synapse_generators.h File Reference

Projection connectors. More...

#include <knp/core/population.h>
#include <knp/core/projection.h>
#include <exception>
#include <functional>
#include <optional>
#include <random>
#include <tuple>
#include "synapse_parameters_generators.h"
+ Include dependency graph for synapse_generators.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  knp::framework::projection::synapse_generators::FromMap< SynapseType, Map >
 The FromMap class is a defintion of a generator of synapses from std::map or std::unordered_map object. More...
 
class  knp::framework::projection::synapse_generators::FixedProbability< SynapseType >
 The FixedProbability class is a definition of a generator that makes connections with some probability between each presynaptic population (source) neuron to each postsynaptic population (destination) neuron. More...
 
class  knp::framework::projection::synapse_generators::FixedNumberPost< SynapseType >
 The FixedNumberPost class is a definition of a generator that makes connections between each presynaptic neuron and a fixed number of random postsynaptic neurons. More...
 
class  knp::framework::projection::synapse_generators::FixedNumberPre< SynapseType >
 The FixedNumberPre class is a definition of a generator that makes connections between each postsynaptic neuron and a fixed number of random presynaptic neurons. More...
 

Namespaces

namespace  knp
 General framework namespace.
 
namespace  knp::framework
 Framework namespace.
 
namespace  knp::framework::projection
 Projection namespace.
 
namespace  knp::framework::projection::synapse_generators
 Namespace for framework projection generators.
 

Functions

template<typename SynapseType >
knp::core::Projection< SynapseType >::SynapseGenerator knp::framework::projection::synapse_generators::all_to_all (size_t presynaptic_pop_size, size_t postsynaptic_pop_size, parameters_generators::SynGen2ParamsType< SynapseType > syn_gen=parameters_generators::default_synapse_gen< SynapseType >)
 Make connections between each presynaptic population (source) neuron to each postsynaptic population (destination) neuron.
 
template<typename SynapseType >
knp::core::Projection< SynapseType >::SynapseGenerator knp::framework::projection::synapse_generators::one_to_one (size_t population_size, parameters_generators::SynGen1ParamType< SynapseType > syn_gen=std::bind(parameters_generators::default_synapse_gen< SynapseType >, std::placeholders::_1, 0))
 Make one-to-one connections between neurons of presynaptic and postsynaptic populations.
 
template<typename SynapseType , template< typename... > class Container>
knp::core::Projection< SynapseType >::SynapseGenerator knp::framework::projection::synapse_generators::from_container (const Container< typename core::Projection< SynapseType >::Synapse > &container)
 Generate synapses from container.
 
template<typename SynapseType >
knp::core::Projection< SynapseType >::SynapseGenerator knp::framework::projection::synapse_generators::index_based (size_t presynaptic_pop_size, size_t postsynaptic_pop_size, parameters_generators::SynGenOptional2ParamsType< SynapseType > syn_gen)
 Make connections between neurons of presynaptic and postsynaptic populations based on the synapse generation function result.
 
template<typename DestinationSynapseType , typename SourceSynapseType >
knp::core::Projection< DestinationSynapseType >::SynapseGenerator knp::framework::projection::synapse_generators::clone_projection (const knp::core::Projection< SourceSynapseType > &source_proj, parameters_generators::SynGen1ParamType< DestinationSynapseType > syn_gen=parameters_generators::default_synapse_gen< DestinationSynapseType >)
 Make connections duplicated from another projection.
 

Detailed Description

Projection connectors.

Developers: Artiom N.
Date
10.08.2024
License: Apache 2.0

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition in file synapse_generators.h.