我首先通过git clone
-ing和后来使用luarocks make
安装了火炬深度学习模块,并且安装成功。require 'dp'
在火炬提示符下运行良好。
但是当我尝试执行 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(??)。
请帮助我出错的地方吗?或者在哪里调查以查找问题?
PS:脚本会自行下载数据,但由于某些标准公司代理设置问题,它无法下载。因此,我亲自下载了数据MNIST,并将其存储在特定的数据目录中。如果这可能是一个线索??
好的,所以这是代码中的一个错误(序列化的 MNIST 不是跨平台的)。通过使用 ascii 格式而不是二进制序列化数据集来修复。