在火炬

时间:2017-01-15 09:35:48

标签: machine-learning lua deep-learning conv-neural-network torch

我尝试使用火炬在我的网络中构建一些残余块,但为什么火炬只是在使用CAddTable和ConcatTable时给我错误。有人可以请一些建议吗?提前致谢。我使用的代码在这里:

a=image.load('test.png')
input=torch.Tensor(1,3,60,60)
input[1]=a
input=input:cuda()
local conv_block_1 = nn.Sequential()
conv_block_1:add(cudnn.SpatialConvolution(3, 16, 5, 5, 1, 1, 2, 2))--  ,(60+2*2-5)/1+1=60
conv_block_1:add(cudnn.SpatialBatchNormalization(16))
conv_block_1:add(cudnn.ReLU(true))

local conv_block_2 = nn.Sequential()
conv_block_2:add(cudnn.SpatialConvolution(16, 32, 5, 5, 1, 1, 2, 2)) -- (60+2*2-5)/1+1=60
conv_block_2:add(cudnn.SpatialBatchNormalization(32))
conv_block_2:add(cudnn.ReLU(true))

local conv_block_3 = nn.Sequential()
conv_block_3:add(cudnn.SpatialConvolution(32, 16, 5, 5, 1, 1, 2, 2))  -- (60+2*2-5)/1+1=60
conv_block_3:add(cudnn.SpatialBatchNormalization(16))
conv_block_3:add(cudnn.ReLU(true))

local concat_block_1 = nn.ConcatTable()
concat_block_1:add(conv_block_1)  ----
concat_block_1:add(conv_block_3 )

local add_block_1 = nn.Sequential()
add_block_1:add(concat_block_1)
add_block_1:add(nn.CAddTable(true))
add_block_1:add(cudnn.ReLU(true))

local model=nn.Sequential()
model:add(conv_block_1)

model:add(conv_block_2)
model:add(conv_block_3)
model:add(add_block_1)
model:cuda()
model:forward(input)

,错误如下: ... torch / install / share / lua / 5.1 / cudnn / SpatialConvolution.lua:102:输入必须包含:3个特征映射,但接收的输入大小:1 x 16 x 60 x 60 堆栈追溯:

0 个答案:

没有答案