사용법 (PyTorch Hub 로드)

사용법 (PyTorch Hub 로드)

DINOv2는 PyTorch 설치만으로도 로드할 수 있어요. torch.hub.load('facebookresearch/dinov2', ...)로 백본을 불러오면 되죠. CUDA 지원 PyTorch 설치를 권장해요.

DINOv2 백본

import torch

# DINOv2
dinov2_vits14 = torch.hub.load('facebookresearch/dinov2', 'dinov2_vits14')
dinov2_vitb14 = torch.hub.load('facebookresearch/dinov2', 'dinov2_vitb14')
dinov2_vitl14 = torch.hub.load('facebookresearch/dinov2', 'dinov2_vitl14')
dinov2_vitg14 = torch.hub.load('facebookresearch/dinov2', 'dinov2_vitg14')

# DINOv2 with registers
dinov2_vits14_reg = torch.hub.load('facebookresearch/dinov2', 'dinov2_vits14_reg')
dinov2_vitb14_reg = torch.hub.load('facebookresearch/dinov2', 'dinov2_vitb14_reg')
dinov2_vitl14_reg = torch.hub.load('facebookresearch/dinov2', 'dinov2_vitl14_reg')
dinov2_vitg14_reg = torch.hub.load('facebookresearch/dinov2', 'dinov2_vitg14_reg')

분류 헤드 포함 (linear classifier)

전체 분류 모델도 _lc 접미사로 로드할 수 있어요.

import torch

# DINOv2
dinov2_vits14_lc = torch.hub.load('facebookresearch/dinov2', 'dinov2_vits14_lc')
dinov2_vitb14_lc = torch.hub.load('facebookresearch/dinov2', 'dinov2_vitb14_lc')

# DINOv2 with registers
dinov2_vits14_reg_lc = torch.hub.load('facebookresearch/dinov2', 'dinov2_vits14_reg_lc')
dinov2_vitb14_reg_lc = torch.hub.load('facebookresearch/dinov2', 'dinov2_vitb14_reg_lc')

활용 흐름

백본이 입력 이미지의 패치 특징을 만들어 내면, 여기에 선형 헤드나 DPT 헤드를 얹어 분류·깊이 추정·세그멘테이션 태스크로 확장해요. 특징(feature)만 뽑아 다른 모델의 입력으로 쓰기도 해요.

더 알아보기