timm 和 torchvision 中的 resnet50

该博客展示了如何使用timm和torchvision库分别加载预训练的ResNet50模型,并将它们导出为ONNX格式。通过比较导出的ONNX模型,作者发现权重是相同的。这为在不同框架间转移模型提供了一种验证方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从 timm 和 torchvision 分别加载 resnet50 预训练模型,

import torch
def export_onnx(model_saved, onnx_save_name, input_name='img', output_name='logits'):
    dummy_input = torch.randn(1, 3, 224, 224)
    dynamic_axes = dict()
    dynamic_axes[input_name] = {0:"batch_size"}
    dynamic_axes[output_name] = {0:"batch_size"}
    torch.onnx.export(model_saved, dummy_input, onnx_save_name,
        input_names=[input_name], output_names=[output_name],
        export_params=True, verbose=False, opset_version=12,
        dynamic_axes=dynamic_axes)
    
if __name__ == '__main__':
    import torchvision
    net = torchvision.models.resnet50(pretrained=True)
    export_onnx(net, './resnet50_torchvision.onnx')
    
    import timm
    net = timm.create_model('resnet50', pretrained=True)
    export_onnx(net, './resnet50_timm.onnx')

从 onnx 看,权重是一样的。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值