2017-07-15 1 views
0

Le modèle multi-gpu Code init:nn.DataParallelTable échoue pour les couches personnalisées

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() 

obtenir les erreurs lors du traitement model:parameters() ou 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> est ma couche personnalisée définie dans models/Reorg.lua qui vient fait des opérations de copie simples sur l'entrée de la couche.
Cela fonctionne très bien dans le CPU et les cas de GPU simples.

Répondre

0

je figure enfin, juste ajouter une ligne de code:

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

Les fils ne sont pas charger le fichier (pourquoi ???), je dois le charger manuellement ...