2017-07-15 37 views
0

的多GPU模型初始化代码:nn.DataParallelTable失败定制层

local dpt = nn.DataParallelTable(1, true, true) 
     :add(model, gpus) 
     :threads(function() 
      local cudnn = require 'cudnn' 
      cudnn.fastest, cudnn.benchmark = fastest, benchmark 
     end) 
dpt.gradInput = nil 

model = dpt:cuda() 

处理model:parameters()model:getParameters()时得到错误:

FATAL THREAD PANIC: (read) /home/daniel/torch/install/share/lua/5.2/torch/File.lua:343: unknown Torch class <nn.Reorg> 
FATAL THREAD PANIC: (read) /home/daniel/torch/install/share/lua/5.2/torch/File.lua:343: unknown Torch class <nn.Reorg> 

<nn.Reorg>models/Reorg.lua定义我的定制层刚刚对图层输入进行简单的复制操作。
它在CPU和单GPU情况下工作正常。

回答

0

我终于弄明白,只需添加一行代码:

:threads(function() 
      require 'models/Reorg' 
      local cudnn = require 'cudnn' 
      cudnn.fastest, cudnn.benchmark = fastest, benchmark 
     end) 

的线程没有加载文件(为什么???),我必须手动加载它...