neuralnetwork_turial.lua 数据预处理问题

Issue with neuralnetwork_turial.lua with data preprocessing

我先通过 git clone-ing 然后使用 luarocks make 安装了 torch deep learning module,安装成功。 require 'dp' 在 torch 提示符下运行良好。

但是当我尝试执行 neuralnetwork_tutorial.lua(th neuralnetwork_tutorial.lua) 时,它会抛出以下错误。

Tanny @neuralnetwork_tutorial.lua: About to initiate: datasource = dp.Mnist{input_preprocess = dp.Standardize()}
Tanny @/home/ubuntu/binaries/torches/torch/install/share/lua/5.1/dp/preprocess/standardize.lua: Marked presence!!!
Tanny @/home/ubuntu/binaries/torches/torch/install/share/lua/5.1/dp/torch/File.lua says: @177 typeidx=  3
Tanny @/home/ubuntu/binaries/torches/torch/install/share/lua/5.1/dp/torch/File.lua says: @177 typeidx=  1
Tanny @/home/ubuntu/binaries/torches/torch/install/share/lua/5.1/dp/torch/File.lua says: @177 typeidx=  4
Tanny @/home/ubuntu/binaries/torches/torch/install/share/lua/5.1/dp/torch/File.lua says: @177 typeidx=  0
Tanny @/home/ubuntu/binaries/torches/torch/install/share/lua/5.1/dp/torch/File.lua says: @177 typeidx=  28
Tanny @/home/ubuntu/binaries/torches/torch/install/share/lua/5.1/dp/torch/File.lua says: @259 typeidx=  28
/home/ubuntu/binaries/torches/torch/install/bin/luajit: ...aries/torches/torch/install/share/lua/5.1/torch/File.lua:260: unknown object
stack traceback:
        [C]: in function 'error'
        ...aries/torches/torch/install/share/lua/5.1/torch/File.lua:260: in function 'readObject'
        ...aries/torches/torch/install/share/lua/5.1/torch/File.lua:252: in function 'readObject'
        ...aries/torches/torch/install/share/lua/5.1/torch/File.lua:277: in function 'loadData'
        ...es/torches/torch/install/share/lua/5.1/dp/data/mnist.lua:74: in function 'loadTrainValid'
        ...es/torches/torch/install/share/lua/5.1/dp/data/mnist.lua:61: in function '__init'
        ...aries/torches/torch/install/share/lua/5.1/torch/init.lua:50: in function <...aries/torches/torch/install/share/lua/5.1/torch/init.lua:46>
        [C]: in function 'Mnist'
        neuralnetwork_tutorial.lua:16: in main chunk
        [C]: in function 'dofile'
        ...ches/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:131: in main chunk
        [C]: at 0x0804d650

我在那些脚本中放了一些 print 语句来理解流程。我偶然注意到,在File.lua中,获取对象后的第一步是判断对象的类型;其中8个已​​经申报。类型已通过 0 到 7 声明,0 为 TYPE_NIL。但是代码失败,因为它检测到类型 28(??).

请问我哪里出错了?或者去哪里寻找问题?

P.S.: 脚本自行下载数据,但由于某些标准企业代理设置问题,无法下载。所以,我个人下载了数据MNIST,存放在具体的数据目录下。如果这可能是一个线索??

好吧,这是代码中的错误(序列化的 MNIST 不是跨平台的)。通过使用 ascii 格式而不是二进制格式序列化数据集来修复。