我想使用 DINO github 作为特征提取器。但我不知道如何实例化 DINO 模型,然后向其提供一组图像(如 cifar10)并保存特征?
基本上,如何加载模型,然后从检查点可视化特征(无需训练——仅检查点)?
您需要安装 PyTorch。然后你就可以使用你想要的模型(第一次使用时会下载),如github所示。例如,对于 vits16:
vits16 = torch.hub.load('facebookresearch/dino:main', 'dino_vits16')
features = vits16(your_input)
然后您可以使用这些功能执行您想要的操作。
import torch
from torchvision import transforms as pth_transforms
from PIL import Image
model_dino = torch.hub.load('facebookresearch/dino:main', 'dino_vits16', pretrained=True)
您可以从几种恐龙变体中进行选择
transform = pth_transforms.Compose([
pth_transforms.ToTensor(),
pth_transforms.Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225)),
])
based on [source][2]
img = Image.open(image_path)
img_tensor = transform(img.cuda())
predictions = model_dino (img_tensor)