jaddai/minicpm-v46-strict-cycle-runpod-serverless
MiniCPM Strict Caption Harness Strict 9-field cycling harness for MiniCPM-V-4.6 v2 captions. The harness asks the model for one field at a time, cleans each field, and assembles the final caption with deterministic v2 headers. Smoke test without loading the model: cd /Users/dustinpainter/datasets/image-datasets PYTHONPATH=tools/mini-cap-harness python3 tools/mini-cap-harness/run_strict_cycle.py \ --backend mock \ --input… See the full description on the dataset page: https://huggingface.co/datasets/jaddai/minicpm-v46-strict-cycle-runpod-serverless.
MiniCPM Strict Caption Harness
Strict 9-field cycling harness for MiniCPM-V-4.6 v2 captions. The harness asks the model for one field at a time, cleans each field, and assembles the final caption with deterministic v2 headers.
Smoke test without loading the model:
cd /Users/dustinpainter/datasets/image-datasets
PYTHONPATH=tools/mini-cap-harness python3 tools/mini-cap-harness/run_strict_cycle.py \
--backend mock \
--input /Users/dustinpainter/Dev-Projects/mlx-experiments/training_outputs/minicpm_v46_caption_sft_dataset_v2_embed_full_delta_20260625/canary/qual_images_12 \
--limit 2 \
--output-dir workspace/mini-cap-harness/smoke-mockSelect the 100-image eval slate from DINO image embeddings:
cd /Users/dustinpainter/datasets/image-datasets
PYTHONPATH=tools/mini-cap-harness python3 tools/mini-cap-harness/select_eval_images.py \
--count 100 \
--output-dir workspace/mini-cap-harness/eval-100-selectionThe selected image list is:
/Users/dustinpainter/datasets/image-datasets/workspace/mini-cap-harness/eval-100-selection/selected_images.txtRunPod/CUDA support lives in runpod/. It adds a PyTorch backend that can load a PyTorch base model and map the raw MLX adapter into matching torch.nn.Linear modules. Always run inspect_torch_adapter.py on the pod before trusting a CUDA eval.
Prepared 100-image real run command. Do not run this while production training is using most unified memory:
cd /Users/dustinpainter/datasets/image-datasets
PYTHONPATH=tools/mini-cap-harness:/Users/dustinpainter/Dev-Projects/mlx-experiments:/Users/dustinpainter/Dev-Projects/mlx-experiments/mflux/src \
/Users/dustinpainter/Dev-Projects/mlx-experiments/.venv-mlx-fork/bin/python \
tools/mini-cap-harness/run_strict_cycle.py \
--backend mlx-vlm \
--input /Users/dustinpainter/datasets/image-datasets/workspace/mini-cap-harness/eval-100-selection/selected_images.txt \
--limit 100 \
--model-path /Users/dustinpainter/.lmstudio/models/vanch007/Huihui-MiniCPM-V-4.6-abliterated-mlx-bf16 \
--adapter-file /Users/dustinpainter/Dev-Projects/mlx-experiments/training_outputs/minicpm_v46_v2_captioner_allvision_r512a256_lr1e6_prod_chunk_20260627_073556/ema_adapters.safetensors \
--output-dir workspace/mini-cap-harness/eval-100