什么是timm?
timm, 别称 pytorch-vision-model 库,是一个包含了各种计算机视觉任务中各种
- SOTA模型
- 常用层
- 实用小工具
- 优化器
- 调度器
- 数据加载器
- 数据增强工具
- 训练/评估脚本
的一个无所不包的库。它一共有700多个预训练的视觉模型,你可以直接通过几行代码把他们的架构或者权重直接拿过来为你所用。
什么人可能需要使用timm库?
- 需要快速复现SOTA论文模型的研究生/原型设计工程师
- 需要进行迁移学习的开发者
- 对视觉模型原理感兴趣,想找到模型优秀工业实现代码进行阅读的学生。
timm快速入门
1. 安装timm
pip install timm
2. 加载网络结构/预训练模型
你可以使用timm.create_model()来快速加载网络模型或者预训练权重。
import timm
m = timm.create_model('mobilenetv3_large_100', pretrained=True) # 后面指定为True则加载预训练权重,False则不加载权重并随机初始网络参数。、
m.eval()

注意:
timm.create_model()返回的Pytorch模型默认设置为训练模型,因此如果你打算使用它进行推理,务必先把模型的模型用.eval()改成评估模式。
3. 列出具有与训练权重的模型
要列出timm已经打包好的网络模型,可以使用timm.list_models()方法。
- 过滤方法1:如果指定了
pretrained=True,还能只列出有预训练模型权重的模型。
from pprint import pprint
model_names = timm.list_models(pretrained=True)
pprint(model_names)
# 以下是输出
['aimv2_1b_patch14_224.apple_pt',
'aimv2_1b_patch14_336.apple_pt',
'aimv2_1b_patch14_448.apple_pt',
'aimv2_3b_patch14_224.apple_pt',
'aimv2_3b_patch14_336.apple_pt',
'aimv2_3b_patch14_448.apple_pt',
'aimv2_huge_patch14_224.apple_pt',
'aimv2_huge_patch14_336.apple_pt',
'aimv2_huge_patch14_448.apple_pt',
'aimv2_large_patch14_224.apple_pt',
'aimv2_large_patch14_224.apple_pt_dist',
'aimv2_large_patch14_336.apple_pt',
'aimv2_large_patch14_336.apple_pt_dist',
'aimv2_large_patch14_448.apple_pt',
'bat_resnext26ts.ch_in1k',
'beit3_base_patch16_224.in22k_ft_in1k',
'beit3_base_patch16_224.indomain_in22k_ft_in1k',
'beit3_base_patch16_224.indomain_pt',
'beit3_base_patch16_224.pt',
'beit3_large_patch16_224.in22k_ft_in1k',
'beit3_large_patch16_224.indomain_in22k_ft_in1k',
'beit3_large_patch16_224.indomain_pt',
'beit3_large_patch16_224.pt',
'beit_base_patch16_224.in22k_ft_in22k',
'beit_base_patch16_224.in22k_ft_in22k_in1k',
...
'xcit_tiny_24_p8_384.fb_dist_in1k',
'xcit_tiny_24_p16_224.fb_dist_in1k',
'xcit_tiny_24_p16_224.fb_in1k',
'xcit_tiny_24_p16_384.fb_dist_in1k']
可以看到就算指定了有权重的网络,也有一大堆模型。
- 过滤方法2:字符串匹配,你可以使用字符串匹配的方法来找对应的模型,比如说你想找
vit相关的模型:
model_names = timm.list_models('*vit*')
pprint(model_names)
# 输出,也还是有一大堆
['convit_base',
'convit_small',
'convit_tiny',
'crossvit_9_240',
'crossvit_9_dagger_240',
'crossvit_15_240',
'crossvit_15_dagger_240',
'crossvit_15_dagger_408'

最低0.47元/天 解锁文章
1986

被折叠的 条评论
为什么被折叠?



