一、TiMM下载的模型直接换路径读取
如果你使用 timm.create_model('vit_base_patch16_clip_384.laion2b_ft_in1k', pretrained=True)
下载了huggingface模型到电脑中,然后将模型传到另一个电脑中。那么步骤如下:
- 下载模型:在默认的
~/.cache/huggingface/hub/
下找到您下载的模型,如:models--timm--vit_large_patch14_clip_224.laion2b_ft_in12k/
,将之打包上传到您需要的目标电脑中。 - 在目标电脑中,将这个模型文件放到huggingface默认路径中,即可使用
timm.create_model('vit_base_patch16_clip_384.laion2b_ft_in1k', pretrained=True)
读取。
##NOTE##: hugging face改默认读取文件路径
import os
# linux下,原始路径为 ~/.cache/huggingface/hub/
# 使用环境变量的方法,重新设定HF的存储models路径
os.environ['HF_HUB_CACHE'] = '/data/common_models/'
二、TiMM模型转torch模型
# 转torch模型
model8 = timm.create_model('timm/vit_large_patch14_clip_224.laion2b_ft_in12k',
pretrained=True,
num_classes=0).to(device)
vit_checkpoint_path='/root/autodl-tmp/common_models/vit_base_patch16_clip_384.laion2b_ft_in1k.pth'
torch.save(model8.state_dict(), f=vit_checkpoint_path)
# TIMM读取
model9 = timm.create_model(model_name='vit_base_patch16_clip_384',
pretrained=False,
checkpoint_path=vit_checkpoint_path,
num_classes=0).to(device)