Kaspersky Neuromorphic Platform  1.0.0
API Reference
Loading...
Searching...
No Matches
creators.h
Go to the documentation of this file.
1
20#pragma once
21
22#include <knp/core/population.h>
23
24#include <cinttypes>
25#include <optional>
26#include <random>
27
29
30
35{
36
40namespace creators
41{
49template <typename NeuronType, template <typename...> class Container>
50[[nodiscard]] typename core::Population<NeuronType> from_container(
51 const Container<typename core::Population<NeuronType>::NeuronParameters>& container)
52{
53 return core::Population<NeuronType>(
55}
56
57
66template <typename NeuronType>
67[[nodiscard]] typename core::Population<NeuronType> make_random(size_t neuron_count)
68{
69 return core::Population<NeuronType>(neurons_generators::MakeRandom<NeuronType>(), neuron_count);
70}
71
72
79template <typename NeuronType>
80[[nodiscard]] typename core::Population<NeuronType> make_default(size_t neuron_count)
81{
82 return core::Population<NeuronType>(neurons_generators::make_default<NeuronType>(), neuron_count);
83}
84
85
93template <typename NeuronType>
94[[nodiscard]] typename core::Population<NeuronType> make_clone(
95 size_t neuron_count, const typename core::Population<NeuronType>::NeuronParameters& source_neuron)
96{
97 return core::Population<NeuronType>(neurons_generators::make_clone<NeuronType>(source_neuron), neuron_count);
98}
99
100} // namespace creators
101
102} // namespace knp::framework::population
neuron_traits::neuron_parameters< NeuronType > NeuronParameters
Neuron parameters and their values for the specified neuron type.
Definition population.h:59
Namespace for population creators.
Definition creators.h:41
core::Population< NeuronType > make_clone(size_t neuron_count, const typename core::Population< NeuronType >::NeuronParameters &source_neuron)
Generate a population that clones neuron parameter values from the specified neuron.
Definition creators.h:94
core::Population< NeuronType > make_default(size_t neuron_count)
Generate a population with default neuron parameter values.
Definition creators.h:80
core::Population< NeuronType > make_random(size_t neuron_count)
Generate a population with random neuron parameter values.
Definition creators.h:67
core::Population< NeuronType > from_container(const Container< typename core::Population< NeuronType >::NeuronParameters > &container)
Generate a population that gets parameter values from a container.
Definition creators.h:50
core::Population< NeuronType >::NeuronGenerator from_container(const Container< typename core::Population< NeuronType >::NeuronParameters > &container)
Generate neurons from a container with parameter values.
core::Population< NeuronType >::NeuronGenerator make_default()
Generate neurons with default neuron parameter values.
core::Population< NeuronType >::NeuronGenerator make_clone(const typename core::Population< NeuronType >::NeuronParameters source_neuron)
Generate neurons which parameter values are cloned from a specified neuron.
Namespace for framework population routines.
Definition creators.h:35
Generators of the neurons.
General population interface.