Spaces:
Running on Zero
Running on Zero
Explain the compact tutorial, named recipes and ordered batch workflow
Browse files
help.html
CHANGED
|
@@ -14,26 +14,58 @@
|
|
| 14 |
<header>
|
| 15 |
<p class="eyebrow">A bounded simulator experiment</p>
|
| 16 |
<h1>AI Learns to Drive — Help</h1>
|
| 17 |
-
<p class="lead">
|
| 18 |
-
<p class="small">This guide opens in a new tab
|
| 19 |
<p class="callout">You can try the built-in replica tracks and browser network editor without installing the original game. This lab does not reproduce the full game, award official stars, or change game progress.</p>
|
| 20 |
<nav aria-label="Help topics"><ul>
|
| 21 |
-
<li><a href="#first-run">
|
| 22 |
</ul></nav>
|
| 23 |
</header>
|
| 24 |
|
|
|
|
| 25 |
<section class="section" id="first-run">
|
| 26 |
<h2>Start your first run</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
<ol class="steps">
|
| 28 |
-
<li>
|
| 29 |
-
<li>
|
| 30 |
-
<li>
|
| 31 |
-
<li>
|
| 32 |
-
<li>When the run finishes, click <strong>Download result</strong> to receive the controller and reveal winner and challenge details. If connected bucket autosave is on, it handles result delivery for you.</li>
|
| 33 |
</ol>
|
| 34 |
-
<p
|
|
|
|
|
|
|
| 35 |
</section>
|
| 36 |
|
|
|
|
| 37 |
<section class="section" id="concepts">
|
| 38 |
<h2>Basic ideas</h2>
|
| 39 |
<ul>
|
|
@@ -42,17 +74,20 @@
|
|
| 42 |
<li><strong>Generation:</strong> one round of simulation and selection. Training may mutate or recombine candidates between generations.</li>
|
| 43 |
<li><strong>Reward:</strong> a weighted choice of measured outcomes the trainer should favor. Reward settings guide selection; they do not change the simulator's physics.</li>
|
| 44 |
<li><strong>Frozen evaluation:</strong> runs one policy with unchanged weights. It does not train or create a winner population.</li>
|
| 45 |
-
<li><strong>Recipe:</strong> a reusable set of training settings and reward choices
|
|
|
|
| 46 |
</ul>
|
| 47 |
<p>Training measurements and fresh challenge checks are simulator results for reconstructed tracks. A supported challenge check replays the named current network with fixed weights; it does not accumulate stars across runs or evaluate original-game opponent races.</p>
|
| 48 |
<p>Challenge checks use the selected driving settings, including collision elimination, and the chosen run duration or the track’s longer challenge deadline, capped at 300 simulated seconds. This extra replay may add processing time. A condition that is not met within that replay is not proof that the network could never meet it in a longer run.</p>
|
| 49 |
</section>
|
| 50 |
|
|
|
|
| 51 |
<section class="section" id="freeze">
|
| 52 |
<h2>Selective freezing</h2>
|
| 53 |
-
<p>
|
| 54 |
</section>
|
| 55 |
|
|
|
|
| 56 |
<section class="section" id="continue">
|
| 57 |
<h2>Continue a winner</h2>
|
| 58 |
<p>After the result has been received, select a role from <strong>Winner to continue or evaluate</strong>:</p>
|
|
@@ -64,12 +99,14 @@
|
|
| 64 |
<p>Fitness winner means the best candidate under your chosen reward in the final generation. Fastest lap is the fastest completed forward lap observed during training. A clean-lap winner must meet the configured forward-lap count with zero physical contacts. One controller may fill multiple roles, and a role can be unavailable.</p>
|
| 65 |
</section>
|
| 66 |
|
|
|
|
| 67 |
<section class="section" id="compare">
|
| 68 |
<h2>Compare policies</h2>
|
| 69 |
<p>Frozen comparison runs selected policies in fresh simulations with their weights unchanged. Use the same track, vehicle, duration, controller frequency, collision and idle settings, and compute backend when you want a direct comparison. The app marks incompatible conditions instead of treating them as equivalent.</p>
|
| 70 |
<p>Look at lap time, completed laps, contacts, distance, and challenge status together. A short run may end before a lap or challenge deadline. A challenge result is a bounded prediction for the replica track conditions; it is not an original-game award or a Steam leaderboard result.</p>
|
| 71 |
</section>
|
| 72 |
|
|
|
|
| 73 |
<section class="section" id="storage">
|
| 74 |
<h2>Files, privacy, and storage</h2>
|
| 75 |
<p>Your selected files stay in the browser until you start a run or explicitly save/export them. Processing copies and undelivered results are temporary; results expire within five minutes and are deleted after verified browser receipt by default. The app's cleanup does not establish provider-wide zero-data retention.</p>
|
|
@@ -78,6 +115,7 @@
|
|
| 78 |
<p>Read the full <a href="/policy" target="_blank" rel="noopener">data policy</a> before using private files or bucket storage.</p>
|
| 79 |
</section>
|
| 80 |
|
|
|
|
| 81 |
<section class="section" id="limits">
|
| 82 |
<h2>Limits and compute</h2>
|
| 83 |
<p>The worker supports Formula, Rally, Snowmobile, and Truck. Networks support at most 20 inputs, 12 total layers, and 16 neurons per hidden layer. Formula, Rally, and Truck support up to five outputs; Snowmobile supports up to four and cannot use Handbrake. Fresh controllers for every vehicle require Steering and Acceleration; Formula imports retain their supported ordered output subsets.</p>
|
|
@@ -86,6 +124,7 @@
|
|
| 86 |
<p>These are bounded vanilla-worker limits. They do not cover arbitrary modified-game networks or establish full original-game physics parity.</p>
|
| 87 |
</section>
|
| 88 |
|
|
|
|
| 89 |
<section class="section" id="feedback">
|
| 90 |
<h2>Feedback</h2>
|
| 91 |
<p><a href="https://github.com/seeker-cyber-maker/driving_sim_rs/issues/new" target="_blank" rel="noopener">Open an editable GitHub issue draft</a>. It is not submitted automatically. Review the draft before posting and remove private names or data. Do not attach tokens, job keys, private networks, proprietary tracks, or unrelated logs.</p>
|
|
@@ -94,3 +133,5 @@
|
|
| 94 |
</main>
|
| 95 |
</body>
|
| 96 |
</html>
|
|
|
|
|
|
|
|
|
| 14 |
<header>
|
| 15 |
<p class="eyebrow">A bounded simulator experiment</p>
|
| 16 |
<h1>AI Learns to Drive — Help</h1>
|
| 17 |
+
<p class="lead">Choose a track, create or load a driving controller, then train and inspect the result. Cars are simulated behind the scenes; the map previews track layout and terrain, without showing cars driving.</p>
|
| 18 |
+
<p class="small">The app’s <strong>Quick start</strong> button opens the short <strong>New here? Start a first run</strong> checklist. <strong>Help & tutorial</strong> keeps this full guide one click away. This guide opens in a new tab, so your run and unsaved choices stay in place. Close this tab to return to the lab.</p>
|
| 19 |
<p class="callout">You can try the built-in replica tracks and browser network editor without installing the original game. This lab does not reproduce the full game, award official stars, or change game progress.</p>
|
| 20 |
<nav aria-label="Help topics"><ul>
|
| 21 |
+
<li><a href="#first-run">First run</a></li><li><a href="#recipes">Recipes</a></li><li><a href="#batches">Batches</a></li><li><a href="#concepts">Basic ideas</a></li><li><a href="#freeze">Selective freezing</a></li><li><a href="#continue">Continue a winner</a></li><li><a href="#compare">Compare policies</a></li><li><a href="#storage">Files and storage</a></li><li><a href="#limits">Limits and compute</a></li><li><a href="#feedback">Feedback</a></li>
|
| 22 |
</ul></nav>
|
| 23 |
</header>
|
| 24 |
|
| 25 |
+
|
| 26 |
<section class="section" id="first-run">
|
| 27 |
<h2>Start your first run</h2>
|
| 28 |
+
<p>You can start with the built-in settings. There is no need to save a recipe or build a batch first.</p>
|
| 29 |
+
<ol class="steps">
|
| 30 |
+
<li><strong>Choose a track.</strong> On <strong>Run & results</strong>, select a built-in replica or upload a <code>.track</code> file. The <strong>Choose a track</strong> button in Quick start takes you to the track controls.</li>
|
| 31 |
+
<li><strong>Create a controller.</strong> Pick a starter car and click <strong>Create starter network</strong>. This creates a small controller in the page without starting training. You can also upload a compatible <code>.evolution</code> file or use <strong>Network editor</strong>.</li>
|
| 32 |
+
<li><strong>Review the settings.</strong> Open <strong>Training & recipes</strong>, or use <strong>Review first-run settings</strong> in Quick start. Keep the starter values for a first experiment, or adjust them.</li>
|
| 33 |
+
<li><strong>Start training.</strong> Return to <strong>Run & results</strong>. Choose <strong>CPU — no GPU allowance</strong> to run without signing in. Under <strong>Action</strong>, select <strong>Train a population</strong>, then click <strong>Run training</strong>.</li>
|
| 34 |
+
<li><strong>Receive the result.</strong> When the run finishes, click <strong>Download result</strong> to receive the controller and reveal winner and challenge details. If connected bucket autosave is on, it handles result delivery for you.</li>
|
| 35 |
+
</ol>
|
| 36 |
+
<p class="small">The starter uses 32 candidates, 20 generations, and 900 ticks per generation (15 simulated seconds per car per generation), mutation 0.3, decay 0, one parent, and one elite candidate. The reward is distance-only (+100); collision and idle elimination are off. These values are a starting experiment, not a promise of a lap.</p>
|
| 37 |
+
<p class="small">To restore these values later, use <strong>Apply first-run settings to this form</strong>. Saved recipes stay as they are. To test an existing controller with unchanged weights, choose <strong>Frozen evaluation · one policy, unchanged weights</strong> under Action, then click <strong>Evaluate policy (weights frozen)</strong>.</p>
|
| 38 |
+
</section>
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
<section class="section" id="recipes">
|
| 42 |
+
<h2>Recipes: save a setup you want to reuse</h2>
|
| 43 |
+
<p>A recipe holds training settings, reward choices, and optional selective freezing. It does not contain a track, network, or result. Keep up to ten named recipes in slots <strong>A–J</strong> at the top of <strong>Training & recipes</strong>.</p>
|
| 44 |
+
<ol class="steps">
|
| 45 |
+
<li><strong>Save a setup.</strong> Adjust the training form, select a recipe slot, and give it a useful name. Click <strong>Save settings to A</strong> (or your chosen slot) to save the current settings in this browser.</li>
|
| 46 |
+
<li><strong>Reuse it.</strong> Select a named recipe and click <strong>Apply recipe</strong> to copy its settings into the form. Choosing a slot alone does not apply it. Applying a recipe does not start training.</li>
|
| 47 |
+
<li><strong>Check what is saved.</strong> The status shows whether the current form matches the saved recipe or has unsaved changes. Save again when you want to update that recipe.</li>
|
| 48 |
+
</ol>
|
| 49 |
+
<p><strong>Run training</strong> uses the current form. <strong>Batches use saved recipes</strong>, so save your changes before using them in a batch. Choose the track, starting network, and CPU or GPU on <strong>Run & results</strong>.</p>
|
| 50 |
+
<p class="small">Recipe libraries can be exported and imported as JSON. See <a href="#storage">Files and storage</a> for local and optional private-bucket storage.</p>
|
| 51 |
+
</section>
|
| 52 |
+
|
| 53 |
+
|
| 54 |
+
<section class="section" id="batches">
|
| 55 |
+
<h2>Batches: run saved recipes in order</h2>
|
| 56 |
+
<p>A batch is an ordered list of saved recipes. Use it when you want several training steps to run in sequence on the track and compute backend selected on <strong>Run & results</strong>.</p>
|
| 57 |
<ol class="steps">
|
| 58 |
+
<li><strong>Save your recipes first.</strong> On <strong>Batches</strong>, choose a batch slot and give the batch a name. Recipe slots and batch slots are separate.</li>
|
| 59 |
+
<li><strong>Build the sequence.</strong> Choose a saved recipe and click <strong>Add step</strong>. Use the step controls to move it up or down, duplicate it, or remove it. Repeats are allowed, with up to 20 steps per run. <strong>Advanced sequence</strong> also accepts comma-separated recipe slots, such as <code>A, B, A</code>.</li>
|
| 60 |
+
<li><strong>Choose where each step starts.</strong> Check <strong>Use each step’s result to train the next step</strong> to continue from the previous step’s result. Leave it unchecked to start every step from the same original network.</li>
|
| 61 |
+
<li><strong>Save, then run.</strong> Click <strong>Save batch</strong> to store the definition. Review the starting network, track, and CPU or GPU on <strong>Run & results</strong>, then click <strong>Run batch</strong> on Batches.</li>
|
|
|
|
| 62 |
</ol>
|
| 63 |
+
<p>For example, you could name recipe A “Explore” and recipe B “Refine”, then run <code>A, B, A</code>. With continuation checked, the network trains through all three steps. Unchecked, each step begins with the original network. These names are examples; the app uses the recipes you saved in those slots.</p>
|
| 64 |
+
<p><strong>Save batch and Run batch are separate actions.</strong> Changing a batch’s name, sequence, or continuation option creates an unsaved draft and disables Run batch. Save the draft to use it, or click <strong>Load saved batch</strong> to restore the saved version.</p>
|
| 65 |
+
<p class="small">Starting a batch takes a snapshot of its saved recipe settings. Later recipe changes apply to future batch launches. A batch stores recipe references and its continuation choice; it does not save networks, tracks, or results.</p>
|
| 66 |
</section>
|
| 67 |
|
| 68 |
+
|
| 69 |
<section class="section" id="concepts">
|
| 70 |
<h2>Basic ideas</h2>
|
| 71 |
<ul>
|
|
|
|
| 74 |
<li><strong>Generation:</strong> one round of simulation and selection. Training may mutate or recombine candidates between generations.</li>
|
| 75 |
<li><strong>Reward:</strong> a weighted choice of measured outcomes the trainer should favor. Reward settings guide selection; they do not change the simulator's physics.</li>
|
| 76 |
<li><strong>Frozen evaluation:</strong> runs one policy with unchanged weights. It does not train or create a winner population.</li>
|
| 77 |
+
<li><strong>Recipe:</strong> a reusable set of training settings and reward choices, saved in this browser by default. <a href="#recipes">Save and apply recipes</a>.</li>
|
| 78 |
+
<li><strong>Batch:</strong> an ordered sequence of saved recipes, with a choice to continue from each step’s result or restart from the original network. <a href="#batches">Build a batch</a>.</li>
|
| 79 |
</ul>
|
| 80 |
<p>Training measurements and fresh challenge checks are simulator results for reconstructed tracks. A supported challenge check replays the named current network with fixed weights; it does not accumulate stars across runs or evaluate original-game opponent races.</p>
|
| 81 |
<p>Challenge checks use the selected driving settings, including collision elimination, and the chosen run duration or the track’s longer challenge deadline, capped at 300 simulated seconds. This extra replay may add processing time. A condition that is not met within that replay is not proof that the network could never meet it in a longer run.</p>
|
| 82 |
</section>
|
| 83 |
|
| 84 |
+
|
| 85 |
<section class="section" id="freeze">
|
| 86 |
<h2>Selective freezing</h2>
|
| 87 |
+
<p>On <strong>Training & recipes</strong>, open <strong>Selective freezing</strong> to keep selected parameters at their values in the starting network. Freezing an input holds its outgoing weights; freezing a hidden layer holds its incoming weights and biases; freezing an output holds its incoming weights and bias. The available choices and names come from the selected network. Freeze selections are part of saved recipes and can be edited later. Frozen evaluation runs the selected policy unchanged.</p>
|
| 88 |
</section>
|
| 89 |
|
| 90 |
+
|
| 91 |
<section class="section" id="continue">
|
| 92 |
<h2>Continue a winner</h2>
|
| 93 |
<p>After the result has been received, select a role from <strong>Winner to continue or evaluate</strong>:</p>
|
|
|
|
| 99 |
<p>Fitness winner means the best candidate under your chosen reward in the final generation. Fastest lap is the fastest completed forward lap observed during training. A clean-lap winner must meet the configured forward-lap count with zero physical contacts. One controller may fill multiple roles, and a role can be unavailable.</p>
|
| 100 |
</section>
|
| 101 |
|
| 102 |
+
|
| 103 |
<section class="section" id="compare">
|
| 104 |
<h2>Compare policies</h2>
|
| 105 |
<p>Frozen comparison runs selected policies in fresh simulations with their weights unchanged. Use the same track, vehicle, duration, controller frequency, collision and idle settings, and compute backend when you want a direct comparison. The app marks incompatible conditions instead of treating them as equivalent.</p>
|
| 106 |
<p>Look at lap time, completed laps, contacts, distance, and challenge status together. A short run may end before a lap or challenge deadline. A challenge result is a bounded prediction for the replica track conditions; it is not an original-game award or a Steam leaderboard result.</p>
|
| 107 |
</section>
|
| 108 |
|
| 109 |
+
|
| 110 |
<section class="section" id="storage">
|
| 111 |
<h2>Files, privacy, and storage</h2>
|
| 112 |
<p>Your selected files stay in the browser until you start a run or explicitly save/export them. Processing copies and undelivered results are temporary; results expire within five minutes and are deleted after verified browser receipt by default. The app's cleanup does not establish provider-wide zero-data retention.</p>
|
|
|
|
| 115 |
<p>Read the full <a href="/policy" target="_blank" rel="noopener">data policy</a> before using private files or bucket storage.</p>
|
| 116 |
</section>
|
| 117 |
|
| 118 |
+
|
| 119 |
<section class="section" id="limits">
|
| 120 |
<h2>Limits and compute</h2>
|
| 121 |
<p>The worker supports Formula, Rally, Snowmobile, and Truck. Networks support at most 20 inputs, 12 total layers, and 16 neurons per hidden layer. Formula, Rally, and Truck support up to five outputs; Snowmobile supports up to four and cannot use Handbrake. Fresh controllers for every vehicle require Steering and Acceleration; Formula imports retain their supported ordered output subsets.</p>
|
|
|
|
| 124 |
<p>These are bounded vanilla-worker limits. They do not cover arbitrary modified-game networks or establish full original-game physics parity.</p>
|
| 125 |
</section>
|
| 126 |
|
| 127 |
+
|
| 128 |
<section class="section" id="feedback">
|
| 129 |
<h2>Feedback</h2>
|
| 130 |
<p><a href="https://github.com/seeker-cyber-maker/driving_sim_rs/issues/new" target="_blank" rel="noopener">Open an editable GitHub issue draft</a>. It is not submitted automatically. Review the draft before posting and remove private names or data. Do not attach tokens, job keys, private networks, proprietary tracks, or unrelated logs.</p>
|
|
|
|
| 133 |
</main>
|
| 134 |
</body>
|
| 135 |
</html>
|
| 136 |
+
|
| 137 |
+
|