18 #ifndef __NEURAL_NETWORKS_TRAINING_TOPOLOGY_H__
19 #define __NEURAL_NETWORKS_TRAINING_TOPOLOGY_H__
21 #include "algorithms/neural_networks/layers/layer_descriptor.h"
27 namespace neural_networks
43 class Topology:
public Base
57 DAAL_DEPRECATED Topology(
const Topology &t) : _config(t.size())
59 for(
size_t i = 0; i < t.size(); i++)
61 _config[i] = layers::LayerDescriptor(i, t[i].layer(), t[i].nextLayers());
70 size_t size()
const {
return _config.size(); }
78 size_t push_back(
const layers::LayerIfacePtr &layer)
80 size_t id = _config.size();
81 _config.push_back(layers::LayerDescriptor(
id, layer));
91 DAAL_DEPRECATED
size_t add(
const layers::LayerIfacePtr &layer)
93 return push_back(layer);
103 DAAL_DEPRECATED
size_t add(
const Topology &topologyBlock,
size_t &startIndex)
105 size_t size = _config.size();
109 for(
size_t i = 0; i < topologyBlock.size(); i++)
111 id = push_back(topologyBlock[i].layer());
113 const layers::NextLayers& nextLayers = topologyBlock[i].nextLayers();
114 for(
size_t j = 0; j < nextLayers.size(); j++)
116 get(i + size).addNext(nextLayers[j] + size);
128 DAAL_DEPRECATED services::Status clear()
131 return services::Status();
140 DAAL_DEPRECATED layers::LayerDescriptor& operator [] (
size_t index) {
return _config[index]; }
148 const layers::LayerDescriptor& operator [] (
size_t index)
const {
return _config[index]; }
156 layers::LayerDescriptor&
get(
size_t index) {
return _config[index]; }
164 DAAL_DEPRECATED
const layers::LayerDescriptor&
get(
size_t index)
const {
return _config[index]; }
175 DAAL_DEPRECATED services::Status addNext(
size_t index,
size_t next)
177 _config[index].addNext(next);
178 return services::Status();
182 services::Collection<layers::LayerDescriptor> _config;
185 typedef services::SharedPtr<Topology> TopologyPtr;
188 using interface1::Topology;
189 using interface1::TopologyPtr;
daal::algorithms::neural_networks::training::interface1::Topology::addNext
DAAL_DEPRECATED services::Status addNext(size_t index, size_t next)
Definition: neural_networks_training_topology.h:175
daal::algorithms::neural_networks::training::interface1::Topology::push_back
size_t push_back(const layers::LayerIfacePtr &layer)
Definition: neural_networks_training_topology.h:78
daal::algorithms::neural_networks::training::interface1::Topology::add
DAAL_DEPRECATED size_t add(const Topology &topologyBlock, size_t &startIndex)
Definition: neural_networks_training_topology.h:103
daal::Base
Base class for Intel(R) Data Analytics Acceleration Library objects
Definition: base.h:41
daal::algorithms::neural_networks::training::interface1::Topology::add
DAAL_DEPRECATED size_t add(const layers::LayerIfacePtr &layer)
Definition: neural_networks_training_topology.h:91
daal::algorithms::neural_networks::training::interface1::Topology::operator[]
DAAL_DEPRECATED layers::LayerDescriptor & operator[](size_t index)
Definition: neural_networks_training_topology.h:140
daal::algorithms::neural_networks::training::interface1::Topology::size
size_t size() const
Definition: neural_networks_training_topology.h:70
daal::algorithms::neural_networks::training::interface1::Topology
Class defining a neural network topology - a set of layers and connection between them - on the train...
Definition: neural_networks_training_topology.h:43
daal::algorithms::neural_networks::training::interface1::Topology::clear
DAAL_DEPRECATED services::Status clear()
Definition: neural_networks_training_topology.h:128
daal::algorithms::neural_networks::training::interface1::Topology::Topology
Topology()
Definition: neural_networks_training_topology.h:50
daal::algorithms::neural_networks::training::interface1::Topology::Topology
DAAL_DEPRECATED Topology(const Topology &t)
Definition: neural_networks_training_topology.h:57