Hi,
I am trying to implement Squeezenet and train it on Cifar10 data, I have got the code ready but there seems to be some problem, my training set accuracy never increases though the loss function graph makes sense.
In Squeezenet, fire module require us to concatenate 1x1 Convolution and 3x3 convolution, to achieve this I have used torch.cat function? Below is the code for fire module, I want to know if its right?
class fire(nn.Module):
def __init__(self, inplanes, squeeze_planes, expand_planes):
    super(fire, self).__init__()
    self.conv1 = nn.Conv2d(inplanes, squeeze_planes, kernel_size=1, stride=1)
    self.relu1 = nn.ReLU(inplace=True)
    self.conv2 = nn.Conv2d(squeeze_planes, expand_planes, kernel_size=1, stride=1)
    self.conv3 = nn.Conv2d(squeeze_planes, expand_planes, kernel_size=3, stride=1, padding=1)
    self.relu2 = nn.ReLU(inplace=True)

    # using MSR initilization
    for m in self.modules():
        if isinstance(m, nn.Conv2d):
            n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels
            m.weight.data.normal_(0, math.sqrt(2./n))

def forward(self, x):
    x = self.conv1(x)
    x = self.relu1(x)
    out1 = self.conv2(x)
    out2 = self.conv3(x)
    out = torch.cat([out1, out2], 1)
    out = self.relu2(out)
    return out