多通道cnn网络以及权值共享的方法

每次的输入有n张图片,然后它们同时经过结构相同、权值共享的的cnn网络(比如vgg,resnet),最后在全连接merge,请问这样结构的网络该怎样去写?
 
小白求问各位大佬
已邀请:

sunguwei

赞同来自:

自己顶下,各位大佬看我这种做法有没有问题。
 
网络结构:
class VGG(nn.Module):

def __init__(self, features, init_weights=True):
super(VGG, self).__init__()
self.features = features
self.fc = nn.Sequential(
nn.Linear(512 * 7 * 7, 128),
nn.ReLU(True),
nn.Dropout(),
)
self.regression = nn.Sequential(
nn.Linear(128*6,128),
nn.ReLU(True),
nn.Dropout(),
nn.Linear(128,1),
)

if init_weights:
self._initialize_weights()

def forward(self, x_BA, x_BO, x_F, x_L, x_R, x_T):
#x = self.features(x)
x_BA = self.features(x_BA)
x_BO = self.features(x_BO)
x_F = self.features(x_F)
x_L = self.features(x_L)
x_R = self.features(x_R)
x_T = self.features(x_T)

x_BA = x_BA.view(x_BA.size(0), -1)
x_BO = x_BO.view(x_BO.size(0), -1)
x_F = x_F.view(x_F.size(0), -1)
x_L = x_L.view(x_L.size(0), -1)
x_R = x_R.view(x_R.size(0), -1)
x_T = x_T.view(x_T.size(0), -1)

x_BA = self.fc(x_BA)
x_BO = self.fc(x_BO)
x_F = self.fc(x_F)
x_L = self.fc(x_L)
x_R = self.fc(x_R)
x_T = self.fc(x_T)

x = torch.cat([x_BA,x_BO,x_F,x_L,x_R,x_T],1)

x = self.regression(x)

return x

image_BA, image_BO, image_F, image_L, image_R, image_T是我输入的六张图,六张图分别经过了features也就是卷积层,再分别经过了一个全连接层,在第二个全连接层串联在一起。
 
求大佬回答下,这样的网络结构,我的卷积网络是有一个还是六个,就是说我的这6个输入是经过同一个卷积网络还是通过了6个卷积网络?

要回复问题请先登录注册