This model is a fine-tuned version of MCG-NJU/videomae-base on an unknown dataset. It achieves the following results on the evaluation set: The following hyperparameters were used during training: - learningrate: 5e-05 - trainbatchsize: 8 - evalbatchsize: 8 - lrschedulertype: linear - trainingsteps: 370 - Transformers 5.16.1 - Pytorch 2.14.0+cu126 - Datasets 5.0.1 - Tokenizers 0.23.2
Open-weight model · Video classification
vi-sign-language-videomae-base
by Star Duong star092304/vi-sign-language-videomae-base
This repository houses a fine-tuned VideoMAE (Base) model optimized for multi-class Vietnamese Sign Language Recognition (VSLR).
Runs On
What it takes to serve vi-sign-language-videomae-base (86M parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.
| Precision | Weights | Memory needed | Cheapest setup | Per hour | Also fits |
|---|---|---|---|---|---|
| 16-bit | 0.2 GB | 0.2 GB | 1x MI300X (192 GB) Vultr |
$1.85 | 1x H100 $1.99 · 1x MI325X $2.00 |
| 8-bit | 0.1 GB | 0.1 GB | 1x MI300X (192 GB) Vultr |
$1.85 | 1x H100 $1.99 · 1x MI325X $2.00 |
| 4-bit | 0.0 GB | 0.1 GB | 1x MI300X (192 GB) Vultr |
$1.85 | 1x H100 $1.99 · 1x MI325X $2.00 |
Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Sep 18, 2026.
Model Card
By Star Duong, published under mit, revision 9759fc78b5d6.
This repository houses a fine-tuned VideoMAE (Base) model optimized for multi-class Vietnamese Sign Language Recognition (VSLR). The model architecture adapts self-supervised video representations to accurately classify short video clips of sign gestures into distinct Vietnamese text labels. The model processes short video sequences by partitioning them into spatiotemporal patches, mapping sequential gestures (such as "Ăn", "Bệnh viện", "Xin lỗi") to their corresponding semantic classes. The training routine was monitored closely across key evaluation metrics to prevent overfitting while maximizing classification accuracy on the validation split. The plot below illustrates the progression…
Read Star Duong's full model card
Vietnamese Sign Language Recognition (VSLR) Model
This repository houses a fine-tuned VideoMAE (Base) model optimized for multi-class Vietnamese Sign Language Recognition (VSLR). The model architecture adapts self-supervised video representations to accurately classify short video clips of sign gestures into distinct Vietnamese text labels.
Model Description
- Base Architecture: MCG-NJU/videomae-base-finetuned-kinetics (Video Masked Autoencoders)
- Dataset utilized: star092304/ViSignLanguage-Video
- Task: Multi-class Video Classification (Spatiotemporal Feature Extraction)
- Target Language: Vietnamese Sign Language (VNSL)
The model processes short video sequences by partitioning them into spatiotemporal patches, mapping sequential gestures (such as "Ăn", "Bệnh viện", "Xin lỗi") to their corresponding semantic classes.
Training & Evaluation Visualizations
The training routine was monitored closely across key evaluation metrics to prevent overfitting while maximizing classification accuracy on the validation split.
1. Training and Validation Metrics
The plot below illustrates the progression of accuracy, precision, recall, and F1-score across successive training epochs.
2. Loss Curves
The loss progression shows stable convergence, highlighting the adaptation of downstream spatiotemporal features from the initial Kinetics-400 pretraining weights.
Inference & Usage
The following example is adapted from inference/inference_for_colab.ipynb and demonstrates how to run local inference using the fine-tuned VideoMAE model.
Prerequisites
pip install transformers torch decord huggingface-hub
Python Inference Example
import torch
import torch.nn as nn
import numpy as np
from transformers import VideoMAEImageProcessor, VideoMAEForVideoClassification
from decord import VideoReader, cpu
from huggingface_hub import hf_hub_download
MODEL_NAME = "star092304/vi-sign-language-videomae-base"
VIDEO_PATH = "path_to_a_test_sign_video.mp4"
NUM_FRAMES = 16
DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
processor = VideoMAEImageProcessor.from_pretrained(MODEL_NAME)
model = VideoMAEForVideoClassification.from_pretrained(
MODEL_NAME,
ignore_mismatched_sizes=True,
)
# Rebuild the sequential classifier head exactly as used in the original notebook.
in_features = model.classifier.in_features
NUM_CLASSES = model.config.num_labels
model.classifier = nn.Sequential(
nn.LayerNorm(in_features),
nn.Dropout(0.3),
nn.Linear(in_features, NUM_CLASSES),
)
seq_ckpt_path = hf_hub_download(
repo_id=MODEL_NAME,
filename="classifier_sequential.pth",
)
seq_sd = torch.load(seq_ckpt_path, map_location="cpu", weights_only=True)
model.load_state_dict(seq_sd, strict=False)
model = model.to(DEVICE)
model.eval()
def load_video(video_path: str, num_frames: int = 16) -> list:
vr = VideoReader(video_path, ctx=cpu(0))
total = len(vr)
indices = np.linspace(0, total - 1, num_frames).astype(int)
frames = vr.get_batch(indices).asnumpy()
return list(frames)
frames = load_video(VIDEO_PATH, num_frames=NUM_FRAMES)
inputs = processor(frames, return_tensors="pt")
inputs = {k: v.to(DEVICE) for k, v in inputs.items()}
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
pred_id = logits.argmax(-1).item()
pred_label = model.config.id2label[pred_id]
probs = torch.softmax(logits, dim=-1)[0]
print(f"Predicted class : {pred_label}")
print(f"Class ID : {pred_id}")
print(f"Confidence : {probs[pred_id].item():.4f}")
print("\nTop-5 predictions:")
for rank, idx in enumerate(torch.argsort(probs, descending=True)[:5], 1):
idx = idx.item()
print(f" {rank}. [{idx:3d}] {model.config.id2label[idx]:<30s} {probs[idx].item():.4f}")
Acknowledgments
- Dataset source: The star092304/ViSignLanguage-Video collection, originally hosted via the PTIT AI Challenge platform.
- Pretrained Weights: Multimedia Computing Group, Nanjing University (MCG-NJU).
Configuration
- Architecture
- VideoMAEForVideoClassification
- Layers
- 12
- Hidden size
- 768
- Feed-forward size
- 3,072
- Attention heads
- 12
- Model type
- videomae
Identity and Version
- Repository
- star092304/vi-sign-language-videomae-base
- Publisher
- Star Duong
- Task
- Video classification
- Modality
- Video
- Library
- transformers
- Parameters
- 86M parameters
- Languages
- vi
- Revision
- 9759fc78b5d69625317bb658b4104040f9427fa3
- First published
- 2026-05-31
- Last updated
- 2026-05-31
Files and Weights
14 files, 1.0 GB in total. The weights are 3 files totalling 1.0 GB in pth, safetensors.
Every file
| File | Type | Size | SHA-256 |
|---|---|---|---|
| classifier_sequential.pth | Weights | 345.3 MB | 139dcb459071 |
| model.safetensors | Weights | 345.2 MB | c845a9922dc1 |
| videomae_best_model.pth | Weights | 345.3 MB | 050f2154d641 |
| config.json | Configuration | 5.9 KB | — |
| preprocessor_config.json | Configuration | 415 B | — |
| README.md | Documentation | 4.9 KB | — |
| inference/inference_for_colab.ipynb | Other | 30.0 KB | — |
| label_mapping.pkl | Other | 1.3 KB | d57950c25dcf |
| src/pipeline_VideoMAE.ipynb | Other | 82.0 KB | — |
| test/cv_submission.csv | Other | 60.4 KB | — |
| test/public_test.csv | Other | 34.4 KB | — |
| training_plots/loss.png | Other | 32.9 KB | — |
| training_plots/metrics.png | Other | 41.1 KB | — |
| .gitattributes | Repository | 1.5 KB | — |
License and Download
- License
- mit
- Access
- Open weights, no gate
- Download size
- 1.0 GB
Released by Star Duong through its official repository on Hugging Face. Read the license.
Built From
- Derived from MCG-NJU/videomae-base-finetuned-kinetics
- Trained on (disclosed) star092304/ViSignLanguage-Video
Memory Requirements
| Precision | Weights in memory |
|---|---|
| As published | 1.0 GB |
| 16-bit | 0.2 GB |
| 8-bit | 0.1 GB |
| 4-bit | 0.0 GB |
Weights only, from the published parameter count; the key-value cache and runtime add to this.
Questions About vi-sign-language-videomae-base
How much GPU memory does vi-sign-language-videomae-base need?
About 0.2 GB at 16-bit and 0.1 GB at 4-bit: the weights (86M parameters) plus a working margin. A long context needs more.
What is the cheapest GPU to run vi-sign-language-videomae-base on?
At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.
Can I use vi-sign-language-videomae-base commercially?
Yes. vi-sign-language-videomae-base is released under MIT License. The MIT License is a short permissive license. It permits commercial use, modification and redistribution, provided the copyright notice and permission notice are included.
Similar Models
This model is a fine-tuned version of MCG-NJU/videomae-base on an unknown dataset. It achieves the following results on the evaluation set: The following hyperparameters were used during training: - learningrate: 5e-05 - trainbatchsize: 8 - evalbatchsize: 8 - lrschedulertype: linear - trainingsteps: 370 - Transformers 5.16.1 - Pytorch 2.11.0+cu128 - Datasets 5.0.1 - Tokenizers 0.23.1
This model is a fine-tuned version of MCG-NJU/videomae-base for binary violence classification (violent / non-violent). It builds on Nikeytas/videomae-crime-detector-production-v1, which was itself fine-tuned from videomae-base on a subset of UCF Crime. Starting from that checkpoint, this model was further fine-tuned on the Bus Violence Dataset to close the domain gap to public-transport surveillance footage. - UCF Crime (jinmang2/ucfcrime) — inherited from the base checkpoint - Bus Violence Dataset (Zenodo) — real moving-bus footage, binary violent / non-violent labels, used for domain-specific fine-tuning Evaluated on a held-out Bus Violence Dataset test split (n = 280). The base…
Model · Video classification
videomae-base-finetuned-kinetics-violence-nonviolence-tuned
This model is a fine-tuned version of MCG-NJU/videomae-base-finetuned-kinetics on an unknown dataset. It achieves the following results on the evaluation set: The following hyperparameters were used during training: - learningrate: 5e-05 - trainbatchsize: 16 - evalbatchsize: 16 - lrschedulertype: linear - lrschedulerwarmupratio: 0.1 - trainingsteps: 348 - Transformers 4.49.0 - Pytorch 2.6.0+cu126 - Datasets 3.3.2 - Tokenizers 0.21.0
VideoMAEv2-Base model pre-trained for 800 epochs in a self-supervised way on UnlabeldHybrid-1M dataset. It was introduced in the paper [[CVPR23]VideoMAE V2: Scaling Video Masked Autoencoders with Dual Masking](https://arxiv.org/abs/2203.12602) by Wang et al. and first released in GitHub. You can use the raw model for video feature extraction. Here is how to use this model to extract a video feature
Model · Video classification
videomae-base-finetuned-kinetics
VideoMAE model pre-trained for 1600 epochs in a self-supervised way and fine-tuned in a supervised way on Kinetics-400. It was introduced in the paper VideoMAE: Masked Autoencoders are Data-Efficient Learners for Self-Supervised Video Pre-Training by Tong et al. and first released in this repository. Disclaimer: The team releasing VideoMAE did not write a model card for this model so this model card has been written by the Hugging Face team. VideoMAE is an extension of Masked Autoencoders (MAE) to video. The architecture of the model is very similar to that of a standard Vision Transformer (ViT), with a decoder on top for predicting pixel values for masked patches. Videos are presented to…