使用 timm 模块查看常见深度学习模型结构
深度学习中预训练模型库非常重要,它能够帮助我们非常方便的获取到模型的结构、模型的权重文件等,这大大降低了入门深度学习的门槛,如高性能的硬件设备(服务器、GPU),同时使用迁移学习的思想能够大大缩短我们开发可实用模型的时间。常见的预训练模型库包含有 torchvision.models(CV 模型)、transformers(CV 和 NLP 大模型相关)、timm(包含 CV 领域小模型和大模型,开发公司同 transformers 的 hugging face)。其中 timm 非常方便我们查看模型结构,同时可加载预训练的模型权重,且支持的模型比较多。本篇介绍 timm。
安装
timm 的官方网址是:https://github.com/huggingface/pytorch-image-models
bash
1 | pip install timm |
使用
查看预训练模型
python
1 | import timm |
python
1 | # 截止目前已经有 1289 个预训练模型 |
查看某类模型
python
1 | all_densnet_models = timm.list_models("*sam*") |
python
1 | ['samvit_base_patch16', |
查看模型结构
python
1 | timm.create_model(model_name="vit_huge_patch14_224") |
加载模型
python
1 | model = timm.create_model("samvit_huge_patch16", pretrained=True) |
python
1 | {'url': 'https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth', |
保存模型权重
python
1 | import torch |
可视化模型结构
当我们有模型权重文件(*.pth)后,我们可以使用 netron 来可视化模型结构,更加直观。
netron 网址为:https://netron.app/
参考文献
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 J. Xu!
评论