【发布时间】:2018-03-24 02:08:11
【问题描述】:
我有一个大小为 [batch_size, channels, height, width]([16, 64, 24, 24]) 的 4D 张量,但我需要计算每个 24x24 矩阵的特征值以获得大小为 2D 的张量[batch_size, channels]([16, 64]),其中每个元素代表对应矩阵的特征值。
【问题讨论】:
标签: python pytorch eigenvalue tensor
我有一个大小为 [batch_size, channels, height, width]([16, 64, 24, 24]) 的 4D 张量,但我需要计算每个 24x24 矩阵的特征值以获得大小为 2D 的张量[batch_size, channels]([16, 64]),其中每个元素代表对应矩阵的特征值。
【问题讨论】:
标签: python pytorch eigenvalue tensor
没有直接执行此操作的函数。但是,您可以遍历输入张量以构造所需的特征张量,然后对其进行整形。
# Supposing your tensor is a
out = []
for bs in range(a.size(0)):
for c in range(a.size(1)):
e, _ = torch.eig(a[bs, c, :, :])
out.append(torch.max(e))
out = torch.stack(out).view(a.size(0), a.size(1))
【讨论】: