【无标题】

pytorch加载预训练的模型

解决方案

  1. 其实很简单,一行代码即可
    self.resnet = models.resnet18(models.ResNet18_Weights.DEFAULT)

  2. 可以使用eval()方法,来将模型参数固定
    self.resnet = models.resnet18(models.ResNet18_Weights.DEFAULT).eval()

  3. 导入之后,模型就相当于一个普通的神经网络的层,可以像linear,relu一样使用它,像这样

     def forward(self, x:torch.Tensor):
     	h = self.resnet(x)
     	o = self.linear(h)
     	return o
    

注意

  1. models是torchvision模块中的,而不是torch模块中的,因此需要有
    import torchvision.models as models
    传入的参数ResNet18_Weights也是models中的,记得加上前缀
  2. model.Resnet()中的参数也可以填pretrained=True,但是运行时会有一个warning,显示这个参数deprecated,建议换成新的参数。官网上也有类似的说法。此外,官网还提供了不同版本的参数选择。
    此处应是官网的截图
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值