深入解析神经网络矩阵中的点乘与叉乘操作(PyTorch版本)
发布时间
阅读量:
阅读量
太长不看版本
-
点乘运算指的是两个矩阵中对应位置的元素进行相乘(即逐元素级element-wise操作)
实现方式:可使用*运算符以及torch.mul(x, y)函数完成(包含广播机制)
模型符号:一个圆形内包含一个实心点 -
叉乘属于传统线性代数中的矩阵相乘方式
实现方式:可通过torch.mm()与torch.matmul()函数实现(支持广播机制)
模型符号:一个圆圈内标注有一个叉×符号 -
逐元素相加操作
实现方式:可采用+运算符或调用torch.add(x, y)函数完成
模型符号:一个圆形中带有加号+
广播机制:当PyTorch中的某些操作具备广播功能时,其Tensor参数能够自动扩展为相同尺寸(无需复制数据内容)
若张量x与y满足广播条件,则结果张量的计算方法如下所示:
1、若x和y的维度不一致,需在维度较少的张量前补1,使两者维度保持统一。
2、针对每一个维度,结果张量对应的维度大小取x和y相应维度的最大值。
即:将列向量沿列方向扩展,行向量沿行方向扩展,使两个tensor达到相同尺寸后执行对应元素相乘。
一、
全部评论 (0)
还没有任何评论哟~
