No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

24 líneas
904B

  1. import numpy as np
  2. from neural_net.activation_layers.activation_layer import ActivationLayer
  3. from neural_net.functions.activation import relu_activation, relu_derivative_activation
  4. class ReluLayer(ActivationLayer):
  5. def __init__(self, index, input_dim, output_dim, weights=None, biases=None):
  6. super().__init__(index, input_dim, output_dim, weights, biases)
  7. self.subtype = 'RELU'
  8. def initialize_weights(self):
  9. # He initialization (input_dim x output_dim)
  10. self.weights = np.random.randn(self.input_dim, self.output_dim) * np.sqrt(2.0 / self.input_dim)
  11. def initialize_biases(self):
  12. self.biases = np.zeros((1, self.output_dim)) # Biases initialized to zero
  13. def activation(self, outputs: np.array):
  14. return relu_activation(outputs)
  15. def activation_derivative(self, outputs: np.array):
  16. return relu_derivative_activation(outputs)