Fully Connected Networks with Batch Normalization

Fully Connected Networks with Batch Normalization

de Renzo Luongo Akiki -
Número de respuestas: 1

Habiendo implementado lo siguiente dentro de la función loss para el caso de batchnorm

layer_input = X
layer_caches = []

for i in range(1, self.num_layers):
   W, b = self.params['W%d' % i], self.params['b%d' % i]

   if self.normalization == 'batchnorm':
       gamma, beta = self.params['gamma%d' % i], self.params['beta%d' % i]
       bn_param = self.bn_params[i - 1]
       layer_input, cache = batchnorm_forward(layer_input, gamma, beta, bn_param)

Obtengo el siguiente error ValueError: operands could not be broadcast together with shapes (2,15) (20,) al correr la primera celda de la sección Fully Connected Networks with Batch Normalization del archivo BatchNormalization.ipynb. El error se da en el Step 8 de la función batchnorm_forward debido a esa diferencia de dimensiones de xn y gamma, respectivamente. Probé de utilizar el índice i+1 y también i-1 al definir el parámetro gamma, ya que tiene toda la pinta de estar por ahí el error, pero en ningún caso funcionó. Algún pique de qué puedo estar haciendo mal?

Muchas gracias desde ya!

Adjunto Screen Shot 2023-10-31 at 20.56.15.png
En respuesta a Renzo Luongo Akiki

Re: Fully Connected Networks with Batch Normalization

de Gaston Garcia Gonzalez -
Buenas Renzo,

por las dimensiones pareciera que estás teniendo problemas en la primer capa. No será que estás aplicando batch norm previo a la capa afin, en vez de posteriormente?

Saludos.