timm 初探

本文介绍了如何通过pip安装timm库,以及如何将其用于特征提取,如使用预训练的ResNet50模型进行图像处理,并展示了如何加载和运行ViT模型。

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

最近要使用一下,姑且记录一下
安装

pip install timm

作为特征提取

import torch
import timm
m = timm.create_model('resnet50', pretrained=True, num_classes=0)
o = m(torch.randn(2, 3, 224, 224))
print(f'Pooled shape: {o.shape}')

VIT

import timm
model = timm.create_model('vit_base_patch16_224', pretrained=True)
model.eval()
03-08
### TIMM Python Library for Image Models TIMM (Torch Image Models) 是一个专注于图像处理模型的PyTorch库,提供了大量预训练模型以及便捷的功能接口[^3]。 #### 使用 TIMM 创建和加载模型 为了创建并使用 TIMM 库中的模型,可以采用如下方式: ```python from timm import create_model, list_models, load_checkpoint # 列出所有可用模型名称 available_models = list_models(pretrained=True) # 创建指定架构的模型实例,并加载预训练权重 model = create_model('resnet50', pretrained=True) ``` 上述代码展示了如何利用 `create_model` 函数快速初始化特定类型的卷积神经网络(如ResNet50),并且可以直接获取官方提供的预训练参数。这使得研究人员能够轻松地基于现有成果开展实验工作或部署应用解决方案。 #### 导出优化后的推理模型 完成训练之后,通常建议将模型导出到更适合推断阶段使用的高效格式中去;对于大多数 TIMM 支持的模型而言,既可以选择 TorchScript 的脚本化形式也可以选择追踪模式来进行转换操作[^1]: ```python import torch import timm # 假设已经有一个训练好的模型对象 'model' dummy_input = torch.randn(1, 3, 224, 224) # 方法一:通过跟踪输入张量的方式保存为 traced_script_module.pt 文件 traced_script_module = torch.jit.trace(model.eval(), dummy_input) traced_script_module.save("traced_resnet50.pt") # 方法二:直接编译成 ScriptModule 类型再存储至 scripted_model.pt 中 scripted_model = torch.jit.script(model.eval()) scripted_model.save("scripted_resnet50.pt") ``` 这两种方法都可以有效地减少实际运行时所需的计算资源消耗,提高预测效率的同时保持较高的精度水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值