1#ifndef PROG3_NN_FINAL_PROJECT_V2025_01_LAYER_H
2#define PROG3_NN_FINAL_PROJECT_V2025_01_LAYER_H
83 [[nodiscard]]
virtual auto id() const ->
LayerId = 0;
91 virtual
void save([[maybe_unused]] std::ostream& out)
const {};
101 template <
typename T,
size_t Dims>
110 virtual auto loss() const -> T = 0;
return p * x
Definition catch_amalgamated.cpp:321
Representa un tensor de tipo T y rango Rank.
Definition tensor.h:63
Representa un tensor de tipo T y rango Rank.
Definition tensor.h:63
Definition activation.h:16
Capa de activación Sigmoid. Convierte cada valor en el rango (0, 1) abierto usando la función logísti...
Definition activation.h:63
Capa de activación Softmax. Convierte un vector de valores en probabilidades las cualesal ser sumadas...
Definition activation.h:111
Capa de activación de Rectified Linear Unit (ReLU). Los valores negativos del input se convierten en ...
Definition activation.h:14
LayerId
Identificador para los diferentes tipos de capas en la red neuronal. Se emplea uint8_t (unsigned 8-bi...
Definition interfaces.h:11
Interfaz para una capa de la red neuronal. Permite que distintas capas se conecten entre sí con polim...
Definition interfaces.h:52
virtual void update_params(IOptimizer< T > &optimizer)
Actualiza los parámetros internos de la capa (si tiene).
Definition interfaces.h:76
virtual void save(std::ostream &out) const
Guarda los parámetros internos de la capa en un flujo binario.
Definition interfaces.h:91
virtual auto id() const -> LayerId=0
Devuelve el tipo de la capa. Sirve para serialización o reconstrucción de la red.
virtual auto backward(const algebra::Tensor< T, 2 > &gradients) -> algebra::Tensor< T, 2 >=0
Propagación hacia atrás de la capa.
virtual auto forward(const algebra::Tensor< T, 2 > &x) -> algebra::Tensor< T, 2 >=0
Propagación hacia adelante de la capa.
virtual ~ILayer()=default
Destructor virtual.
Interfaz para una función de pérdida (loss). Se encarga de calcular qué tan mal lo hizo la red con re...
Definition interfaces.h:102
virtual auto loss_gradient() const -> algebra::Tensor< T, Dims >=0
Devuelve el gradiente de la pérdida respecto a la predicción.
virtual auto loss() const -> T=0
Devuelve el valor escalar de la pérdida.
virtual ~ILoss()=default
Destructor virtual.
Interfaz para definir un optimizador (ej. SGD, Adam, ...). Un optimizador se encarga de actualizar lo...
Definition interfaces.h:26
virtual ~IOptimizer()=default
Destructor virtual.
virtual void step()
Avanza el estado interno del optimizador si este lo permite. Sólo aplica a aquellos optimizadores que...
Definition interfaces.h:43
virtual void update(algebra::Tensor< T, 2 > ¶ms, const algebra::Tensor< T, 2 > &gradients)=0
Actualiza los parámetros del modelo usando los gradientes.