Lua/Torch - 使用自定义数据集创建train.t7和test.t7文件时出现错误

我正尝试将自己的数据集馈送到我创建的CNN模型中。上传了创建训练和测试.t7文件的代码在这里

我通过创建5000张图像的train_set.t7和500张图像的test_set.t7来测试了这段代码。一切都很顺利,我能够将图像加载到CNN模型中。然后我尝试从一个更大的数据集创建另一个.t7文件集。我想解释一下数据集的组织方式。有一个名为dataROOT文件夹(在代码中,请查找ROOT)。里面有两个子文件夹:traintest。每个子文件夹都分为5个不同的文件夹,分别命名为:12345。在train的情况下,这些文件夹中的每个文件夹都有大约70,000张图像。

问题是,当我从data/train/1中添加所有文件后,我的代码会抛出以下错误:

 /home/ubuntu/torch/install/bin/luajit: ...e/ubuntu/torch/install/share/lua/5.1/torchx/indexdir.lua:53: attempt to perform arithmetic on a nil value
stack traceback:
    ...e/ubuntu/torch/install/share/lua/5.1/torchx/indexdir.lua:53: in function 'indexdir'
    create_t7.lua:25: in main chunk
    [C]: in function 'dofile'
    ...untu/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk
    [C]: at 0x0000cff9

我尝试更改文件夹的顺序,但没有帮助。这个错误表示什么?提前致谢。

点赞
用户1984680
用户1984680

出错的意思是,不管是 findFile 变量,还是 indexdir.lua 中第 53 行的 shell 命令 wc -L 'findfile' | cut -f1 -d,两者中必有一个会得到 nil

local maxPathLength = tonumber(sys.fexecute(wc .. " -L '"
                                            .. findFile .. "' |"
                                            .. cut .. " -f1 -d' '")) + 1

因此,基本上 lua 尝试执行 nil +1 操作,这是一个错误。仔细检查你的 path_local 路径。

2017-04-12 21:07:25