4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-11 02:24:38 +08:00
nerfstudio/quickstart/first_nerf.html
2025-07-29 02:30:47 +00:00

675 lines
56 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html class="no-js" lang="en" >
<head><meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<meta property="og:title" content="Training your first model" />
<meta property="og:type" content="website" />
<meta property="og:url" content="http://docs.nerf.studio/quickstart/first_nerf.html" />
<meta property="og:description" content="Train and run viewer: The following will train a nerfacto model, our recommended model for real world scenes. If everything works, you should see training progress like the following: Navigating to..." />
<meta property="og:image" content="https://assets.nerf.studio/opg.png" />
<meta property="og:image:alt" content="Training your first model" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Using existing data" href="existing_dataset.html" /><link rel="prev" title="Installation" href="installation.html" />
<meta name="generator" content="sphinx-5.2.1, furo 2022.09.29" />
<title>Training your first model - nerfstudio</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="../_static/mystnb.css" />
<link rel="stylesheet" type="text/css" href="../_static/togglebutton.css" />
<link rel="stylesheet" type="text/css" href="../_static/copybutton.css" />
<link rel="stylesheet" type="text/css" href="../_static/design-style.b7bb847fb20b106c3d81b95245e65545.min.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f9fb;
--color-code-foreground: black;
--color-brand-primary: #d34600;
--color-brand-content: #ff6f00;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #282C34;
--color-code-foreground: #ABB2BF;
--color-brand-primary: #fdd06c;
--color-brand-content: ##fea96a;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #282C34;
--color-code-foreground: #ABB2BF;
--color-brand-primary: #fdd06c;
--color-brand-content: ##fea96a;
}
}
}
</style><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
<script src="../_static/clipboard.min.js"></script>
<script src="../_static/copybutton.js"></script>
<script>let toggleHintShow = 'Click to show';</script>
<script>let toggleHintHide = 'Click to hide';</script>
<script>let toggleOpenOnPrint = 'true';</script>
<script src="../_static/togglebutton.js"></script>
<script>var togglebuttonSelector = '.toggle, .admonition.dropdown, .tag_hide_input div.cell_input, .tag_hide-input div.cell_input, .tag_hide_output div.cell_output, .tag_hide-output div.cell_output, .tag_hide_cell.cell, .tag_hide-cell.cell';</script>
<script src="../_static/design-tabs.js"></script>
<script src="../_static/require.min.js"></script>
<script src="../_static/custom.js"></script>
</head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../index.html"><div class="brand">nerfstudio</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a
class="sidebar-brand"
href="../index.html"
>
<div class="sidebar-logo-container">
<img
class="sidebar-logo only-light"
src="../_static/imgs/logo.png"
alt="Light Logo"
/>
<img
class="sidebar-logo only-dark"
src="../_static/imgs/logo-dark.png"
alt="Dark Logo"
/>
</div>
</a>
<div style="text-align: center">
<script async defer src="https://buttons.github.io/buttons.js"></script>
<!-- Place this tag where you want the button to render. -->
<a
class="github-button"
href="https://github.com/nerfstudio-project/nerfstudio/"
data-color-scheme="no-preference: light; light: light; dark: light;"
data-size="large"
data-show-count="true"
aria-label="Download buttons/github-buttons on GitHub"
>
Github
</a>
<br />
<a
href="https://colab.research.google.com/github/nerfstudio-project/nerfstudio/blob/main/colab/demo.ipynb"
style="
background-color: #ebf0f4;
background-image: linear-gradient(180deg, #f6f8fa, #ebf0f4 90%);
border-radius: 3px;
border: 1px solid #1b1f2426;
display: inline-flex;
cursor: pointer;
color: #0d0d0d;
font-family: Arial;
font-size: 12px;
font-weight: bold;
padding: 5px 41px;
line-height: 16px;
text-decoration: none;
"
>
<svg
viewBox="0 0 24 24"
width="16"
height="16"
class="octicon octicon-mark-github"
>
<g>
<path
d="M4.54,9.46,2.19,7.1a6.93,6.93,0,0,0,0,9.79l2.36-2.36A3.59,3.59,0,0,1,4.54,9.46Z"
style=""
fill="#E8710A"
></path>
<path
d="M2.19,7.1,4.54,9.46a3.59,3.59,0,0,1,5.08,0l1.71-2.93h0l-.1-.08h0A6.93,6.93,0,0,0,2.19,7.1Z"
style=""
fill="#F9AB00"
></path>
<path
d="M11.34,17.46h0L9.62,14.54a3.59,3.59,0,0,1-5.08,0L2.19,16.9a6.93,6.93,0,0,0,9,.65l.11-.09"
style=""
fill="#F9AB00"
></path>
<path
d="M12,7.1a6.93,6.93,0,0,0,0,9.79l2.36-2.36a3.59,3.59,0,1,1,5.08-5.08L21.81,7.1A6.93,6.93,0,0,0,12,7.1Z"
style=""
fill="#F9AB00"
></path>
<path
d="M21.81,7.1,19.46,9.46a3.59,3.59,0,0,1-5.08,5.08L12,16.9A6.93,6.93,0,0,0,21.81,7.1Z"
style=""
fill="#E8710A"
></path>
</g>
</svg>
<span>&nbspcolab</span></a
>
</div><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Getting Started</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Training your first model</a></li>
<li class="toctree-l1"><a class="reference internal" href="existing_dataset.html">Using existing data</a></li>
<li class="toctree-l1"><a class="reference internal" href="custom_dataset.html">Using custom data</a></li>
<li class="toctree-l1"><a class="reference internal" href="viewer_quickstart.html">Using the viewer</a></li>
<li class="toctree-l1"><a class="reference internal" href="export_geometry.html">Export geometry</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_conventions.html">Data conventions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../reference/contributing.html">Contributing</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Extensions</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../extensions/blender_addon.html">Blender VFX add-on</a></li>
<li class="toctree-l1"><a class="reference internal" href="../extensions/maya_plugin.html">Autodesk Maya Plug-in</a></li>
<li class="toctree-l1"><a class="reference internal" href="../extensions/unreal_engine.html">Exporting to Unreal Engine</a></li>
<li class="toctree-l1"><a class="reference internal" href="../extensions/sdfstudio.html">SDFStudio</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">NeRFology</span></p>
<ul>
<li class="toctree-l1 has-children"><a class="reference internal" href="../nerfology/methods/index.html">Methods</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle child pages in navigation</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/instant_ngp.html"> Instant-NGP</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/splat.html"> Splatfacto</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/splatw.html"> Splatfacto-W</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/in2n.html"> Instruct-NeRF2NeRF</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/igs2gs.html"> Instruct-GS2GS</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/signerf.html"> SIGNeRF</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/kplanes.html"> K-Planes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/lerf.html"> LERF</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/livescene.html"> LiveScene</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/feature_splatting.html"> Feature-Splatting</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/mipnerf.html"> Mip-NeRF</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/nerf.html"> NeRF</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/nerfacto.html"> Nerfacto</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/nerfbusters.html"> Nerfbusters</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/nerfplayer.html"> NeRFPlayer</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/tetranerf.html"> Tetra-NeRF</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/tensorf.html"> TensoRF</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/generfacto.html"> Generfacto</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/pynerf.html"> PyNeRF</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/seathru_nerf.html"> SeaThru-NeRF</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/zipnerf.html"> Zip-NeRF</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/bionerf.html"> BioNeRF</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/nerf2gs2nerf.html"> NeRFtoGSandBack</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/methods/opennerf.html"> OpenNeRF</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../nerfology/model_components/index.html">Model components</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle child pages in navigation</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/model_components/visualize_cameras.html"> Cameras models</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/model_components/visualize_samples.html"> Sample representation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/model_components/visualize_samplers.html"> Ray samplers</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/model_components/visualize_spatial_distortions.html"> Spatial distortions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nerfology/model_components/visualize_encoders.html"> Encoders</a></li>
</ul>
</li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Developer Guides</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../developer_guides/new_methods.html">Adding a New Method</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../developer_guides/pipelines/index.html">Pipelines overview</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle child pages in navigation</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="../developer_guides/pipelines/dataparsers.html">DataParsers</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle child pages in navigation</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/api/data/dataparsers.html">Data Parsers</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../developer_guides/pipelines/datamanagers.html">DataManagers</a></li>
<li class="toctree-l2"><a class="reference internal" href="../developer_guides/pipelines/models.html">Models</a></li>
<li class="toctree-l2"><a class="reference internal" href="../developer_guides/pipelines/fields.html">Fields</a></li>
<li class="toctree-l2"><a class="reference internal" href="../developer_guides/pipelines/pipelines.html">Pipelines</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../developer_guides/viewer/index.html">Viewer</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle child pages in navigation</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../developer_guides/viewer/custom_gui.html">Custom GUI</a></li>
<li class="toctree-l2"><a class="reference internal" href="../developer_guides/viewer/viewer_control.html">Python Viewer Control</a></li>
<li class="toctree-l2"><a class="reference internal" href="../developer_guides/viewer/local_viewer.html">(Legacy Viewer) Local Server</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../developer_guides/config.html">Customizable configs</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../developer_guides/debugging_tools/index.html">Debugging tools</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle child pages in navigation</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../developer_guides/debugging_tools/local_logger.html">Local writer</a></li>
<li class="toctree-l2"><a class="reference internal" href="../developer_guides/debugging_tools/profiling.html">Code profiling support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../developer_guides/debugging_tools/benchmarking.html">Benchmarking workflow</a></li>
</ul>
</li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Reference</span></p>
<ul>
<li class="toctree-l1 has-children"><a class="reference internal" href="../reference/cli/index.html">CLI</a><input class="toctree-checkbox" id="toctree-checkbox-7" name="toctree-checkbox-7" role="switch" type="checkbox"/><label for="toctree-checkbox-7"><div class="visually-hidden">Toggle child pages in navigation</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/cli/ns_install_cli.html">ns-install-cli</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/cli/ns_process_data.html">ns-process-data</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/cli/ns_download_data.html">ns-download-data</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/cli/ns_train.html">ns-train</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/cli/ns_render.html">ns-render</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/cli/ns_viewer.html">ns-viewer</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/cli/ns_export.html">ns-export</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/cli/ns_eval.html">ns-eval</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../reference/api/index.html">API</a><input class="toctree-checkbox" id="toctree-checkbox-8" name="toctree-checkbox-8" role="switch" type="checkbox"/><label for="toctree-checkbox-8"><div class="visually-hidden">Toggle child pages in navigation</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/api/cameras.html">Cameras</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/api/config.html">Configs</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../reference/api/data/index.html">Data</a><input class="toctree-checkbox" id="toctree-checkbox-9" name="toctree-checkbox-9" role="switch" type="checkbox"/><label for="toctree-checkbox-9"><div class="visually-hidden">Toggle child pages in navigation</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/api/data/dataparsers.html">Data Parsers</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/api/data/datamanagers.html">Datamanagers</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/api/data/datasets.html">Datasets</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/api/data/utils.html">Utils</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/api/fields.html">Fields</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../reference/api/field_components/index.html">Field Modules</a><input class="toctree-checkbox" id="toctree-checkbox-10" name="toctree-checkbox-10" role="switch" type="checkbox"/><label for="toctree-checkbox-10"><div class="visually-hidden">Toggle child pages in navigation</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/api/field_components/encodings.html">Encodings</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/api/field_components/embeddings.html">Embeddings</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/api/field_components/field_heads.html">Field Heads</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/api/field_components/mlp.html">MLP</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/api/field_components/spatial_distortions.html">Spatial Distortions</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/api/models.html">Models</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../reference/api/model_components/index.html">Model components</a><input class="toctree-checkbox" id="toctree-checkbox-11" name="toctree-checkbox-11" role="switch" type="checkbox"/><label for="toctree-checkbox-11"><div class="visually-hidden">Toggle child pages in navigation</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/api/model_components/ray_sampler.html">Ray Sampler</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/api/model_components/losses.html">Losses</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/api/model_components/renderers.html">Renderers</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/api/optimizers.html">Engine</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/api/plugins.html">Plugins</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../reference/api/utils/index.html">Utils</a><input class="toctree-checkbox" id="toctree-checkbox-12" name="toctree-checkbox-12" role="switch" type="checkbox"/><label for="toctree-checkbox-12"><div class="visually-hidden">Toggle child pages in navigation</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/api/utils/colors.html">Colors</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/api/utils/math.html">Math</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/api/utils/colormaps.html">Colormaps</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/api/utils/tensor_dataclass.html">TensorDataclass</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/api/viewer.html">Viewer</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section class="tex2jax_ignore mathjax_ignore" id="training-your-first-model">
<h1>Training your first model<a class="headerlink" href="#training-your-first-model" title="Permalink to this heading">#</a></h1>
<section id="train-and-run-viewer">
<h2>Train and run viewer<a class="headerlink" href="#train-and-run-viewer" title="Permalink to this heading">#</a></h2>
<p>The following will train a <em>nerfacto</em> model, our recommended model for real world scenes.</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Download some test data:</span>
ns-download-data<span class="w"> </span>nerfstudio<span class="w"> </span>--capture-name<span class="o">=</span>poster
<span class="c1"># Train model</span>
ns-train<span class="w"> </span>nerfacto<span class="w"> </span>--data<span class="w"> </span>data/nerfstudio/poster
</pre></div>
</div>
<p>If everything works, you should see training progress like the following:</p>
<p align="center">
<img width="800" alt="image" src="https://user-images.githubusercontent.com/3310961/202766069-cadfd34f-8833-4156-88b7-ad406d688fc0.png">
</p>
<p>Navigating to the link at the end of the terminal will load the webviewer. If you are running on a remote machine, you will need to port forward the websocket port (defaults to 7007).</p>
<p align="center">
<img width="800" alt="image" src="https://user-images.githubusercontent.com/3310961/202766653-586a0daa-466b-4140-a136-6b02f2ce2c54.png">
</p>
<div class="note admonition">
<p class="admonition-title">Note</p>
<ul class="simple">
<li><p>You may have to change the port using <code class="docutils literal notranslate"><span class="pre">--viewer.websocket-port</span></code>.</p></li>
<li><p>All data configurations must go at the end. In this case, <code class="docutils literal notranslate"><span class="pre">nerfstudio-data</span></code> and all of its corresponding configurations come at the end after the model and viewer specification.</p></li>
</ul>
</div>
</section>
<section id="resume-from-checkpoint">
<h2>Resume from checkpoint<a class="headerlink" href="#resume-from-checkpoint" title="Permalink to this heading">#</a></h2>
<p>It is possible to load a pretrained model by running</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ns-train<span class="w"> </span>nerfacto<span class="w"> </span>--data<span class="w"> </span>data/nerfstudio/poster<span class="w"> </span>--load-dir<span class="w"> </span><span class="o">{</span>outputs/.../nerfstudio_models<span class="o">}</span>
</pre></div>
</div>
</section>
<section id="visualize-existing-run">
<h2>Visualize existing run<a class="headerlink" href="#visualize-existing-run" title="Permalink to this heading">#</a></h2>
<p>Given a pretrained model checkpoint, you can start the viewer by running</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ns-viewer<span class="w"> </span>--load-config<span class="w"> </span><span class="o">{</span>outputs/.../config.yml<span class="o">}</span>
</pre></div>
</div>
</section>
<section id="exporting-results">
<h2>Exporting Results<a class="headerlink" href="#exporting-results" title="Permalink to this heading">#</a></h2>
<p>Once you have a NeRF model you can either render out a video or export a point cloud.</p>
<section id="render-video">
<h3>Render Video<a class="headerlink" href="#render-video" title="Permalink to this heading">#</a></h3>
<p>First we must create a path for the camera to follow. This can be done in the viewer under the “RENDER” tab. Orient your 3D view to the location where you wish the video to start, then press “ADD CAMERA”. This will set the first camera key frame. Continue to new viewpoints adding additional cameras to create the camera path. We provide other parameters to further refine your camera path. Once satisfied, press “RENDER” which will display a modal that contains the command needed to render the video. Kill the training job (or create a new terminal if you have lots of compute) and run the command to generate the video.</p>
<p>Other video export options are available, learn more by running</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ns-render<span class="w"> </span>--help
</pre></div>
</div>
</section>
<section id="generate-point-cloud">
<h3>Generate Point Cloud<a class="headerlink" href="#generate-point-cloud" title="Permalink to this heading">#</a></h3>
<p>While NeRF models are not designed to generate point clouds, it is still possible. Navigate to the “EXPORT” tab in the 3D viewer and select “POINT CLOUD”. If the crop option is selected, everything in the yellow square will be exported into a point cloud. Modify the settings as desired then run the command at the bottom of the panel in your command line.</p>
<p>Alternatively you can use the CLI without the viewer. Learn about the export options by running</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ns-export<span class="w"> </span>pointcloud<span class="w"> </span>--help
</pre></div>
</div>
</section>
</section>
<section id="intro-to-nerfstudio-cli-and-configs">
<h2>Intro to nerfstudio CLI and Configs<a class="headerlink" href="#intro-to-nerfstudio-cli-and-configs" title="Permalink to this heading">#</a></h2>
<p>Nerfstudio allows customization of training and eval configs from the CLI in a powerful way, but there are some things to understand.</p>
<p>The most demonstrative and helpful example of the CLI structure is the difference in output between the following commands:</p>
<p>The following will list the supported models</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ns-train<span class="w"> </span>--help
</pre></div>
</div>
<p>Applying <code class="docutils literal notranslate"><span class="pre">--help</span></code> after the model specification will provide the model and training specific arguments.</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ns-train<span class="w"> </span>nerfacto<span class="w"> </span>--help
</pre></div>
</div>
<p>At the end of the command you can specify the dataparser used. By default we use the <em>nerfstudio-data</em> dataparser. We include other dataparsers such as <em>Blender</em>, <em>NuScenes</em>, ect. For a list of dataparse specific arguments, add <code class="docutils literal notranslate"><span class="pre">--help</span></code> to the end of the command</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ns-train<span class="w"> </span>nerfacto<span class="w"> </span>&lt;nerfacto<span class="w"> </span>optional<span class="w"> </span>args&gt;<span class="w"> </span>nerfstudio-data<span class="w"> </span>--help
</pre></div>
</div>
<p>Each script will have some other minor quirks (like the training script dataparser subcommand needing to come after the model subcommand), read up on them <a class="reference internal" href="../reference/cli/index.html"><span class="doc std std-doc">here</span></a>.</p>
</section>
<section id="comet-tensorboard-wandb-viewer">
<h2>Comet / Tensorboard / WandB / Viewer<a class="headerlink" href="#comet-tensorboard-wandb-viewer" title="Permalink to this heading">#</a></h2>
<p>We support four different methods to track training progress, using the viewer <a class="reference external" href="https://www.tensorflow.org/tensorboard">tensorboard</a>, <a class="reference external" href="https://wandb.ai/site">Weights and Biases</a>, and <a class="reference external" href="https://comet.com/?utm_source=nerf&amp;utm_medium=referral&amp;utm_content=nerf_docs">Comet</a>. You can specify which visualizer to use by appending <code class="docutils literal notranslate"><span class="pre">--vis</span> <span class="pre">{viewer,</span> <span class="pre">tensorboard,</span> <span class="pre">wandb,</span> <span class="pre">comet,</span> <span class="pre">viewer+wandb,</span> <span class="pre">viewer+tensorboard,</span> <span class="pre">viewer+comet}</span></code> to the training command. Simultaneously utilizing the viewer alongside wandb or tensorboard may cause stuttering issues during evaluation steps. The viewer only works for methods that are fast (ie. nerfacto, instant-ngp), for slower methods like NeRF, use the other loggers.</p>
</section>
<section id="evaluating-runs">
<h2>Evaluating Runs<a class="headerlink" href="#evaluating-runs" title="Permalink to this heading">#</a></h2>
<p>Calculate the psnr of your trained model and save to a json file.</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ns-eval<span class="w"> </span>--load-config<span class="o">={</span>PATH_TO_CONFIG<span class="o">}</span><span class="w"> </span>--output-path<span class="o">=</span>output.json
</pre></div>
</div>
<p>We also provide a train and evaluation script that allows you to do benchmarking on the classical Blender dataset (see our <a class="reference internal" href="../developer_guides/debugging_tools/benchmarking.html"><span class="doc std std-doc">benchmarking workflow</span></a>).</p>
</section>
<section id="multi-gpu-training">
<h2>Multi-GPU Training<a class="headerlink" href="#multi-gpu-training" title="Permalink to this heading">#</a></h2>
<p>Here we explain how to use multi-GPU training. We are using <a class="reference external" href="https://pytorch.org/tutorials/beginner/dist_overview.html">PyTorch Distributed Data Parallel (DDP)</a>, so gradients are averaged over devices. If the loss scales depend on sample size (usually not the case in our implementation), we need to scale the learning rate with the number of GPUs used. Plotting will only be done for the first process. Note that you may want to play around with both learning rate and <code class="docutils literal notranslate"><span class="pre">&lt;X&gt;_num_rays_per_batch</span></code> when using DDP. Below is a simple example for how you’d run the <code class="docutils literal notranslate"><span class="pre">nerfacto-big</span></code> method on the aspen scene (see above to download the data), with either 1 or 2 GPUs. The <code class="docutils literal notranslate"><span class="pre">nerfacto-big</span></code> method uses a larger model size than the <code class="docutils literal notranslate"><span class="pre">nerfacto</span></code> method, so it benefits more from multi-GPU training.</p>
<p>First, download the aspen scene.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">ns</span><span class="o">-</span><span class="n">download</span><span class="o">-</span><span class="n">data</span> <span class="n">nerfstudio</span> <span class="o">--</span><span class="n">capture</span><span class="o">-</span><span class="n">name</span><span class="o">=</span><span class="n">aspen</span>
</pre></div>
</div>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># 1 GPU (8192 rays per GPU per batch)</span>
<span class="n">export</span> <span class="n">CUDA_VISIBLE_DEVICES</span><span class="o">=</span><span class="mi">0</span>
<span class="n">ns</span><span class="o">-</span><span class="n">train</span> <span class="n">nerfacto</span><span class="o">-</span><span class="n">big</span> <span class="o">--</span><span class="n">vis</span> <span class="n">viewer</span><span class="o">+</span><span class="n">wandb</span> <span class="o">--</span><span class="n">machine</span><span class="o">.</span><span class="n">num</span><span class="o">-</span><span class="n">devices</span> <span class="mi">1</span> <span class="o">--</span><span class="n">pipeline</span><span class="o">.</span><span class="n">datamanager</span><span class="o">.</span><span class="n">train</span><span class="o">-</span><span class="n">num</span><span class="o">-</span><span class="n">rays</span><span class="o">-</span><span class="n">per</span><span class="o">-</span><span class="n">batch</span> <span class="mi">4096</span> <span class="o">--</span><span class="n">data</span> <span class="n">data</span><span class="o">/</span><span class="n">nerfstudio</span><span class="o">/</span><span class="n">aspen</span>
</pre></div>
</div>
<p>You would observe about ~70k rays / sec on NVIDIA V100.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Step</span> <span class="p">(</span><span class="o">%</span> <span class="n">Done</span><span class="p">)</span> <span class="n">Train</span> <span class="n">Iter</span> <span class="p">(</span><span class="n">time</span><span class="p">)</span> <span class="n">ETA</span> <span class="p">(</span><span class="n">time</span><span class="p">)</span> <span class="n">Train</span> <span class="n">Rays</span> <span class="o">/</span> <span class="n">Sec</span>
<span class="o">-----------------------------------------------------------------------------------</span>
<span class="mi">610</span> <span class="p">(</span><span class="mf">0.61</span><span class="o">%</span><span class="p">)</span> <span class="mf">115.968</span> <span class="n">ms</span> <span class="mi">3</span> <span class="n">h</span><span class="p">,</span> <span class="mi">12</span> <span class="n">m</span><span class="p">,</span> <span class="mi">6</span> <span class="n">s</span> <span class="mf">72.68</span> <span class="n">K</span>
<span class="mi">620</span> <span class="p">(</span><span class="mf">0.62</span><span class="o">%</span><span class="p">)</span> <span class="mf">115.908</span> <span class="n">ms</span> <span class="mi">3</span> <span class="n">h</span><span class="p">,</span> <span class="mi">11</span> <span class="n">m</span><span class="p">,</span> <span class="mi">58</span> <span class="n">s</span> <span class="mf">72.72</span> <span class="n">K</span>
<span class="mi">630</span> <span class="p">(</span><span class="mf">0.63</span><span class="o">%</span><span class="p">)</span> <span class="mf">115.907</span> <span class="n">ms</span> <span class="mi">3</span> <span class="n">h</span><span class="p">,</span> <span class="mi">11</span> <span class="n">m</span><span class="p">,</span> <span class="mi">57</span> <span class="n">s</span> <span class="mf">72.73</span> <span class="n">K</span>
<span class="mi">640</span> <span class="p">(</span><span class="mf">0.64</span><span class="o">%</span><span class="p">)</span> <span class="mf">115.937</span> <span class="n">ms</span> <span class="mi">3</span> <span class="n">h</span><span class="p">,</span> <span class="mi">11</span> <span class="n">m</span><span class="p">,</span> <span class="mi">59</span> <span class="n">s</span> <span class="mf">72.71</span> <span class="n">K</span>
<span class="mi">650</span> <span class="p">(</span><span class="mf">0.65</span><span class="o">%</span><span class="p">)</span> <span class="mf">115.853</span> <span class="n">ms</span> <span class="mi">3</span> <span class="n">h</span><span class="p">,</span> <span class="mi">11</span> <span class="n">m</span><span class="p">,</span> <span class="mi">49</span> <span class="n">s</span> <span class="mf">72.76</span> <span class="n">K</span>
<span class="mi">660</span> <span class="p">(</span><span class="mf">0.66</span><span class="o">%</span><span class="p">)</span> <span class="mf">115.710</span> <span class="n">ms</span> <span class="mi">3</span> <span class="n">h</span><span class="p">,</span> <span class="mi">11</span> <span class="n">m</span><span class="p">,</span> <span class="mi">34</span> <span class="n">s</span> <span class="mf">72.85</span> <span class="n">K</span>
<span class="mi">670</span> <span class="p">(</span><span class="mf">0.67</span><span class="o">%</span><span class="p">)</span> <span class="mf">115.797</span> <span class="n">ms</span> <span class="mi">3</span> <span class="n">h</span><span class="p">,</span> <span class="mi">11</span> <span class="n">m</span><span class="p">,</span> <span class="mi">42</span> <span class="n">s</span> <span class="mf">72.80</span> <span class="n">K</span>
<span class="mi">680</span> <span class="p">(</span><span class="mf">0.68</span><span class="o">%</span><span class="p">)</span> <span class="mf">115.783</span> <span class="n">ms</span> <span class="mi">3</span> <span class="n">h</span><span class="p">,</span> <span class="mi">11</span> <span class="n">m</span><span class="p">,</span> <span class="mi">39</span> <span class="n">s</span> <span class="mf">72.81</span> <span class="n">K</span>
<span class="mi">690</span> <span class="p">(</span><span class="mf">0.69</span><span class="o">%</span><span class="p">)</span> <span class="mf">115.756</span> <span class="n">ms</span> <span class="mi">3</span> <span class="n">h</span><span class="p">,</span> <span class="mi">11</span> <span class="n">m</span><span class="p">,</span> <span class="mi">35</span> <span class="n">s</span> <span class="mf">72.81</span> <span class="n">K</span>
<span class="mi">700</span> <span class="p">(</span><span class="mf">0.70</span><span class="o">%</span><span class="p">)</span> <span class="mf">115.755</span> <span class="n">ms</span> <span class="mi">3</span> <span class="n">h</span><span class="p">,</span> <span class="mi">11</span> <span class="n">m</span><span class="p">,</span> <span class="mi">34</span> <span class="n">s</span> <span class="mf">72.81</span> <span class="n">K</span>
</pre></div>
</div>
<p>By having more GPUs in the training, you can allocate batch size to multiple GPUs and average their gradients.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># 2 GPUs (4096 rays per GPU per batch, effectively 8192 rays per batch)</span>
<span class="n">export</span> <span class="n">CUDA_VISIBLE_DEVICES</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span>
<span class="n">ns</span><span class="o">-</span><span class="n">train</span> <span class="n">nerfacto</span> <span class="o">--</span><span class="n">vis</span> <span class="n">viewer</span><span class="o">+</span><span class="n">wandb</span> <span class="o">--</span><span class="n">machine</span><span class="o">.</span><span class="n">num</span><span class="o">-</span><span class="n">devices</span> <span class="mi">2</span> <span class="o">--</span><span class="n">pipeline</span><span class="o">.</span><span class="n">datamanager</span><span class="o">.</span><span class="n">train</span><span class="o">-</span><span class="n">num</span><span class="o">-</span><span class="n">rays</span><span class="o">-</span><span class="n">per</span><span class="o">-</span><span class="n">batch</span> <span class="mi">4096</span> <span class="o">--</span><span class="n">data</span> <span class="n">data</span><span class="o">/</span><span class="n">nerfstudio</span><span class="o">/</span><span class="n">aspen</span>
</pre></div>
</div>
<p>You would get improved throughput (~100k rays / sec on two NVIDIA V100).</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Step</span> <span class="p">(</span><span class="o">%</span> <span class="n">Done</span><span class="p">)</span> <span class="n">Train</span> <span class="n">Iter</span> <span class="p">(</span><span class="n">time</span><span class="p">)</span> <span class="n">ETA</span> <span class="p">(</span><span class="n">time</span><span class="p">)</span> <span class="n">Train</span> <span class="n">Rays</span> <span class="o">/</span> <span class="n">Sec</span>
<span class="o">-----------------------------------------------------------------------------------</span>
<span class="mi">1910</span> <span class="p">(</span><span class="mf">1.91</span><span class="o">%</span><span class="p">)</span> <span class="mf">79.623</span> <span class="n">ms</span> <span class="mi">2</span> <span class="n">h</span><span class="p">,</span> <span class="mi">10</span> <span class="n">m</span><span class="p">,</span> <span class="mi">10</span> <span class="n">s</span> <span class="mf">104.92</span> <span class="n">K</span>
<span class="mi">1920</span> <span class="p">(</span><span class="mf">1.92</span><span class="o">%</span><span class="p">)</span> <span class="mf">79.083</span> <span class="n">ms</span> <span class="mi">2</span> <span class="n">h</span><span class="p">,</span> <span class="mi">9</span> <span class="n">m</span><span class="p">,</span> <span class="mi">16</span> <span class="n">s</span> <span class="mf">105.49</span> <span class="n">K</span>
<span class="mi">1930</span> <span class="p">(</span><span class="mf">1.93</span><span class="o">%</span><span class="p">)</span> <span class="mf">79.092</span> <span class="n">ms</span> <span class="mi">2</span> <span class="n">h</span><span class="p">,</span> <span class="mi">9</span> <span class="n">m</span><span class="p">,</span> <span class="mi">16</span> <span class="n">s</span> <span class="mf">105.48</span> <span class="n">K</span>
<span class="mi">1940</span> <span class="p">(</span><span class="mf">1.94</span><span class="o">%</span><span class="p">)</span> <span class="mf">79.364</span> <span class="n">ms</span> <span class="mi">2</span> <span class="n">h</span><span class="p">,</span> <span class="mi">9</span> <span class="n">m</span><span class="p">,</span> <span class="mi">42</span> <span class="n">s</span> <span class="mf">105.21</span> <span class="n">K</span>
<span class="mi">1950</span> <span class="p">(</span><span class="mf">1.95</span><span class="o">%</span><span class="p">)</span> <span class="mf">79.327</span> <span class="n">ms</span> <span class="mi">2</span> <span class="n">h</span><span class="p">,</span> <span class="mi">9</span> <span class="n">m</span><span class="p">,</span> <span class="mi">38</span> <span class="n">s</span> <span class="mf">105.25</span> <span class="n">K</span>
<span class="mi">1960</span> <span class="p">(</span><span class="mf">1.96</span><span class="o">%</span><span class="p">)</span> <span class="mf">79.473</span> <span class="n">ms</span> <span class="mi">2</span> <span class="n">h</span><span class="p">,</span> <span class="mi">9</span> <span class="n">m</span><span class="p">,</span> <span class="mi">51</span> <span class="n">s</span> <span class="mf">105.09</span> <span class="n">K</span>
<span class="mi">1970</span> <span class="p">(</span><span class="mf">1.97</span><span class="o">%</span><span class="p">)</span> <span class="mf">79.334</span> <span class="n">ms</span> <span class="mi">2</span> <span class="n">h</span><span class="p">,</span> <span class="mi">9</span> <span class="n">m</span><span class="p">,</span> <span class="mi">37</span> <span class="n">s</span> <span class="mf">105.26</span> <span class="n">K</span>
<span class="mi">1980</span> <span class="p">(</span><span class="mf">1.98</span><span class="o">%</span><span class="p">)</span> <span class="mf">79.200</span> <span class="n">ms</span> <span class="mi">2</span> <span class="n">h</span><span class="p">,</span> <span class="mi">9</span> <span class="n">m</span><span class="p">,</span> <span class="mi">23</span> <span class="n">s</span> <span class="mf">105.38</span> <span class="n">K</span>
<span class="mi">1990</span> <span class="p">(</span><span class="mf">1.99</span><span class="o">%</span><span class="p">)</span> <span class="mf">79.264</span> <span class="n">ms</span> <span class="mi">2</span> <span class="n">h</span><span class="p">,</span> <span class="mi">9</span> <span class="n">m</span><span class="p">,</span> <span class="mi">28</span> <span class="n">s</span> <span class="mf">105.29</span> <span class="n">K</span>
<span class="mi">2000</span> <span class="p">(</span><span class="mf">2.00</span><span class="o">%</span><span class="p">)</span> <span class="mf">79.168</span> <span class="n">ms</span> <span class="mi">2</span> <span class="n">h</span><span class="p">,</span> <span class="mi">9</span> <span class="n">m</span><span class="p">,</span> <span class="mi">18</span> <span class="n">s</span> <span class="mf">105.40</span> <span class="n">K</span>
</pre></div>
</div>
<p>During training, the “Train Rays / Sec” throughput represents the total number of training rays it processes per second, gradually increase the number of GPUs and observe how this throughput improves and eventually saturates.</p>
</section>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="existing_dataset.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">Using existing data</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="installation.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Installation</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2022, nerfstudio Team
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div>
</footer>
</div>
<aside class="toc-drawer">
<div class="toc-sticky toc-scroll">
<div class="toc-title-container">
<span class="toc-title">
On this page
</span>
</div>
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Training your first model</a><ul>
<li><a class="reference internal" href="#train-and-run-viewer">Train and run viewer</a></li>
<li><a class="reference internal" href="#resume-from-checkpoint">Resume from checkpoint</a></li>
<li><a class="reference internal" href="#visualize-existing-run">Visualize existing run</a></li>
<li><a class="reference internal" href="#exporting-results">Exporting Results</a><ul>
<li><a class="reference internal" href="#render-video">Render Video</a></li>
<li><a class="reference internal" href="#generate-point-cloud">Generate Point Cloud</a></li>
</ul>
</li>
<li><a class="reference internal" href="#intro-to-nerfstudio-cli-and-configs">Intro to nerfstudio CLI and Configs</a></li>
<li><a class="reference internal" href="#comet-tensorboard-wandb-viewer">Comet / Tensorboard / WandB / Viewer</a></li>
<li><a class="reference internal" href="#evaluating-runs">Evaluating Runs</a></li>
<li><a class="reference internal" href="#multi-gpu-training">Multi-GPU Training</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</aside>
</div>
</div></body>
</html>