burn_dragon_train 0.4.0

Training utilities for burn_dragon
Documentation
use crate::train::prelude::*;

pub fn teacher_variant_dim(variant: VisionTeacherVariant) -> usize {
    match variant {
        VisionTeacherVariant::Vits => 384,
        VisionTeacherVariant::Vitb => 768,
        VisionTeacherVariant::Vitl => 1024,
        VisionTeacherVariant::Vitg => 1536,
    }
}

pub fn build_dino_config(
    variant: VisionTeacherVariant,
    image_size: usize,
    patch_size: usize,
) -> DinoVisionTransformerConfig {
    match variant {
        VisionTeacherVariant::Vits => {
            DinoVisionTransformerConfig::vits(Some(image_size), Some(patch_size))
        }
        VisionTeacherVariant::Vitb => {
            DinoVisionTransformerConfig::vitb(Some(image_size), Some(patch_size))
        }
        VisionTeacherVariant::Vitl => {
            DinoVisionTransformerConfig::vitl(Some(image_size), Some(patch_size))
        }
        VisionTeacherVariant::Vitg => {
            DinoVisionTransformerConfig::vitg(Some(image_size), Some(patch_size))
        }
    }
}