{"id":19137486,"url":"https://github.com/dsaurus/threestudio-stable-nerf-renderer","last_synced_at":"2026-06-20T13:31:15.690Z","repository":{"id":210366409,"uuid":"726116722","full_name":"DSaurus/threestudio-stable-nerf-renderer","owner":"DSaurus","description":null,"archived":false,"fork":false,"pushed_at":"2023-12-19T12:08:19.000Z","size":26,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-13T13:26:06.253Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DSaurus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-01T15:11:42.000Z","updated_at":"2025-10-14T03:41:44.000Z","dependencies_parsed_at":"2023-12-19T14:57:25.770Z","dependency_job_id":"e3bb70dc-f740-45d6-a564-316f976bce8b","html_url":"https://github.com/DSaurus/threestudio-stable-nerf-renderer","commit_stats":null,"previous_names":["dsaurus/threestudio-stable-nerf-renderer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DSaurus/threestudio-stable-nerf-renderer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSaurus%2Fthreestudio-stable-nerf-renderer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSaurus%2Fthreestudio-stable-nerf-renderer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSaurus%2Fthreestudio-stable-nerf-renderer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSaurus%2Fthreestudio-stable-nerf-renderer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DSaurus","download_url":"https://codeload.github.com/DSaurus/threestudio-stable-nerf-renderer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSaurus%2Fthreestudio-stable-nerf-renderer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34572423,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T06:38:33.772Z","updated_at":"2026-06-20T13:31:15.674Z","avatar_url":"https://github.com/DSaurus.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# threestudio-stable-nerf-renderer\nStable nerf renderer is an extension of threestudio, which reduces and stabilize VRAM usage in 3D generation process. To use it, please install [threestudio](https://github.com/threestudio-project/threestudio) first and then install this extension in threestudio `custom` directory.\n\n## Installation\n```\ncd custom\ngit clone https://github.com/DSaurus/threestudio-stable-nerf-renderer.git\n```\n\n## How does it work?\nThe GPU memory usage during training with high-resolution settings is currently unstable, leading to OOM errors. The primary factor contributing to this issue is the grid_prune function in Nerfacc, resulting in an uncertain number of points in each iteration. To address this issue and stabilize the GPU memory usage, I propose the following methods:\n\n- Limiting the maximum number of sampling points that require gradient computation.\n- Dividing the entire rendering image into multiple blocks to stabilize the peak memory usage.\n\nBased on my experiment with NeRF 512x512 rendering, using 6000000 points for gradient calculation consumes about 21GB of memory, while Nerf integration requires about 16 GB. Therefore, my configuration is as follows:\n\n```\nrenderer_type: \"stable-nerf-volume-renderer\"\nrenderer:\n    base_renderer_type: \"mask-nerf-volume-renderer\"\n    base_renderer:\n        radius: ${system.geometry.radius}\n        num_samples_per_ray: 512\n        train_max_nums: 6000000\n    block_nums: [3,3]\n```\n\nBy utilizing the proposed configuration, the memory usage will be stabilized at ~23GB (21 + 16/(3*3)).\n\n![memory](https://github.com/threestudio-project/threestudio/assets/24589363/4bdad3ce-dd92-45d4-9334-0624c65d16fe)\n\n## More examples (coming soon)\n\u003c!-- ```\n# run 4D-fy\nrenderer_type: \"stable-nerf-volume-renderer\"\nrenderer:\nbase_renderer_type: \"mask-nerf-volume-renderer\"\nbase_renderer:\n    radius: ${system.geometry.radius}\n    num_samples_per_ray: 512\n    train_max_nums: 3000000\n``` --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsaurus%2Fthreestudio-stable-nerf-renderer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdsaurus%2Fthreestudio-stable-nerf-renderer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsaurus%2Fthreestudio-stable-nerf-renderer/lists"}