【发布时间】:2016-02-18 02:39:13
【问题描述】:
我对 Lua 很陌生,所以请原谅我的迟钝问题。
在this tutorial 之后,我正在尝试将 DeepMind dqn 导入 iTorch 笔记本。
我已经克隆了this repo,其中包含一个名为dqn 的文件夹,其中有源代码。
我已经添加了dqn文件夹的路径
package.path = package.path .. ";/path/to/dqn/?.lua"
当我尝试做的时候
require 'dqn'
我收到一个(预期的)错误,因为文件夹中没有名为 dqn.lua 的文件。此类模块的源代码实际上包含在文件NeuralQLearner.lua 中。
我看到了documentation,它暗示了文件名和包名之间的问题。
所以我的问题是:如何正确导入此模块?我怎样才能让 Lua 知道 dqn 它实际上应该寻找 NeuralQLearner.lua (没有硬编码到我猜的路径中)?
【问题讨论】:
-
您看过他们在
run_*脚本中使用的train_agent.lua示例脚本吗?你有没有试过require("NeuralQLearner"),因为你有一个包含/path/to/dqn/?.lua的package.path? -
谢谢,现在更有意义了。我现在了解他们通过
if not dqn then require 'initenv' end所做的伎俩。我也直接尝试了require 'NeuralQLearner',我有一组新的错误,所以我认为我正在取得进展:) -
package.path = package.path .. ";/path/to/?.lua;/path/to/?/init.lua;"试试看。