[{"data":1,"prerenderedAt":26},["ShallowReactive",2],{"chapter:vision-rs\u002Fdeployment\u002Fdeploying.json":3},{"project":4,"route":5,"title":6,"titleHtml":6,"navTitle":6,"part":7,"sourcePath":8,"editUrl":9,"html":10,"toc":11,"hasMermaid":19,"prev":20,"next":23},"vision-rs","\u002Fvision-rs\u002Fdeployment\u002Fdeploying","Deploying to the Device","Cross-Compilation & Deployment","deployment\u002Fdeploying.md","https:\u002F\u002Fgithub.com\u002Fteenygrad\u002Fvision-rs\u002Fedit\u002Fmain\u002Fbook\u002Fsrc\u002Fdeployment\u002Fdeploying.md","\u003Ch2 id=\"copying-the-package-over\">Copying the package over\u003C\u002Fh2>\n\u003Cpre data-lang=\"bash\" class=\"shiki teeny-datasheet\" style=\"background-color:#16181a;color:#e6e8e3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#7FB6D9\">cargo\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> teeny\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> deploy\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B79AD4\">  --package\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> .\u002Fdist\u002Fyolo26-orin\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B79AD4\">  --host\u003C\u002Fspan>\u003Cspan style=\"color:#8A9088\"> &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\">use\u003C\u002Fspan>\u003Cspan style=\"color:#E6E8E3\">r\u003C\u002Fspan>\u003Cspan style=\"color:#8A9088\">>\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\">@\u003C\u002Fspan>\u003Cspan style=\"color:#8A9088\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\">orin-hos\u003C\u002Fspan>\u003Cspan style=\"color:#E6E8E3\">t\u003C\u002Fspan>\u003Cspan style=\"color:#8A9088\">>\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B79AD4\">  --dest\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> \u002Fhome\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#8A9088\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\">use\u003C\u002Fspan>\u003Cspan style=\"color:#E6E8E3\">r\u003C\u002Fspan>\u003Cspan style=\"color:#8A9088\">>\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\">\u002Fvision-rs-yolo26\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cul>\n\u003Cli>Uses \u003Ccode>rsync -a\u003C\u002Fcode> over SSH; set up key-based auth on the device first, or\nit’ll prompt for a password interactively (stdio is inherited, so that\nworks too).\u003C\u002Fli>\n\u003Cli>By default, re-running \u003Ccode>deploy\u003C\u002Fcode> only copies files that aren’t already on\nthe remote — safe to re-run after a partial transfer. Pass \u003Ccode>--overwrite\u003C\u002Fcode>\nto force a full re-sync, e.g. after rebuilding\u002Frepackaging with changes.\u003C\u002Fli>\n\u003Cli>\u003Ccode>--ssh &quot;ssh -p &lt;port&gt;&quot;\u003C\u002Fcode> if the device uses a non-default SSH port.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"running-on-the-device\">Running on the device\u003C\u002Fh2>\n\u003Cpre data-lang=\"bash\" class=\"shiki teeny-datasheet\" style=\"background-color:#16181a;color:#e6e8e3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#7FB6D9\">ssh\u003C\u002Fspan>\u003Cspan style=\"color:#8A9088\"> &#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\">use\u003C\u002Fspan>\u003Cspan style=\"color:#E6E8E3\">r\u003C\u002Fspan>\u003Cspan style=\"color:#8A9088\">>\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\">@\u003C\u002Fspan>\u003Cspan style=\"color:#8A9088\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\">orin-hos\u003C\u002Fspan>\u003Cspan style=\"color:#E6E8E3\">t\u003C\u002Fspan>\u003Cspan style=\"color:#8A9088\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#7FB6D9\">cd\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> \u002Fhome\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#8A9088\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\">use\u003C\u002Fspan>\u003Cspan style=\"color:#E6E8E3\">r\u003C\u002Fspan>\u003Cspan style=\"color:#8A9088\">>\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\">\u002Fvision-rs-yolo26\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Ccode>data\u002F\u003C\u002Fcode> was scaffolded empty by \u003Ccode>package\u003C\u002Fcode> — populate it before running\nanything that needs a model\u002Fdataset, either by:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>letting the binary download it directly on the device (if it has\ninternet access):\u003Cpre data-lang=\"bash\" class=\"shiki teeny-datasheet\" style=\"background-color:#16181a;color:#e6e8e3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#7FB6D9\">.\u002Fbin\u002Fyolo26\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> download\u003C\u002Fspan>\u003Cspan style=\"color:#B79AD4\"> --dataset\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> assets\u002Fdatasets\u002Fcoco128.toml\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fli>\n\u003Cli>or \u003Ccode>rsync\u003C\u002Fcode>-ing pre-downloaded models\u002Fdatasets from your host’s\n\u003Ccode>$MODELS_CACHE_DIR\u003C\u002Fcode>\u002F\u003Ccode>$DATASETS_CACHE_DIR\u003C\u002Fcode> into \u003Ccode>data\u002F\u003C\u002Fcode> on the device\ninstead.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Then run a smoke test, e.g. the same throughput\u002Flatency benchmark used in\ndevelopment (see \u003Ca href=\"\u002Fvision-rs\u002Fkernels-and-performance\u002Fbenchmarking\">Benchmarking &amp; Profiling\u003C\u002Fa>):\u003C\u002Fp>\n\u003Cpre data-lang=\"bash\" class=\"shiki teeny-datasheet\" style=\"background-color:#16181a;color:#e6e8e3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#7FB6D9\">.\u002Fbin\u002Fyolo26\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> bench\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B79AD4\">  --model\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> ultralytics\u002Fyolo26n\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B79AD4\">  --dataset\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> assets\u002Fdatasets\u002Fcoco128.toml\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B79AD4\">  --skip-map\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B79AD4\">  --warmup\u003C\u002Fspan>\u003Cspan style=\"color:#B79AD4\"> 10\u003C\u002Fspan>\u003Cspan style=\"color:#D8A76B\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B79AD4\">  --runs\u003C\u002Fspan>\u003Cspan style=\"color:#B79AD4\"> 100\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>See the project’s \u003Ccode>CLAUDE.md\u003C\u002Fcode> for the full set of \u003Ccode>yolo26\u003C\u002Fcode> subcommands\n(\u003Ccode>view\u003C\u002Fcode>, \u003Ccode>verify\u003C\u002Fcode>, \u003Ccode>train\u003C\u002Fcode>, \u003Ccode>validate\u003C\u002Fcode>, …).\u003C\u002Fp>\n",[12,16],{"id":13,"text":14,"level":15},"copying-the-package-over","Copying the package over",2,{"id":17,"text":18,"level":15},"running-on-the-device","Running on the device",false,{"title":21,"titleHtml":21,"route":22},"Packaging a Deployable Bundle","\u002Fvision-rs\u002Fdeployment\u002Fpackaging",{"title":24,"titleHtml":24,"route":25},"Contributing to vision-rs","\u002Fvision-rs\u002Fcontributing\u002Fcontributing",1786271830582]