nn.DataParallelTable 自定义图层失败
nn.DataParallelTable fails for custom layers
多GPU模型初始化代码:
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 情况下工作正常。
终于想通了,加一行代码就可以了:
:threads(function()
require 'models/Reorg'
local cudnn = require 'cudnn'
cudnn.fastest, cudnn.benchmark = fastest, benchmark
end)
线程没有加载文件(为什么???),我必须手动加载...
多GPU模型初始化代码:
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 情况下工作正常。
终于想通了,加一行代码就可以了:
:threads(function()
require 'models/Reorg'
local cudnn = require 'cudnn'
cudnn.fastest, cudnn.benchmark = fastest, benchmark
end)
线程没有加载文件(为什么???),我必须手动加载...