Resnet18 Set Output Feature No


如果没有设置的话,我在使用中发现 output的最终 class有1000个label,但是实际上,我只需要3个class label,这个直接会导致之后计算loss和accuracy有严重误差,解决方法是在设置model的时候,设置他的output class的数量,如下:

  • 解决

      model = models.resnet18(pretrained = False)
      num_ftrs = model.fc.in_features
      model.fc = nn.Linear(num_ftrs, 3)
    
    

PS: 如果设置pretrained为True,则算法的weights会使用一个已经调试好的一个叫做ImageNet的 classification problem,在这个里面已经有1000个不一样的类别包括 汽车/ 轮船/ 鱼/ 猫/ 狗。这些weights直接存在了这个model里。【参考于:Packt.Deep.Learning.with.PyTorch.2018】

Posted in Code with : 图像处理, ML

未经许可不可转载,但欢迎分享