neural-network - 具有未展平输入的全连接层
问题描述
(batch_size, 70, 2, 2) -> Linear(2, 2)
(batch_size, 140, 2) -> Linear(2, 2)
(batch_size, 280) -> Linear(280, 2)
有人可以向我解释一下全连接层如何处理非扁平化的输入数据吗?我真的不知道如何考虑 > 2D 矩阵乘法。以上都是等价的吗?(Linear是pytorch中的全连接模块)
解决方案
对于在大于 rank-2(矩阵)的张量上进行的乘法,需要满足以下条件,例如考虑 2 个张量A
和B
A.shape=[a1,a2,a3...a8]
和B.shape=[b1,b2,b3... b8]
虽然我不知道 pytorch 中的矩阵乘法是如何完成的,但我希望它类似于 tensorflow。
如果你tf.matmul
在 tensorflow 中做,它会在 上做矩阵乘法(a7,a8)
,这(b7,b8)
要求操作a8
等于b7
A.B
a1..a6
b1..b6
输出形状将是[a1, a2...a7,b8]
上述 3 仅在它们被简单地平展在轴上的意义上是等效的
推荐阅读
- swift - 从文件加载实体
- r - 涉及多项式的模型提取
- python - Seaborn relplot():无法更改字幕y位置
- pytorch - 使用 torch.autograd.grad (PyTorch) 计算矩阵导数
- javascript - EPSG4326 瓷砖和 (0, 0) 原点不匹配
- c# - 在 C# 中没有指数的 float.Parse(string)
- python - 我可以从共享文件中导入模块列表吗?即我可以进口进口吗?
- javascript - 在Javascript中使用双花括号解析字符串模板内的变量
- powershell - Powershell:格式表 | 导出-CSV
- python - Pyspark 从数字列中删除字符串(或估算它们)