在1_data.lua文件中,“trainData.data[{ {},i,{},{} }]:mean()”代表的意思是计算训练数据集中的第i个通道在所有图像中像素值的平均值。

在 Torch 的教程中,我找到了这一行代码:

mean[i] = trainData.data[{ {},i,{},{} }]:mean()

有人能解释一下 { {},i,{},{} } 这个索引的作用吗? 我可以猜测,但我想知道确切的机理。

提前感谢。

点赞
用户1417179
用户1417179

这实际上是一种用于张量缩小/切片的简明语法,详见此处的文档。

[{ ... }]中,您可以针对张量的每个维度:

  • 传递一个数字n仅保留该维度上的第n个分量,
  • 传递一个范围{start,end}以保留该维度上从startend的所有分量,
  • 传递{}以保留该维度上的所有分量。

在此特定情况下,它是从u * v * w * x张量到一个u * 1 * w * x张量的缩小,仅保留第二个维度上的第i个分量。

2015-07-17 16:00:19