【问题标题】:why can not i use the transpose function without :?为什么我不能在没有:的情况下使用转置功能?
【发布时间】:2017-07-30 02:25:38
【问题描述】:

我想在 torch/lua 中转置一个张量。
实际上我并没有完全理解“:”的想法,但这真的让我很沮丧 我是lua和torch的初学者。 只有这样才有效:

x:t()

我想做这个

x = 火炬.t(x)

当我这样做时,我看到了错误

尝试调用字段“t”(零值)

我试图在互联网上搜索解决方案,但没有找到。

【问题讨论】:

    标签: torch


    【解决方案1】:

    在 Lua 中,x:method(args)x.method(x, args) 的语法糖。这是一种省略self参数的方法。

    话虽如此,转置二维张量x 的最简单方法确实是x:t()。也可以写x.t(x),不过比较复杂。

    最后torch 没有方法transposet 作为字段(不像squeeze 例如你可以同时使用torch.squeeze(x)x:squeeze()),我不知道这个选择的原因,但写x:t()似乎并没有太痛苦,而且它也是最接近数学符号的符号,我觉得很方便。

    【讨论】:

      猜你喜欢
      • 2021-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-08
      • 1970-01-01
      • 2016-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多