【问题标题】:Lua code explanation (related to RNNs)Lua代码解释(与RNNs相关)
【发布时间】:2018-05-01 22:38:46
【问题描述】:

我正在尝试理解 JcJohnson/Karpathy 用 Lua 和 Torch 编写的 RNN 代码的一部分。感兴趣的可以在 github 上找到完整的项目。

https://github.com/jcjohnson/torch-rnn

我需要帮助的部分来自 LanguageModel.lua 文件:

if #start_text > 0 then
    if verbose > 0 then
      print('Seeding with: "' .. start_text .. '"')
    end
    local x = self:encode_string(start_text):view(1, -1)
    local T0 = x:size(2)
    sampled[{{}, {1, T0}}]:copy(x)
    scores = self:forward(x)[{{}, {T0, T0}}]
    first_t = T0 + 1
else

例如,我不知道这些是什么意思。

:view((1, -1)
:size(2) 
:copy(x) 
sampled[]

你知道这些是什么意思吗?或者我在哪里可以找到它们的参考资料?

谢谢你

【问题讨论】:

  • 先阅读 lua 本身的语言规范?

标签: lua torch


【解决方案1】:

您可以参加一些 Torch 教程 here 或在 github repo 查看 Torch 文档

【讨论】:

  • 嗨陈,这些帮助很大,谢谢。我现在想不出的只有一行:scores = self:forward(x)[{{}, {T0, T0}}],有什么想法 [] 括号括起来的吗?我理解 self:forward(x) 但为什么在那之后的额外项目以及它们是什么意思?
  • self:forward(x) 返回一个新的张量,括号 [] 是索引运算符,用于选择新张量中的元素。你可以看到更多的索引运算符here
猜你喜欢
  • 2011-06-25
  • 2014-08-05
  • 2017-10-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多