将张量相乘 Lua

我对lua不熟悉,为什么下面的代码不起作用?

local data = torch.Tensor(100, 4)
--data tensor is read from file
local w = torch.Tensor(1, 4):zero()
local tmp = w * data[5]:t()
点赞
用户1688185
用户1688185

data[5] 是一个 1-D 张量,而 transpose 只适用于 2-D 张量。因此,可以使用 索引运算符 来获得一个额外的维度:

-- 矩阵乘法:结果是一个 1x1 张量
local tmp = w * data[{{5}}]:t()

或者压缩 w 的第一个单例维度:

-- 1-D 张量的点积:结果是一个数
local tmp = w:squeeze() * data[5]
2015-10-15 21:40:12