【问题标题】:How does the syntax of this torch statement work?这个 torch 语句的语法是如何工作的?
【发布时间】:2016-07-15 14:50:48
【问题描述】:

我正在尝试了解这个特定的 torch 语句是如何工作的。

我指的是第 115 行

https://github.com/torch/tutorials/blob/master/2_supervised/1_data.lua#L115

这行写着

trdata[{ {1,trainData.data:size(1)} }] = trainData.data

我正在阅读 Torch 中的数据切片,我理解类似

t4[{ {},1 }] 

表示您指的是张量 t4 的“所有行和第一列”。

但是,在我上面打印的语句中,我们有一个 {} 内部另一个 { } 外部。这是什么意思?

我明白了

trainData.data:size(1)

指trainData的batch size,大概就是图片的数量。

谢谢

【问题讨论】:

    标签: lua torch


    【解决方案1】:

    这就像一个狭窄的。请参考这些detailed explanations

    当你有双花括号时,它返回张量的narrow,而narrowed 张量始终是张量(即使它只有一个元素)。使用双花​​括号,您可以指定张量将变窄的范围,这对于单花括号是不可能的。例如,您可以执行ten[{{1,2},1}],这将是一个维度为2 的一维张量,如果您执行ten[{{1,2},{2}}],它将返回一个大小为2x1 的二维张量。

    例如:

    th> trsize = 10
    th> trdata = torch.Tensor(trsize, 3, 32, 32)
    th> subdata = trdata[{ {1, 5} }]
    th> subdata:size()
      5
      3
     32
     32
    [torch.LongStorage of size 4]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-12
      • 2019-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-06
      • 1970-01-01
      相关资源
      最近更新 更多