{"adoption": {"forks": 823, "observed_at": "2026-08-28T04:07:49.411997+00:00", "stars": 3213}, "canonical_url": "https://ross.abutalabs.com/products/captcha_trainer", "card": {"archived": false, "artifact_type": "application", "description": "[验证码识别-训练] This project is based on CNN/ResNet/DenseNet+GRU/LSTM+CTC/CrossEntropy to realize verification code identification. This project is only for training the model.", "domain": ["machine-learning", "computer-vision", "image-processing", "developer-tools"], "enriched": true, "function": ["machine-learning", "deep-learning", "ocr", "image-processing", "llm-training"], "health_score": 51, "homepage": null, "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["kerlomz/captcha_trainer"], "name": "kerlomz/captcha_trainer", "platform": ["windows", "python", "cross-platform"], "pushed_at": "2025-11-09T11:37:45+00:00", "repo": "kerlomz/captcha_trainer", "stars": 3213, "tags": ["captcha-recognition", "tensorflow", "ocr-training", "ctc-loss", "model-training", "gui", "no-code", "gpu"], "topics": ["captcha-recognition", "tensorflow-tutorials", "ocr", "tensorflow"], "urls": [], "use_cases": ["train a model to recognize image captchas", "build an OCR model for distorted text images without coding", "train text recognition models with CTC loss", "create image classification models from labeled samples", "recognize captchas with overlapping or rotated characters"], "what_it_is": "A deep learning training tool for image CAPTCHA recognition built on TensorFlow, using CNN/ResNet/DenseNet backbones with GRU/LSTM recurrent layers and CTC/CrossEntropy decoding. It offers a visual, code-free workflow for training OCR models that can be exported and deployed via a companion serving platform.", "when_to_avoid": ["you need a ready-made inference/serving solution rather than training (use the companion deployment project)", "you work outside TensorFlow 1.x ecosystems or need PyTorch", "you need general-purpose document OCR rather than short text/captcha recognition"], "when_to_choose": []}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/captcha_trainer", "repo": "kerlomz/captcha_trainer", "role": "main", "score": 55}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.411997+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:24:42.099898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a295291de6468ab5f5e6bd68a564ba89a258e145fd75394651fb6237ecf21d61", "fetched_at": "2026-08-28T04:07:49.411997+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kerlomz/captcha_trainer"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.411997+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:24:42.099898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a295291de6468ab5f5e6bd68a564ba89a258e145fd75394651fb6237ecf21d61", "fetched_at": "2026-08-28T04:07:49.411997+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kerlomz/captcha_trainer"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:24:42.099898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a295291de6468ab5f5e6bd68a564ba89a258e145fd75394651fb6237ecf21d61", "fetched_at": "2026-08-28T04:07:49.411997+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kerlomz/captcha_trainer"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.411997+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.411997+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.411997+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:24:42.099898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a295291de6468ab5f5e6bd68a564ba89a258e145fd75394651fb6237ecf21d61", "fetched_at": "2026-08-28T04:07:49.411997+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kerlomz/captcha_trainer"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.411997+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.411997+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:24:42.099898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a295291de6468ab5f5e6bd68a564ba89a258e145fd75394651fb6237ecf21d61", "fetched_at": "2026-08-28T04:07:49.411997+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kerlomz/captcha_trainer"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.411997+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.411997+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.411997+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:24:42.099898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a295291de6468ab5f5e6bd68a564ba89a258e145fd75394651fb6237ecf21d61", "fetched_at": "2026-08-28T04:07:49.411997+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kerlomz/captcha_trainer"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.411997+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.411997+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:24:42.099898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a295291de6468ab5f5e6bd68a564ba89a258e145fd75394651fb6237ecf21d61", "fetched_at": "2026-08-28T04:07:49.411997+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kerlomz/captcha_trainer"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:24:42.099898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a295291de6468ab5f5e6bd68a564ba89a258e145fd75394651fb6237ecf21d61", "fetched_at": "2026-08-28T04:07:49.411997+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kerlomz/captcha_trainer"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:24:42.099898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a295291de6468ab5f5e6bd68a564ba89a258e145fd75394651fb6237ecf21d61", "fetched_at": "2026-08-28T04:07:49.411997+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kerlomz/captcha_trainer"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:24:42.099898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a295291de6468ab5f5e6bd68a564ba89a258e145fd75394651fb6237ecf21d61", "fetched_at": "2026-08-28T04:07:49.411997+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kerlomz/captcha_trainer"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 51, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2938, "days_push": 297, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 55, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}