全连接层:矩阵变换,获取对应目标相同的行与列 输入x: 2*32*16*16 输入x_row: 2*8192 超参w:8192*100 输出:矩阵乘法 2*8192 ->8192*100 =>2*100def affine_forward(x, w, b): out = None N = x.shape[0] x_row = x.reshape(N, -1) w = np.random.randn(6272, 100) out = np.dot(x_row, w) + b.reshape(1, -1) cache = (x, w, b) return out, cache,应该怎么修改成为可操作mnist图像的算法
时间: 2023-11-25 16:04:19 浏览: 104
keyboard4_4.rar_4*4 键盘_4x4矩阵键盘VHDL_keyboard 4X4 vhdl_矩阵_矩阵键盘FPGA
如果你想使用MNIST图像进行全连接层的操作,你需要将输入的x reshape为(样本数量, 特征数量),其中特征数量应该是图像的像素数量,即28 * 28 = 784。具体来说,你可以将输入的x reshape为(样本数量, 784),然后使用尺寸为(784, 100)的权重矩阵进行矩阵乘法。修改后的代码如下:
```
def affine_forward(x, w, b):
out = None
N = x.shape[0]
x_row = x.reshape(N, -1)
out = np.dot(x_row, w) + b.reshape(1, -1)
cache = (x, w, b)
return out, cache
```
在调用函数时,你需要将x reshape为(样本数量, 784),然后创建一个尺寸为(784, 100)的随机权重矩阵w,再将b初始化为0。例如:
```
x = x.reshape(x.shape[0], -1)
w = np.random.randn(784, 100)
b = np.zeros((1, 100))
out, cache = affine_forward(x, w, b)
```
这样,你就可以使用MNIST图像进行全连接层的操作了。
阅读全文