2017-07-15 62 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) 

的線程沒有加載文件(爲什麼???),我必須手動加載它...