Loss always returns zero

when I implementing multiple instance learning, zeros were got in all epoch. Why?. Please Help me for the network

'> class MILModule(nn.Module):

def __init__(self):
    super(MILModule,self).__init__()
    vgg=models.vgg16(pretrained=True)
    modules=list(vgg.features[i] for i in range(29))
    self.vgg=nn.Sequential(*modules)
    self.relu1=nn.ReLU()
    self.conv1=nn.Conv2d(in_channels=512,out_channels=4096,kernel_size=5)
    self.relu2=nn.ReLU()
    self.conv2=nn.Conv2d(in_channels=4096,out_channels=4096,kernel_size=3)
    self.relu0=nn.ReLU()
    self.conv3=nn.Conv2d(in_channels=4096,out_channels=1000,kernel_size=1)
    self.sigmoid=nn.Sigmoid()
    self.pool_mil=nn.MaxPool2d(8,stride=1)
def forward(self,images):
    features=self.vgg(images)
    N,C,H,W=features.size()
    relu0=self.relu0(features)
    conv1=self.conv1(relu0)
    relu1=self.relu1(conv1)
    conv2=self.conv2(relu1)
    relu2=self.relu2(conv2)
    conv3=self.conv3(relu2)
    pool=self.pool_mil(conv3)
    x=pool.squeeze(2).squeeze(2)
    x=self.sigmoid(x)
    return x