2015-03-02 4 views
3

Я выполнил neuralnetwork_tutorial.lua. Теперь, когда у меня есть модель, я хотел бы протестировать ее с помощью некоторых моих собственных рукописных изображений. Но я пробовал много способов, сохраняя весы, и теперь, сохраняя полную модель, используя torch save and load methods.Как предсказать использование модели, созданной факелом?

Однако теперь, когда я пытаюсь предсказать свои собственные рукописные образы (преобразованные в 28х28 DoubleTensor) с использованием model:forward(testImageTensor)

...ches/torch/install/share/lua/5.1/dp/model/sequential.lua:30: attempt to index local 'carry' (a nil value) 
stack traceback: 
     ...ches/torch/install/share/lua/5.1/dp/model/sequential.lua:30: in function '_forward' 
     ...s/torches/torch/install/share/lua/5.1/dp/model/model.lua:60: in function 'forward' 
     [string "model:forward(testImageTensor)"]:1: in main chunk 
     [C]: in function 'xpcall' 
     ...aries/torches/torch/install/share/lua/5.1/trepl/init.lua:588: in function 'repl' 
     ...ches/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:185: in main chunk 
     [C]: at 0x0804d650 
+0

В факеле это прямо вперед, точно так же как, как вы пытаетесь это сделать. Это похоже на побочный эффект использования пакета «dp». Может быть, могут помочь авторы «dp». – smhx

ответ

2

У вас есть два варианта.

Первый. Используйте инкапсулированный nn.Module направить ваш torch.Tensor:

mlp2 = mlp:toModule(datasource:trainSet():sub(1,2)) 
input = testImageTensor:view(1, 1, 32, 32) 
output = mlp2:forward(input) 

Два. Инкапсулировать torch.Tensor в dp.ImageView и вперед, что через ваш dp.Model:

inputView = dp.ImageView('bchw', testImageTensor:view(1, 1, 32, 32)) 
outputView = mlp:forward(inputView, dp.Carry{nSample=1}) 
output = outputView:forward('b')