什么是二维浮点张量?

What is a 2D float tensor?

免责声明:我对 CNN 和深度学习一无所知,我也不知道Torch

我正在使用 SIFT for my object recognition application. I found this paper Discriminative Learning of Deep Convolutional Feature Point Descriptors 这特别有趣,因为它是基于 CNN 的,比经典的图像描述方法(例如 SIFT、SURF 等)更精确,但是(引用摘要):

using the L2 distance during both training and testing we develop 128-D descriptors whose euclidean distances reflect patch similarity, and which can be used as a drop-in replacement for any task involving SIFT

哇,太棒了:这意味着我们可以继续使用任何基于 SIFT 的方法,但使用更精确的描述符!

但是,引用 github code repository 自述文件:

Note the output will be a Nx128 2D float tensor where each row is a descriptor.

那么,什么是“二维浮点张量”? SIFT 描述符矩阵是 Nx128 个浮点数,我是否遗漏了什么?

二维浮点张量 = 二维浮点矩阵。

仅供参考:The meaning of tensors in the neural network community

这是一个二维浮点张量。

[[1.0,2.0],
 [3.0,4.0]]

这仍然是一个二维浮点张量,即使它们有 3 个项目和 3 行!

[[1.0,2.0,3.0],
 [4.0,5.0,6.0],
 [7.0,5.0,6.0]]

括号的数量很重要。