{"adoption": {"forks": 233, "observed_at": "2026-08-28T04:03:32.458079+00:00", "stars": 1088}, "canonical_url": "https://ross.abutalabs.com/products/yu4u-noise2noise", "card": {"archived": false, "artifact_type": "library", "description": "An unofficial and partial Keras implementation of \"Noise2Noise: Learning Image Restoration without Clean Data\"", "domain": ["machine-learning", "computer-vision", "image-processing"], "enriched": true, "function": ["machine-learning", "deep-learning", "image-processing"], "health_score": 20, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["yu4u/noise2noise"], "name": "yu4u/noise2noise", "platform": ["python"], "pushed_at": "2021-08-12T12:14:29+00:00", "repo": "yu4u/noise2noise", "stars": 1088, "tags": ["noise2noise", "denoising", "keras", "tensorflow", "image-restoration", "unofficial-implementation"], "topics": ["noise2noise", "deep-learning", "convolutional-neural-networks", "denoising", "keras"], "urls": [], "use_cases": ["denoise images without clean reference data", "train a noise2noise denoising model in Keras", "experiment with L0 loss for impulse noise removal", "compare noise2noise training vs standard clean-target training", "remove text overlays from images with a CNN"], "what_it_is": "An unofficial, partial Keras implementation of the Noise2Noise paper for learning image restoration without clean training data. It trains denoising models (SRResNet or UNet) using pairs of noisy images with Gaussian, text, and impulse noise models.", "when_to_avoid": ["you need the exact RED30 model or full reproduction of the paper", "you need a maintained, production-grade denoising library", "you use PyTorch or need modern TensorFlow 2.x support"], "when_to_choose": ["you want a simple, readable Keras implementation of noise2noise for learning or research", "you need to train denoising models on noisy-noise image pairs", "you work in the Keras/TensorFlow ecosystem"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/yu4u-noise2noise", "repo": "yu4u/noise2noise", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.458079+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:49:24.340452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9353b39574367cd4d9f1abb830468137372530d27252c5382abdc5a6b65c37a", "fetched_at": "2026-08-28T04:03:32.458079+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yu4u/noise2noise"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.458079+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:49:24.340452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9353b39574367cd4d9f1abb830468137372530d27252c5382abdc5a6b65c37a", "fetched_at": "2026-08-28T04:03:32.458079+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yu4u/noise2noise"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:49:24.340452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9353b39574367cd4d9f1abb830468137372530d27252c5382abdc5a6b65c37a", "fetched_at": "2026-08-28T04:03:32.458079+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yu4u/noise2noise"}], "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:03:32.458079+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.458079+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.458079+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:49:24.340452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9353b39574367cd4d9f1abb830468137372530d27252c5382abdc5a6b65c37a", "fetched_at": "2026-08-28T04:03:32.458079+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yu4u/noise2noise"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.458079+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.458079+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:49:24.340452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9353b39574367cd4d9f1abb830468137372530d27252c5382abdc5a6b65c37a", "fetched_at": "2026-08-28T04:03:32.458079+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yu4u/noise2noise"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.458079+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.458079+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.458079+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:49:24.340452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9353b39574367cd4d9f1abb830468137372530d27252c5382abdc5a6b65c37a", "fetched_at": "2026-08-28T04:03:32.458079+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yu4u/noise2noise"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.458079+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:32.458079+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:49:24.340452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9353b39574367cd4d9f1abb830468137372530d27252c5382abdc5a6b65c37a", "fetched_at": "2026-08-28T04:03:32.458079+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yu4u/noise2noise"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:49:24.340452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9353b39574367cd4d9f1abb830468137372530d27252c5382abdc5a6b65c37a", "fetched_at": "2026-08-28T04:03:32.458079+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yu4u/noise2noise"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:49:24.340452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9353b39574367cd4d9f1abb830468137372530d27252c5382abdc5a6b65c37a", "fetched_at": "2026-08-28T04:03:32.458079+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yu4u/noise2noise"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:49:24.340452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9353b39574367cd4d9f1abb830468137372530d27252c5382abdc5a6b65c37a", "fetched_at": "2026-08-28T04:03:32.458079+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yu4u/noise2noise"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2967, "days_push": 1847, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}