Image-Text-to-Text
Safetensors
MLX
mlx-vlm
indic_ocr
ocr
document-parsing
layout-analysis
reading-order
indic
Instructions to use HashNuke/indic-ocr-mlx with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use HashNuke/indic-ocr-mlx with MLX:
# Make sure mlx-vlm is installed # pip install --upgrade mlx-vlm from mlx_vlm import load, generate from mlx_vlm.prompt_utils import apply_chat_template from mlx_vlm.utils import load_config # Load the model model, processor = load("HashNuke/indic-ocr-mlx") config = load_config("HashNuke/indic-ocr-mlx") # Prepare input image = ["http://images.cocodataset.org/val2017/000000039769.jpg"] prompt = "Describe this image." # Apply chat template formatted_prompt = apply_chat_template( processor, config, prompt, num_images=1 ) # Generate output output = generate(model, processor, formatted_prompt, image) print(output) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
| { | |
| "activation_dropout": 0.0, | |
| "activation_function": "silu", | |
| "anchor_image_size": null, | |
| "architectures": [ | |
| "PPDocLayoutV3Trainable" | |
| ], | |
| "attention_dropout": 0.0, | |
| "auxiliary_loss": true, | |
| "backbone": null, | |
| "backbone_config": { | |
| "arch": "L", | |
| "depths": [ | |
| 3, | |
| 4, | |
| 6, | |
| 3 | |
| ], | |
| "dtype": "float32", | |
| "embedding_size": 64, | |
| "freeze_at": 0, | |
| "freeze_norm": true, | |
| "freeze_stem_only": true, | |
| "hidden_act": "relu", | |
| "hidden_sizes": [ | |
| 256, | |
| 512, | |
| 1024, | |
| 2048 | |
| ], | |
| "initializer_range": 0.02, | |
| "lr_mult_list": [ | |
| 0, | |
| 0.05, | |
| 0.05, | |
| 0.05, | |
| 0.05 | |
| ], | |
| "model_type": "hgnet_v2", | |
| "num_channels": 3, | |
| "out_features": [ | |
| "stage1", | |
| "stage2", | |
| "stage3", | |
| "stage4" | |
| ], | |
| "out_indices": [ | |
| 1, | |
| 2, | |
| 3, | |
| 4 | |
| ], | |
| "return_idx": [ | |
| 0, | |
| 1, | |
| 2, | |
| 3 | |
| ], | |
| "stage_downsample": [ | |
| false, | |
| true, | |
| true, | |
| true | |
| ], | |
| "stage_downsample_strides": [ | |
| 2, | |
| 2, | |
| 2, | |
| 2 | |
| ], | |
| "stage_in_channels": [ | |
| 48, | |
| 128, | |
| 512, | |
| 1024 | |
| ], | |
| "stage_kernel_size": [ | |
| 3, | |
| 3, | |
| 5, | |
| 5 | |
| ], | |
| "stage_light_block": [ | |
| false, | |
| false, | |
| true, | |
| true | |
| ], | |
| "stage_mid_channels": [ | |
| 48, | |
| 96, | |
| 192, | |
| 384 | |
| ], | |
| "stage_names": [ | |
| "stem", | |
| "stage1", | |
| "stage2", | |
| "stage3", | |
| "stage4" | |
| ], | |
| "stage_num_blocks": [ | |
| 1, | |
| 1, | |
| 3, | |
| 1 | |
| ], | |
| "stage_numb_of_layers": [ | |
| 6, | |
| 6, | |
| 6, | |
| 6 | |
| ], | |
| "stage_out_channels": [ | |
| 128, | |
| 512, | |
| 1024, | |
| 2048 | |
| ], | |
| "stem_channels": [ | |
| 3, | |
| 32, | |
| 48 | |
| ], | |
| "stem_strides": [ | |
| 2, | |
| 1, | |
| 1, | |
| 2, | |
| 1 | |
| ], | |
| "use_learnable_affine_block": false | |
| }, | |
| "batch_norm_eps": 1e-05, | |
| "box_noise_scale": 1.0, | |
| "d_model": 256, | |
| "decoder_activation_function": "relu", | |
| "decoder_attention_heads": 8, | |
| "decoder_ffn_dim": 1024, | |
| "decoder_in_channels": [ | |
| 256, | |
| 256, | |
| 256 | |
| ], | |
| "decoder_layers": 6, | |
| "decoder_n_points": 4, | |
| "disable_custom_kernels": true, | |
| "dropout": 0.0, | |
| "dtype": "float32", | |
| "encode_proj_layers": [ | |
| 2 | |
| ], | |
| "encoder_activation_function": "gelu", | |
| "encoder_attention_heads": 8, | |
| "encoder_ffn_dim": 1024, | |
| "encoder_hidden_dim": 256, | |
| "encoder_in_channels": [ | |
| 512, | |
| 1024, | |
| 2048 | |
| ], | |
| "encoder_layers": 1, | |
| "eos_coefficient": 0.0001, | |
| "eval_size": null, | |
| "feat_strides": [ | |
| 8, | |
| 16, | |
| 32 | |
| ], | |
| "feature_strides": [ | |
| 8, | |
| 16, | |
| 32 | |
| ], | |
| "focal_loss_alpha": 0.25, | |
| "focal_loss_gamma": 2.0, | |
| "freeze_backbone_batch_norms": true, | |
| "global_pointer_head_size": 64, | |
| "gp_dropout_value": 0.1, | |
| "hidden_expansion": 1.0, | |
| "id2label": { | |
| "0": "Question", | |
| "1": "Paragraph", | |
| "2": "Answer", | |
| "3": "List", | |
| "4": "Title", | |
| "5": "Section-title", | |
| "6": "Equation", | |
| "7": "Table", | |
| "8": "Diagram", | |
| "9": "Image", | |
| "10": "MCQ", | |
| "11": "Infobox", | |
| "12": "Sub-section-title", | |
| "13": "Expression", | |
| "14": "Image-caption", | |
| "15": "Placeholder-text", | |
| "16": "Chart", | |
| "17": "Solved-example", | |
| "18": "Footnote", | |
| "19": "Table-caption", | |
| "20": "Sub-sub-section-title", | |
| "21": "Footer", | |
| "22": "Header", | |
| "23": "Code", | |
| "24": "Page-number", | |
| "25": "Chapter-title", | |
| "26": "Chapter-end-section", | |
| "27": "Folio", | |
| "28": "Reference", | |
| "29": "Table-of-contents", | |
| "30": "Index", | |
| "31": "Advertisement", | |
| "32": "Author", | |
| "33": "Dateline", | |
| "34": "Contact-info", | |
| "35": "Website-link", | |
| "36": "Flag" | |
| }, | |
| "initializer_bias_prior_prob": null, | |
| "initializer_range": 0.01, | |
| "is_encoder_decoder": true, | |
| "label2id": { | |
| "Advertisement": 31, | |
| "Answer": 2, | |
| "Author": 32, | |
| "Chapter-end-section": 26, | |
| "Chapter-title": 25, | |
| "Chart": 16, | |
| "Code": 23, | |
| "Contact-info": 34, | |
| "Dateline": 33, | |
| "Diagram": 8, | |
| "Equation": 6, | |
| "Expression": 13, | |
| "Flag": 36, | |
| "Folio": 27, | |
| "Footer": 21, | |
| "Footnote": 18, | |
| "Header": 22, | |
| "Image": 9, | |
| "Image-caption": 14, | |
| "Index": 30, | |
| "Infobox": 11, | |
| "List": 3, | |
| "MCQ": 10, | |
| "Page-number": 24, | |
| "Paragraph": 1, | |
| "Placeholder-text": 15, | |
| "Question": 0, | |
| "Reference": 28, | |
| "Section-title": 5, | |
| "Solved-example": 17, | |
| "Sub-section-title": 12, | |
| "Sub-sub-section-title": 20, | |
| "Table": 7, | |
| "Table-caption": 19, | |
| "Table-of-contents": 29, | |
| "Title": 4, | |
| "Website-link": 35 | |
| }, | |
| "label_noise_ratio": 0.5, | |
| "lambda_order": 5.0, | |
| "layer_norm_eps": 1e-05, | |
| "learn_initial_query": false, | |
| "loss_type": "RTDetrForObjectDetection", | |
| "mask_enhanced": true, | |
| "mask_feature_channels": [ | |
| 64, | |
| 64 | |
| ], | |
| "matcher_alpha": 0.25, | |
| "matcher_bbox_cost": 5.0, | |
| "matcher_class_cost": 2.0, | |
| "matcher_gamma": 2.0, | |
| "matcher_giou_cost": 2.0, | |
| "model_type": "pp_doclayout_v3", | |
| "normalize_before": false, | |
| "num_denoising": 0, | |
| "num_feature_levels": 3, | |
| "num_prototypes": 32, | |
| "num_queries": 300, | |
| "positional_encoding_temperature": 10000, | |
| "tie_word_embeddings": true, | |
| "transformers_version": "5.8.1", | |
| "use_cache": false, | |
| "use_focal_loss": true, | |
| "weight_loss_bbox": 5.0, | |
| "weight_loss_giou": 2.0, | |
| "weight_loss_vfl": 1.0, | |
| "x4_feat_dim": 128 | |
| } | |