timm documentation

DeepSeek ViT

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v1.0.30).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

DeepSeek ViT

Category: Encoder Β· Code: timm/models/deepseek_vit.py Β· Architectures: 3 Β· Pretrained weights: 6 (0 with ImageNet-1k results)

The vision encoder of the DeepSeek-V4 / V4.1 multimodal models, a pre-norm ViT with RMSNorm, a SwiGLU MLP and axial 2D RoPE as the only position encoding. Classifier variants add pooling and a linear head, the _enc variants keep the native projector that maps the tokens to the language model width.

Papers

Usage

See the Quickstart for loading pretrained weights, image preprocessing and fine-tuning, and Feature Extraction for using the models as backbones.

>>> import timm
>>> model = timm.create_model('deepseek_vit_412m.deepseek_v4_1_flash', pretrained=True)
>>> data_config = timm.data.resolve_model_data_config(model)

Model API support

FeatureDeepseekVitClassifierDeepseekVitEncoder
features_only=True feature mapsβœ“ (strides 14, 14, 14)βœ“ (strides 14, 14, 14)
forward_intermediates()βœ“βœ“
prune_intermediate_layers()βœ“βœ“
Any input size, no changes neededβœ“βœ“
set_input_size()––
dynamic_img_size=True––
set_grad_checkpointing()βœ“βœ“
Layer-wise LR decay (group_matcher())βœ“βœ“
reset_classifier()βœ“βœ—

βœ“ supported, βœ“ (square) works for square sizes only, βœ— not supported, – not needed (the model already accepts any input size). Checked by running each feature on a randomly initialized model (DeepseekVitClassifier with deepseek_vit_412m at 252, DeepseekVitEncoder with deepseek_vit_412m_enc at 252), other architectures of the same class are expected to behave the same. See the Model API page for details.

Architectures

ArchitectureClassParams (M)GMACsInput sizePretrained weights
deepseek_vit_412mDeepseekVitClassifier411.84-5462
deepseek_vit_412m_alignDeepseekVitClassifier485.25-5462
deepseek_vit_412m_encDeepseekVitEncoder485.25-5462

GMACs and parameter counts are for the default input size and classifier of each architecture, from the benchmark results.

Pretrained weights

Top-1 is ImageNet-1k validation accuracy from results-imagenet.csv at the listed eval size, - if the weight has no ImageNet-1k result (e.g. pretraining or image-text weights). Classes is the size of the pretrained classifier, none for weights without one.

Weights are grouped by source: the paper or origin given in the pretrained config, else a Hub organization other than timm, else the first part of the pretrained tag (architecture.tag). Sources with a single weight are listed under other.

deepseek-ai/DeepSeek-V4-Flash-Vision-Exp

Origin: huggingface.co/deepseek-ai/DeepSeek-V4-Flash-Vision-Exp

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
deepseek_vit_412m.deepseek_v4_flash_vision_exp392--nonemittimm
deepseek_vit_412m_align.deepseek_v4_flash_vision_exp392--nonemittimm
deepseek_vit_412m_enc.deepseek_v4_flash_vision_exp392--nonemittimm

deepseek-ai/DeepSeek-V4.1-Flash

Origin: huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
deepseek_vit_412m.deepseek_v4_1_flash546--nonemittimm
deepseek_vit_412m_align.deepseek_v4_1_flash546--nonemittimm
deepseek_vit_412m_enc.deepseek_v4_1_flash546--nonemittimm
Update on GitHub