5#include "onnx/onnx_pb.h"
26 virtual bool tryConvertToONNX(onnx::GraphProto* graph, std::string input, std::string output)
const {
return false; }
28 virtual std::string
str()
const{
return "Layer"; }
33concept TLayer= std::derived_from<T, Layer>;
Base class for all layers in the neural network.
Definition Layer.hpp:10
virtual std::string str() const
Returns a string representation of the layer.
Definition Layer.hpp:28
std::size_t in_
Definition Layer.hpp:12
std::size_t out_
Definition Layer.hpp:13
virtual void fit(float_t learning_rate)=0
Describes how the layer 'learns', meaning it defines how layer updates itself.
virtual vectorIn backward(vectorOut)=0
Defines a way to backpropagate error in backropagation algorithm.
virtual vectorOut forward(vectorIn)=0
Defines a way to move forward in a neural network.
virtual bool tryConvertToONNX(onnx::GraphProto *graph, std::string input, std::string output) const
Converts the layer to ONNX format. If the layer cannot be converted, it should return false.
Definition Layer.hpp:26
std::size_t getIn() const
Definition Layer.hpp:15
std::size_t getOut() const
Definition Layer.hpp:16
concept ensuring a class derives from Layer
Definition Layer.hpp:33
Definition LeakyRelu.hpp:4
Eigen::Matrix< float_t, Eigen::Dynamic, 1 > vectorOut
Definition types.hpp:17
float float_t
Definition types.hpp:12
Eigen::Matrix< float_t, Eigen::Dynamic, 1 > vectorIn
Definition types.hpp:16