The problem is resolved.
if __name__=='__main__':
    # Instead of this
    model_ft = models.inception_v3(pretrained = True)
    # The trick is to use
    model_ft = models.inception_v3(pretrained = True, aux_logits=False)

If you call InceptionV3 with aux_logits turned off, the constructor does not even initializes an aux_logits layer, which actuall makes the whole model sequential ready. The problem if the model is not called with aux_logits = False is that it will initialize the aux_logits layer, and when you Sequentialize the model, it will actually treat aux logits as a true layer and expect the consecutive Inception block to have the input adjusted according to the output of the aux_logits layer.