{"adoption": {"forks": 955, "observed_at": "2026-08-28T04:09:29.859360+00:00", "stars": 5805}, "canonical_url": "https://ross.abutalabs.com/products/mmdnn", "card": {"archived": false, "artifact_type": "library", "description": "MMdnn is a set of tools to help users inter-operate among different deep learning frameworks. E.g. model conversion and visualization. Convert models between Caffe, Keras, MXNet, Tensorflow, CNTK, PyTorch Onnx and CoreML.", "domain": ["deep-learning", "machine-learning", "developer-tools"], "enriched": true, "function": ["machine-learning", "deep-learning", "developer-tools", "data-visualization"], "health_score": 41, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["microsoft/MMdnn"], "name": "microsoft/MMdnn", "platform": ["python", "cross-platform"], "pushed_at": "2025-08-07T06:18:09+00:00", "repo": "microsoft/MMdnn", "stars": 5805, "tags": ["model-conversion", "model-converter", "onnx", "tensorflow", "pytorch", "keras", "caffe", "mxnet", "coreml", "cntk", "darknet", "model-visualization", "interoperability"], "topics": ["cntk", "visualization", "tensorflow", "model-converter", "pytorch", "caffe", "keras", "mxnet", "coreml", "onnx", "darknet"], "urls": [], "use_cases": ["convert a pytorch model to tensorflow", "convert keras model to onnx", "visualize deep learning model architecture", "train a model in one framework and deploy in another", "convert caffe model to pytorch", "prepare a model for tensorrt inference", "find popular pretrained deep learning models"], "what_it_is": "MMdnn is a Microsoft toolkit for converting, visualizing, and diagnosing deep learning models across frameworks such as TensorFlow, PyTorch, Keras, Caffe, MXNet, CNTK, ONNX, and CoreML. It also generates code snippets for retraining and provides a model collection and network architecture visualizer.", "when_to_avoid": ["you only need modern framework-to-ONNX conversion, which native exporters handle better", "you need actively maintained tooling with support for the latest framework versions", "you need quantization or model compression features"], "when_to_choose": ["you need to move a trained model between deep learning frameworks", "you want a visual graph of a model's network architecture", "you work with legacy frameworks like Caffe, CNTK, or MXNet", "you need code snippets to retrain a converted model"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mmdnn", "repo": "microsoft/MMdnn", "role": "main", "score": 39}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.859360+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:52:44.414536+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07c449f99bf3dc2ff83f5a8f90c314ab5ba92d9fccc27be724f2f12c1512fa83", "fetched_at": "2026-08-28T04:09:29.859360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/MMdnn"}, {"content_hash": "42ab7cfd30baa958b6a8b3814212c0760c5ec9ce8b1511c42d16c91cc20270a0", "fetched_at": "2026-08-29T08:47:47.753742+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmdnn/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.859360+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:52:44.414536+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07c449f99bf3dc2ff83f5a8f90c314ab5ba92d9fccc27be724f2f12c1512fa83", "fetched_at": "2026-08-28T04:09:29.859360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/MMdnn"}, {"content_hash": "42ab7cfd30baa958b6a8b3814212c0760c5ec9ce8b1511c42d16c91cc20270a0", "fetched_at": "2026-08-29T08:47:47.753742+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmdnn/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:52:44.414536+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07c449f99bf3dc2ff83f5a8f90c314ab5ba92d9fccc27be724f2f12c1512fa83", "fetched_at": "2026-08-28T04:09:29.859360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/MMdnn"}, {"content_hash": "42ab7cfd30baa958b6a8b3814212c0760c5ec9ce8b1511c42d16c91cc20270a0", "fetched_at": "2026-08-29T08:47:47.753742+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmdnn/json"}], "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:09:29.859360+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.859360+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.859360+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:52:44.414536+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07c449f99bf3dc2ff83f5a8f90c314ab5ba92d9fccc27be724f2f12c1512fa83", "fetched_at": "2026-08-28T04:09:29.859360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/MMdnn"}, {"content_hash": "42ab7cfd30baa958b6a8b3814212c0760c5ec9ce8b1511c42d16c91cc20270a0", "fetched_at": "2026-08-29T08:47:47.753742+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmdnn/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.859360+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.859360+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:52:44.414536+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07c449f99bf3dc2ff83f5a8f90c314ab5ba92d9fccc27be724f2f12c1512fa83", "fetched_at": "2026-08-28T04:09:29.859360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/MMdnn"}, {"content_hash": "42ab7cfd30baa958b6a8b3814212c0760c5ec9ce8b1511c42d16c91cc20270a0", "fetched_at": "2026-08-29T08:47:47.753742+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmdnn/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.859360+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.859360+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.859360+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:52:44.414536+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07c449f99bf3dc2ff83f5a8f90c314ab5ba92d9fccc27be724f2f12c1512fa83", "fetched_at": "2026-08-28T04:09:29.859360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/MMdnn"}, {"content_hash": "42ab7cfd30baa958b6a8b3814212c0760c5ec9ce8b1511c42d16c91cc20270a0", "fetched_at": "2026-08-29T08:47:47.753742+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmdnn/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.859360+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.859360+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:52:44.414536+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07c449f99bf3dc2ff83f5a8f90c314ab5ba92d9fccc27be724f2f12c1512fa83", "fetched_at": "2026-08-28T04:09:29.859360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/MMdnn"}, {"content_hash": "42ab7cfd30baa958b6a8b3814212c0760c5ec9ce8b1511c42d16c91cc20270a0", "fetched_at": "2026-08-29T08:47:47.753742+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmdnn/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:52:44.414536+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07c449f99bf3dc2ff83f5a8f90c314ab5ba92d9fccc27be724f2f12c1512fa83", "fetched_at": "2026-08-28T04:09:29.859360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/MMdnn"}, {"content_hash": "42ab7cfd30baa958b6a8b3814212c0760c5ec9ce8b1511c42d16c91cc20270a0", "fetched_at": "2026-08-29T08:47:47.753742+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmdnn/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:52:44.414536+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07c449f99bf3dc2ff83f5a8f90c314ab5ba92d9fccc27be724f2f12c1512fa83", "fetched_at": "2026-08-28T04:09:29.859360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/MMdnn"}, {"content_hash": "42ab7cfd30baa958b6a8b3814212c0760c5ec9ce8b1511c42d16c91cc20270a0", "fetched_at": "2026-08-29T08:47:47.753742+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmdnn/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:52:44.414536+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07c449f99bf3dc2ff83f5a8f90c314ab5ba92d9fccc27be724f2f12c1512fa83", "fetched_at": "2026-08-28T04:09:29.859360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/MMdnn"}, {"content_hash": "42ab7cfd30baa958b6a8b3814212c0760c5ec9ce8b1511c42d16c91cc20270a0", "fetched_at": "2026-08-29T08:47:47.753742+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmdnn/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 35, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3304, "days_push": 391, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 39, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}