I have this error for this code
RuntimeError: Given groups=1, weight of size [32, 6, 3, 3, 3], expected input[18, 1, 6, 32, 32] to have 6 channels, but got 1 channels instead
can you help me
my input shape [18, 1, 6, 32, 32] this patched from MRA images with 6 channels
class GeneratorNet(nn.Module):
def init(self):
super(GeneratorNet, self).init()
self.conv1 = nn.Conv3d(6, 32, kernel_size=3, padding=1)
self.conv2 = nn.Conv3d(32, 64, kernel_size=3, padding=1)
self.conv3 = nn.Conv3d(64, 128, kernel_size=3, padding=1)
self.conv4 = nn.Conv3d(128, 256, kernel_size=3, padding=1)
self.conv5 = nn.Conv3d(256, 256, kernel_size=3, padding=1)
self.tconv1 = nn.ConvTranspose2d(6, 32, kernel_size=3, padding=1)
self.tconv2 = nn.ConvTranspose2d(32, 64, kernel_size=3, padding=1)
self.tconv3 = nn.ConvTranspose2d(64, 128, kernel_size=3, padding=1)
self.tconv4 = nn.ConvTranspose2d(128, 256, kernel_size=3, padding=1)
self.tconv5 = nn.ConvTranspose2d(256, 256, kernel_size=3, padding=1)
self.relu = nn.ReLU()
def forward(self, x):
# encoder
residual_1 = x
out = self.relu(self.conv1(x))
out = self.relu(self.conv2(out))
residual_2 = out
out = self.relu(self.conv3(out))
out = self.relu(self.conv4(out))
residual_3 = out
out = self.relu(self.conv5(out))
# decoder
out = self.tconv1(out)
out += residual_3
out = self.tconv2(self.relu(out))
out = self.tconv3(self.relu(out))
out += residual_2
out = self.tconv4(self.relu(out))
out = self.tconv5(self.relu(out))
out += residual_1
out = self.relu(out)
return out