在自己动手实现神经网络的过程中,遇到一个问题:,其中
的shape为(output_dim, input_dim),
的shape为(input_dim, num_samples),这样的话,
的shape为(output_dim, num_samples),
应该加在
每一列上,它的shape如何确定?
- 方法一:
直接把进行复制,构成shape为(output_dim, num_samples)的矩阵
- 方法二:
使用numpy的broadcast机制,为一个向量,除了保证它的维度和
的每一列的维度相同外,还要是的其他维度为1:
的shape为(output_dim, num_samples),那
的维度为(output_dim, 1)
import numpy as np
output_dim = 10
input_dim = 20
num_samples = 256
x = np.random.randn(input_dim, num_samples)
W = np.random.randn(output_dim, input_dim)
b = np.random.randn(output_dim, 1)
y = np.dot(W, x) + b