Views
No views yet
1ASL Citizen processed keypoints-200
2 ↓
3BiGRU + Attention isolated sign recognition model
4 ↓
5Saved isolated encoder checkpoint
6 ↓
7Future transfer to How2Sign CTC modelSharoonArshad/asl-citizen-processed-200(N, 200, 450)1200 = fixed sequence length
2450 = 225 position features + 225 velocity features
3225 = 75 landmarks × 3 coordinates
475 landmarks = 33 pose + 21 left hand + 21 right hand1Input: (B, 200, 450)
2LayerNorm: 450
3Linear Projection: 450 → 256
4BiGRU Encoder: hidden_dim=256, layers=2, bidirectional=True
5Attention Pooling: temporal attention over 200 frames
6Embedding Layer: 512-dimensional representation
7Classifier Head: 200 ASL classes1Optimizer: AdamW
2Learning rate: 3e-4
3Weight decay: 1e-4
4Scheduler: CosineAnnealingLR
5Batch size: 32
6Max epochs: 60
7Early stopping patience: 10
8Dropout: 0.35
9Label smoothing: 0.10
10Gradient clipping: 1.0
11Mixed precision: enabled on GPU1Best epoch: 45
2Best validation top-1 accuracy: 85.47%
3Test loss: 0.9543
4Test correct: 3498/3552
5Test top-1 accuracy: 98.48%
6Test top-5 accuracy: 99.58%
7Test macro F1: 0.9850
8Test weighted F1: 0.9848Validation Top-1 Accuracy: 85.47%1asl_isolated_bigru_attention.zip
2checkpoints/best_bigru_attention_model.pt
3checkpoints/best_isolated_encoder_only.pt
4checkpoints/last_bigru_attention_model.pt
5reports/final_metrics.json
6reports/training_history.csv
7reports/test_classification_report.csv
8reports/test_classification_report.json
9reports/test_confusion_matrix.npy
10metadata/label_to_id.json
11metadata/id_to_label.json
12training_config.jsoncheckpoints/best_bigru_attention_model.ptcheckpoints/best_isolated_encoder_only.ptasl_isolated_bigru_attention.zip1from huggingface_hub import hf_hub_download
2
3repo_id = "SharoonArshad/asl-citizen-bigru-attention-encoder-200"
4
5model_path = hf_hub_download(
6 repo_id=repo_id,
7 repo_type="model",
8 filename="checkpoints/best_bigru_attention_model.pt"
9)
10
11encoder_path = hf_hub_download(
12 repo_id=repo_id,
13 repo_type="model",
14 filename="checkpoints/best_isolated_encoder_only.pt"
15)
16
17print(model_path)
18print(encoder_path)1from huggingface_hub import hf_hub_download
2import zipfile
3from pathlib import Path
4
5repo_id = "SharoonArshad/asl-citizen-bigru-attention-encoder-200"
6
7zip_path = hf_hub_download(
8 repo_id=repo_id,
9 repo_type="model",
10 filename="asl_isolated_bigru_attention.zip"
11)
12
13extract_dir = Path("/kaggle/working/asl_isolated_bigru_attention_loaded")
14extract_dir.mkdir(parents=True, exist_ok=True)
15
16with zipfile.ZipFile(zip_path, "r") as zip_ref:
17 zip_ref.extractall(extract_dir)
18
19print("Extracted to:", extract_dir)A BiGRU with attention pooling was trained on the processed ASL Citizen keypoints-200 dataset for 200 isolated ASL classes. The model achieved 85.47% validation top-1 accuracy and 98.48% test top-1 accuracy, with 99.58% test top-5 accuracy. The trained encoder is saved for future transfer to a CTC-based continuous sign recognition model.