pytorch 指定维度计算内积
时间: 2023-08-13 07:09:21 浏览: 185
PyTorch中Tensor的维度变换实现
5星 · 资源好评率100%
要在 PyTorch 中指定维度计算内积,你可以使用 `torch.matmul` 函数。这个函数用于两个张量的矩阵乘法,可以在指定维度上进行操作。
下面是一个例子,假设有两个张量 `input1` 和 `input2`,你想在第一个维度上计算它们的内积:
```python
import torch
# 创建两个示例张量
input1 = torch.tensor([[1, 2, 3], [4, 5, 6]])
input2 = torch.tensor([[7, 8, 9], [10, 11, 12]])
# 在第一个维度上计算内积
result = torch.matmul(input1.unsqueeze(0), input2.unsqueeze(2))
# 移除多余的维度
result = result.squeeze()
print(result)
```
这将输出计算得到的内积张量,结果为:
```
tensor([[ 50],
[122]])
```
在这个例子中,首先使用 `unsqueeze` 函数将 `input1` 张量的形状从 `(2, 3)` 变为 `(1, 2, 3)`,然后将 `input2` 张量的形状从 `(2, 3)` 变为 `(2, 3, 1)`。然后使用 `torch.matmul` 在第一个维度上进行矩阵乘法,得到一个形状为 `(1, 2, 1)` 的张量。最后使用 `squeeze` 函数移除多余的维度,得到形状为 `(2, 1)` 的结果张量。
阅读全文