用hugging face共享的timm的模型报错:Unknown model
1.踩坑回顾
1.1.我想使用这个下面这个模型
timm/starnet_s1.in1k
1.2.于是我在model card页面照抄它的代码
# 关键出错代码如下
import timmmodel = timm.create_model('starnet_s1.in1k', pretrained=True)
model = model.eval()
1.3.报错
有2个报错分别是
:
- 网络连接问题
- RuntimeError: Unknown model
2.解决问题
2.1.解决网络连接
- 使用hugging face的国内镜像。
注意:不管开不开VPN都不好使,只能用hugging face的国内镜像
。
# 执行代码后,重启终端。
$ echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrc
hugging face的国内镜像官方文档(文档在页面下方)
- 提前用
huggingface-cli
下载huggingface
的仓库:timm/starnet_s1.in1k
:
huggingface-cli download timm/starnet_s1.in1k
huggingface-cli的官方文档
2.2.RuntimeError: Unknown model问题
- 检查你的timm库版本
import timm
print(timm.__version__)
此时我的timm版本为最新的:1.0.15版本,可以去timm的官方github仓库看看最新的release版本号是多少。
- 查看timm/starnet_s1.in1k仓库的最后更新日期
发现timm/starnet_s1.in1k是13天前更新,有可能开发版的timm才集成starnet_s1.in1k模型。
- 安装开发版timm
$ pip uninstall timm
$ pip install git+https://github.com/rwightman/pytorch-image-models.git
timm的官方安装教程
- 检查开发版timm是否支持starnet_s1.in1k
import timm
timm.list_models('starnet*')#返回内容如下
['starnet_s1','starnet_s2','starnet_s3','starnet_s4','starnet_s050','starnet_s100','starnet_s150']