{ "model_type": "phpwind-captcha-ocr", "task": "captcha-ocr", "framework": "pytorch", "format": "onnx", "onnx_opsets": [18], "num_params": 988786, "input": { "name": "input", "shape": ["batch", 3, 64, 160], "dtype": "float32", "range": [0.0, 1.0] }, "output": { "name": "logits", "shape": ["batch", 4, 10], "dtype": "float32" }, "task_spec": { "num_digits": 4, "charset": "0123456789", "decode": "argmax over last dim per position" }, "preprocessing": { "mode": "RGB", "resize": [160, 64], "resample": "BILINEAR", "denoise": false, "normalize": "divide by 255" }, "training": { "dataset_size": 997, "label_source": "human", "epochs": 500, "best_epoch": 50, "optimizer": "Adam", "learning_rate": 0.001, "lr_scheduler": "ReduceLROnPlateau(patience=10, factor=0.5)", "loss": "sum of 4 CrossEntropy", "augmentation": "rotation ±6 deg, scale 0.92-1.08, translate ±3px, no gaussian noise", "val_split": 0.08 }, "metrics": { "val_accuracy": 0.8861 } }