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!