如何获取最新的torchvision.models(例如ViT)?
How to access latest torchvision.models (e.g. ViT)?
我在 official torchvision docs 中看到,最近 vision transformers 和 ConvNeXt 模型系列已添加到 PyTorch 模型动物园中。但是,即使升级到最新的 torchvision 版本 0.11.3(通过 pip
),这些新模型也不可用:
>>> import torchvision; torchvision.__version__
'0.11.3+cu102'
>>> import torchvision.models as models
>>> model = models.resnext50_32x4d() # previous models work fine
>>> model = models.vit_b_16() # vision transformers don't work
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'torchvision.models' has no attribute 'vit_b_16'
我知道如何在 PyTorch 中访问这些最新添加的模型吗?
除了torchvision
之外,还有其他获取pytorch模型的方法。
您应该查看 torch.hub
以从特定的 github 存储库获取模型,这些存储库允许通过此界面进行共享。
此外,您还有 timm
-- 许多 pytorch 视觉模型的存储库。
例如:
# list all ViT models
timm.list_models('vit_*')
# list all convNext models
timm.list_models('convnext*')
# load ViT-B/16
vit_b_16 = timm.create_model('vit_base_patch16_224', pretrained=True)
# load conv next
convnext = timm.create_model('convnext_base', pretrained=True)
尽管@Shai 的回答是一个很好的补充,但我最初的问题是如何访问 torchvision.models
中的官方 ViT 和 ConvNeXt 模型。事实证明,答案只是等待。所以记录一下:在升级到 0.12 版的最新 torchvision
pip 包后,我也得到了这些新模型。
我在 official torchvision docs 中看到,最近 vision transformers 和 ConvNeXt 模型系列已添加到 PyTorch 模型动物园中。但是,即使升级到最新的 torchvision 版本 0.11.3(通过 pip
),这些新模型也不可用:
>>> import torchvision; torchvision.__version__
'0.11.3+cu102'
>>> import torchvision.models as models
>>> model = models.resnext50_32x4d() # previous models work fine
>>> model = models.vit_b_16() # vision transformers don't work
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'torchvision.models' has no attribute 'vit_b_16'
我知道如何在 PyTorch 中访问这些最新添加的模型吗?
除了torchvision
之外,还有其他获取pytorch模型的方法。
您应该查看 torch.hub
以从特定的 github 存储库获取模型,这些存储库允许通过此界面进行共享。
此外,您还有 timm
-- 许多 pytorch 视觉模型的存储库。
例如:
# list all ViT models
timm.list_models('vit_*')
# list all convNext models
timm.list_models('convnext*')
# load ViT-B/16
vit_b_16 = timm.create_model('vit_base_patch16_224', pretrained=True)
# load conv next
convnext = timm.create_model('convnext_base', pretrained=True)
尽管@Shai 的回答是一个很好的补充,但我最初的问题是如何访问 torchvision.models
中的官方 ViT 和 ConvNeXt 模型。事实证明,答案只是等待。所以记录一下:在升级到 0.12 版的最新 torchvision
pip 包后,我也得到了这些新模型。