Repository navigation
Expand file tree
/
Copy pathexplore.html
More file actions
11 lines (11 loc) · 85.7 KB
/
Copy pathexplore.html
File metadata and controls
11 lines (11 loc) · 85.7 KB
1
2
3
4
5
6
7
8
9
10
11
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Vision playground · UConn AI Club</title><link rel="stylesheet" href="style.css"><link rel="stylesheet" href="explore.css"><link rel="stylesheet" href="learning-guide.css"></head><body>
<header><a class="brand" href="start.html">UConn AI Club / VISION LAB</a> <small class="workshopVersion" style="display:inline-block;font-size:12px;font-weight:400;letter-spacing:0;color:#526b73;white-space:nowrap">Updated <time datetime="2026-10">October 2026</time></small><nav aria-label="Workshop navigation"><a data-stage="start" href="start.html">01 · Exercises</a><a data-stage="lecture" href="lecture.html#lecture-overview">02 · Lecture</a><a data-stage="playground" class="active" aria-current="page" href="explore.html">03 · Playground</a><a data-stage="deep" href="lecture.html#formula-backprop">04 · Go deeper</a><a data-stage="final" href="index.html">05 · Final challenge</a><a data-stage="home" href="take-home-code/index.html">06 · Take-home</a></nav></header>
<main><div class="intro"><p class="eyebrow">PIXELS → FEATURES → PLAY</p><h1>Make the computer see.</h1><p>Build an edge detector, draw in the air, then investigate what makes a hand tracker lose its way. No example collection is needed here.</p></div>
<section id="guided-playground" data-learning-guide="playground"><noscript><p>This guided route needs JavaScript. The lessons below remain readable; enable JavaScript to use the interactive experiments and notebook.</p></noscript></section>
<section class="panel" id="filterDetective"><p class="guideReturn"><a href="#guided-playground">↑ Back to the guided route</a></p><p class="eyebrow">EXERCISE 1 / FILTER DETECTIVE</p><h2>What does a filter notice?</h2><p>Predict which filter will respond to a vertical boundary. Click pixels to change the image; click a response cell to inspect its exact calculation. Keyboard: Tab enters each grid; arrow keys move between cells, Home/End move across a row, and Space or Enter activates the cell.</p><div class="buttons"><button id="vertical">Vertical boundary</button><button id="horizontal">Horizontal boundary</button><button id="checker">Checkerboard</button><button id="blank">Clear pixels</button><label>Filter <select id="filter"><option value="vertical">Vertical edge</option><option value="horizontal">Horizontal edge</option><option value="blur">Average / blur</option></select></label><label><input id="relu" type="checkbox" checked> Apply ReLU (replace negative values with zero)</label></div>
<div class="grids"><div><h3>8 × 8 pixels</h3><div id="pixels" class="matrix"></div></div><div><h3>3 × 3 filter weights</h3><div id="kernel" class="matrix"></div></div><div><h3>6 × 6 response</h3><div id="response" class="matrix"></div></div><div><h3>3 × 3 max pooling</h3><div id="pool" class="matrix"></div></div></div><p id="calculation" class="callout" aria-live="polite"></p><p class="small">The same nine weights slide across every 3 × 3 patch: multiply matching values, then add. We use stride 1 and no padding or bias. Pooling keeps the largest value in each 2 × 2 block. These filters are hand-designed; this page does not train a CNN.</p><details><summary>Team mission</summary><p>Draw a letter or symbol. Find a filter that highlights it. Turn ReLU off: what happened to the opposite edge? Blur the image: where did the fractional values come from? Explain why an edge detector alone cannot tell a cat from a hand.</p></details></section>
<section id="airArt" class="panel labSection"><p class="guideReturn"><a href="#guided-playground">↑ Back to the guided route</a></p><p class="eyebrow">EXERCISE 2 / AIR ART</p><h2>Your index finger is a paintbrush.</h2><p class="small">Freehand strokes need mouse/touch or optional camera input. Keyboard-only route: complete the filter grid, then try the party timer and scoring controls; these checks do not test drawing or hand tracking.</p><p>Move your index fingertip to aim. Pinch your thumb and index together to paint; separate them to lift the brush. Challenge: draw a star, initials, or a mystery object for your partner to guess.</p><div class="buttons"><button id="start" class="stopCamera">Start camera</button><button id="stop" disabled>Stop camera</button><button id="mouse">Use mouse / touch instead</button><button id="clear">Clear drawing</button><label><input id="gestureEraser" type="checkbox" checked> Palm = eraser</label><button id="eraser" aria-pressed="false">Eraser</button><label>Brush size <select id="brushSize"><option value="7">Fine</option><option value="16" selected>Medium</option><option value="30">Bold</option></select></label><button id="hideCamera" aria-pressed="false">Hide camera preview</button><label>Ink <select id="ink"><option value="#087e80">Teal</option><option value="#ea6852">Coral</option><option value="#7549bc">Purple</option><option value="#142d32">Dark</option></select></label><button id="save">Save drawing PNG</button></div><p id="toolCue" class="small">Camera: pinch to draw; hold an open palm for 0.35 seconds to erase. Pinch again to use the pen.</p><p id="status" role="status">Mouse / touch mode: drag on the drawing board. Camera mode uses the bundled pretrained model.</p>
<div class="teamGame"><p class="eyebrow">AIR ART / PARTY MODE</p><h2>Draw something ridiculous.</h2><p class="partyRules">One artist, everyone guessing, one ridiculous drawing. Play together to reach a shared goal—or switch to teams for friendly competition.</p><div class="buttons partySetup"><label>Play together or compete <select id="teamCount"><option value="1" selected>One group · co-op</option><option value="2">Two teams</option><option>3</option><option>4</option></select></label><label>Rounds per group <select id="turnCount"><option>2</option><option selected>3</option><option>4</option></select></label><label>Turn length <select id="turnSeconds"><option value="30">30 seconds</option><option value="60" selected>60 seconds</option><option value="90">90 seconds</option></select></label><button id="newMatch">Start / reset match</button><button id="freeDraw">Return to free drawing</button></div><div class="buttons gameOptions"><label>Twist <select id="twist"><option value="classic">Classic</option><option value="mirror">Mirror mischief</option><option value="vanish">Vanishing ink</option><option value="mix" selected>Surprise mix</option></select></label><label>Prompt difficulty <select id="difficulty"><option value="easy">Easy · objects</option><option value="medium">Medium · scenes</option><option value="hard">Hard · ideas</option><option value="mixed">Mixed · grows harder</option></select></label><button id="gameSettings" aria-expanded="false">Game setup</button></div><p id="bankStatus" class="small"></p><div id="scoreboard" aria-label="Team scoreboard"></div><p id="twistCue" class="twistCue"></p><div class="gameStatus"><strong id="gameCue" role="status"></strong><strong id="clock" aria-label="Time remaining"></strong></div><div class="buttons"><button id="showPrompt">Artist: view prompt</button><button id="startTurn">Start turn</button><button id="pauseTurn">Pause timer</button><button id="correct">Correct guess · +1</button><button id="pass">Pass / end · 0</button><button id="nextTeam">Next team</button><button id="partyView">Large game screen</button></div><details class="partyRules"><summary>Game rules</summary><p class="small">Artist: no talking or writing letters. Someone clicks Correct when the group guesses it. Swap artists each round. Mirror flips horizontal control; vanishing ink fades while you draw. Surprise mix gives every team the same twist in each round. Hiding the camera hides the preview only; tracking continues until Stop camera. Before revealing the prompt, ask guessers to look away. This shared screen cannot hide a word from people watching it. Hide the prompt before starting. If camera tracking fails, pause the timer or switch to mouse/touch. Camera and mouse matches should use the same input mode for every team. Scores last until reset or refresh. <button id="reloadBank">Reload prompt bank · resets game</button></p></details></div>
<dialog id="promptCard"><p class="eyebrow">ARTIST ONLY / OTHERS LOOK AWAY</p><h2 id="secretWord"></h2><p>Remember the word. Draw without speaking or writing letters.</p><button id="hidePrompt">Hide prompt</button></dialog><div class="artLayout"><div class="stage"><video id="video" autoplay muted playsinline></video><canvas id="tracking" width="640" height="480"></canvas><span id="seen">Camera is off</span></div><div class="board"><canvas id="art" width="800" height="600" aria-label="Drawing board"></canvas><canvas id="pointer" width="800" height="600"></canvas></div></div><p class="small">The video shows the computer's landmarks; the board mirrors your hand. Painting is a rule on landmark distances, not a learned drawing classifier. Video stays in this browser. Only Save drawing exports the painted board.</p><aside class="cameraCredit" aria-labelledby="cameraCreditTitle"><h3 id="cameraCreditTitle">Hand-tracking credit</h3><p>Powered by <a href="https://developers.google.com/edge/mediapipe/solutions/vision/gesture_recognizer" target="_blank" rel="noopener noreferrer">Google MediaPipe Gesture Recognizer</a>. Its pretrained vision models provide hand landmarks and gesture labels. This playground uses those results for fingertip positioning, pinch-to-draw and palm-to-erase rules; ordinary canvas code paints the strokes.</p><p class="small">The camera runs inference with an already-trained model. It does not train the hand model or run the lecture’s miniature CNN training loop.</p><div class="cameraArchitecture" aria-labelledby="cameraArchitectureTitle"><h4 id="cameraArchitectureTitle">Behind one moving fingertip</h4><p class="small">A simplified system diagram: several pretrained neural models, image processing, tracking and application rules work together.</p><ol class="cameraPipeline" aria-label="Hand landmark pipeline"><li><b>1 · Camera frame</b><span>Prepare image data: rotation, resizing and normalization.</span></li><li class="neuralStage"><b>2 · Palm detector</b><span>A neural model locates the hand region when detection is needed.</span></li><li><b>3 · Hand crop</b><span>Focus the next model on the detected hand region.</span></li><li class="neuralStage"><b>4 · Landmark model</b><span>A neural model predicts 21 hand points, plus hand-presence and handedness information.</span></li></ol><div class="cameraTrackingLoop"><b>↶ Across video frames:</b> reuse the tracked hand region; run palm detection again when presence or tracking confidence is insufficient.</div><p class="cameraBranchLabel">The landmark results then feed two paths ↓</p><div class="cameraBranches"><section><h5>Position → drawing</h5><p><b>Fingertip coordinates + pinch distance</b><br>Workshop rules choose where to paint and whether the brush is down.</p><p>↓ Canvas draws or erases pixels.</p></section><section><h5>Geometry → gesture</h5><p><b>Gesture embedding model → gesture classifier</b><br>Two neural stages turn hand geometry into a gesture label.</p><p>↓ Workshop rules use Open_Palm confidence and a 0.35-second hold to enable erasing.</p></section></div><p class="small"><b>Why complexity grows:</b> four neural model components sit alongside cropping, tracking, confidence checks, coordinate mapping and drawing logic. This shows the system’s stages, not every layer inside each model. The lecture’s tiny CNN makes one learning calculation visible; this pretrained pipeline solves a much larger task.</p></div><!-- MODEL_LAYERS_START --><section class="modelLayers" aria-labelledby="modelLayersTitle"><h4 id="modelLayersTitle">Inside the models: compare the actual layers</h4><p>Our lecture CNN has <b>one convolution, ReLU, flatten and one dense classifier</b>, followed by softmax. It has 15 learned weights and biases. The camera uses the much larger graphs below.</p><p class="small">Counts and tensor shapes are read directly from the model bundle shipped with this workshop. These are <b>exported TFLite graph operations</b>, not a count of conceptual layers: activations may be fused into convolution/dense operations, while weight conversion appears as DEQUANTIZE. The graphs also branch; the operation list is execution order, not one unbranched chain.</p><div class="modelComparisonScroll"><table class="modelComparison"><thead><tr><th>Model</th><th>Standard conv</th><th>Depthwise conv</th><th>Dense</th><th>Other structure</th></tr></thead><tbody><tr><th>Lecture miniature</th><td>1</td><td>0</td><td>1</td><td>ReLU → flatten → scores → softmax</td></tr><tr><th>Palm detector</th><td>35</td><td>28</td><td>0</td><td>31 PRELU, 30 ADD, 4 MAX_POOL_2D, 3 PAD, 2 RESIZE_BILINEAR, 4 RESHAPE, 2 CONCATENATION</td></tr><tr><th>Hand landmark model</th><td>31</td><td>16</td><td>4</td><td>9 ADD, 1 MEAN, 2 LOGISTIC</td></tr><tr><th>Gesture embedding model</th><td>0</td><td>0</td><td>9</td><td>1 GATHER, 1 MEAN, 3 SUB, 1 UNPACK, 2 REDUCE_MAX, 2 REDUCE_MIN, 1 MAXIMUM, 2 RESHAPE, 1 STRIDED_SLICE, 13 ADD, 1 DIV, 6 MUL</td></tr><tr><th>Gesture classifier</th><td>0</td><td>0</td><td>1</td><td>1 MUL, 1 ADD, 1 SOFTMAX</td></tr></tbody></table></div><p><b>Standard convolution</b> mixes spatial patterns and channels. <b>Depthwise convolution</b> filters channels separately. <b>ADD</b> operations can merge branches; the tensor IDs below reveal the actual connections. <b>Dense</b> layers mix feature values. The gesture models consume hand geometry/features, so they are not image CNNs.</p><details class="modelLayerDetail"><summary>Palm detector · 139 operations excluding 133 weight-conversion operations</summary><p><b>Inputs:</b> 1 × 192 × 192 × 3<br><b>Outputs:</b> 1 × 2016 × 18; 1 × 2016 × 1</p><p class="small">Image tensors use batch × height × width × channels. Tensor IDs connect outputs to later inputs. Filter and bias tensors appear among the operation inputs. Fused activation NONE means the operation itself has no fused activation; a separate operation may follow.</p><div class="layerSequence" aria-label="Operation overview"><span>2: CONV_2D</span><span>4: PRELU</span><span>7: DEPTHWISE_CONV_2D</span><span>10: CONV_2D</span><span>11: ADD</span><span>13: PRELU</span><span>15: DEPTHWISE_CONV_2D</span><span>18: CONV_2D</span><span>19: ADD</span><span>21: PRELU</span><span>23: DEPTHWISE_CONV_2D</span><span>26: CONV_2D</span><span>27: ADD</span><span>29: PRELU</span><span>31: DEPTHWISE_CONV_2D</span><span>34: CONV_2D</span><span>35: ADD</span><span>37: PRELU</span><span>39: DEPTHWISE_CONV_2D</span><span>42: CONV_2D</span><span>43: MAX_POOL_2D</span><span>44: PAD</span><span>45: ADD</span><span>47: PRELU</span><span>50: DEPTHWISE_CONV_2D</span><span>53: CONV_2D</span><span>54: ADD</span><span>56: PRELU</span><span>58: DEPTHWISE_CONV_2D</span><span>61: CONV_2D</span><span>62: ADD</span><span>64: PRELU</span><span>66: DEPTHWISE_CONV_2D</span><span>69: CONV_2D</span><span>70: ADD</span><span>72: PRELU</span><span>74: DEPTHWISE_CONV_2D</span><span>77: CONV_2D</span><span>78: ADD</span><span>80: PRELU</span><span>82: DEPTHWISE_CONV_2D</span><span>85: CONV_2D</span><span>86: MAX_POOL_2D</span><span>87: PAD</span><span>88: ADD</span><span>90: PRELU</span><span>93: DEPTHWISE_CONV_2D</span><span>96: CONV_2D</span><span>97: ADD</span><span>99: PRELU</span><span>101: DEPTHWISE_CONV_2D</span><span>104: CONV_2D</span><span>105: ADD</span><span>107: PRELU</span><span>109: DEPTHWISE_CONV_2D</span><span>112: CONV_2D</span><span>113: ADD</span><span>115: PRELU</span><span>117: DEPTHWISE_CONV_2D</span><span>120: CONV_2D</span><span>121: ADD</span><span>123: PRELU</span><span>125: DEPTHWISE_CONV_2D</span><span>128: CONV_2D</span><span>129: MAX_POOL_2D</span><span>130: PAD</span><span>131: ADD</span><span>133: PRELU</span><span>136: DEPTHWISE_CONV_2D</span><span>139: CONV_2D</span><span>140: ADD</span><span>142: PRELU</span><span>144: DEPTHWISE_CONV_2D</span><span>147: CONV_2D</span><span>148: ADD</span><span>150: PRELU</span><span>152: DEPTHWISE_CONV_2D</span><span>155: CONV_2D</span><span>156: ADD</span><span>158: PRELU</span><span>160: DEPTHWISE_CONV_2D</span><span>163: CONV_2D</span><span>164: ADD</span><span>166: PRELU</span><span>168: DEPTHWISE_CONV_2D</span><span>171: CONV_2D</span><span>172: MAX_POOL_2D</span><span>173: ADD</span><span>175: PRELU</span><span>177: DEPTHWISE_CONV_2D</span><span>180: CONV_2D</span><span>181: ADD</span><span>183: PRELU</span><span>185: DEPTHWISE_CONV_2D</span><span>188: CONV_2D</span><span>189: ADD</span><span>191: PRELU</span><span>193: DEPTHWISE_CONV_2D</span><span>196: CONV_2D</span><span>197: ADD</span><span>199: PRELU</span><span>201: DEPTHWISE_CONV_2D</span><span>204: CONV_2D</span><span>205: ADD</span><span>207: PRELU</span><span>208: RESIZE_BILINEAR</span><span>211: CONV_2D</span><span>213: PRELU</span><span>214: ADD</span><span>216: DEPTHWISE_CONV_2D</span><span>219: CONV_2D</span><span>220: ADD</span><span>222: PRELU</span><span>224: DEPTHWISE_CONV_2D</span><span>227: CONV_2D</span><span>228: ADD</span><span>230: PRELU</span><span>233: CONV_2D</span><span>234: RESHAPE</span><span>237: CONV_2D</span><span>238: RESHAPE</span><span>239: RESIZE_BILINEAR</span><span>242: CONV_2D</span><span>244: PRELU</span><span>245: ADD</span><span>247: DEPTHWISE_CONV_2D</span><span>250: CONV_2D</span><span>251: ADD</span><span>253: PRELU</span><span>255: DEPTHWISE_CONV_2D</span><span>258: CONV_2D</span><span>259: ADD</span><span>261: PRELU</span><span>264: CONV_2D</span><span>265: RESHAPE</span><span>266: CONCATENATION</span><span>269: CONV_2D</span><span>270: RESHAPE</span><span>271: CONCATENATION</span></div><details><summary>Every operation, shape and connection</summary><div class="modelLayerTableScroll"><table><thead><tr><th>Op</th><th>Type</th><th>Input tensor IDs: shapes</th><th>Output tensor IDs: shapes</th><th>Fused activation / stride</th></tr></thead><tbody><tr><td>0</td><td>DEQUANTIZE</td><td>#77: 32</td><td>#346: 32</td><td>—</td></tr><tr><td>1</td><td>DEQUANTIZE</td><td>#11: 32 × 5 × 5 × 3</td><td>#387: 32 × 5 × 5 × 3</td><td>—</td></tr><tr><td>2</td><td>CONV_2D</td><td>#0: 1 × 192 × 192 × 3<br>#387: 32 × 5 × 5 × 3<br>#346: 32</td><td>#141: 1 × 96 × 96 × 32</td><td>NONE; stride 2 × 2</td></tr><tr><td>3</td><td>DEQUANTIZE</td><td>#78: 1 × 1 × 32</td><td>#344: 1 × 1 × 32</td><td>—</td></tr><tr><td>4</td><td>PRELU</td><td>#141: 1 × 96 × 96 × 32<br>#344: 1 × 1 × 32</td><td>#142: 1 × 96 × 96 × 32</td><td>—</td></tr><tr><td>5</td><td>DEQUANTIZE</td><td>#12: 1 × 5 × 5 × 32</td><td>#353: 1 × 5 × 5 × 32</td><td>—</td></tr><tr><td>6</td><td>DEQUANTIZE</td><td>#10: 32</td><td>#408: 32</td><td>—</td></tr><tr><td>7</td><td>DEPTHWISE_CONV_2D</td><td>#142: 1 × 96 × 96 × 32<br>#353: 1 × 5 × 5 × 32<br>#408: 32</td><td>#143: 1 × 96 × 96 × 32</td><td>NONE; stride 1 × 1</td></tr><tr><td>8</td><td>DEQUANTIZE</td><td>#79: 32</td><td>#328: 32</td><td>—</td></tr><tr><td>9</td><td>DEQUANTIZE</td><td>#13: 32 × 1 × 1 × 32</td><td>#336: 32 × 1 × 1 × 32</td><td>—</td></tr><tr><td>10</td><td>CONV_2D</td><td>#143: 1 × 96 × 96 × 32<br>#336: 32 × 1 × 1 × 32<br>#328: 32</td><td>#144: 1 × 96 × 96 × 32</td><td>NONE; stride 1 × 1</td></tr><tr><td>11</td><td>ADD</td><td>#142: 1 × 96 × 96 × 32<br>#144: 1 × 96 × 96 × 32</td><td>#145: 1 × 96 × 96 × 32</td><td>—</td></tr><tr><td>12</td><td>DEQUANTIZE</td><td>#80: 1 × 1 × 32</td><td>#310: 1 × 1 × 32</td><td>—</td></tr><tr><td>13</td><td>PRELU</td><td>#145: 1 × 96 × 96 × 32<br>#310: 1 × 1 × 32</td><td>#146: 1 × 96 × 96 × 32</td><td>—</td></tr><tr><td>14</td><td>DEQUANTIZE</td><td>#14: 1 × 5 × 5 × 32</td><td>#319: 1 × 5 × 5 × 32</td><td>—</td></tr><tr><td>15</td><td>DEPTHWISE_CONV_2D</td><td>#146: 1 × 96 × 96 × 32<br>#319: 1 × 5 × 5 × 32<br>#408: 32</td><td>#147: 1 × 96 × 96 × 32</td><td>NONE; stride 1 × 1</td></tr><tr><td>16</td><td>DEQUANTIZE</td><td>#81: 32</td><td>#291: 32</td><td>—</td></tr><tr><td>17</td><td>DEQUANTIZE</td><td>#15: 32 × 1 × 1 × 32</td><td>#297: 32 × 1 × 1 × 32</td><td>—</td></tr><tr><td>18</td><td>CONV_2D</td><td>#147: 1 × 96 × 96 × 32<br>#297: 32 × 1 × 1 × 32<br>#291: 32</td><td>#148: 1 × 96 × 96 × 32</td><td>NONE; stride 1 × 1</td></tr><tr><td>19</td><td>ADD</td><td>#146: 1 × 96 × 96 × 32<br>#148: 1 × 96 × 96 × 32</td><td>#149: 1 × 96 × 96 × 32</td><td>—</td></tr><tr><td>20</td><td>DEQUANTIZE</td><td>#82: 1 × 1 × 32</td><td>#404: 1 × 1 × 32</td><td>—</td></tr><tr><td>21</td><td>PRELU</td><td>#149: 1 × 96 × 96 × 32<br>#404: 1 × 1 × 32</td><td>#150: 1 × 96 × 96 × 32</td><td>—</td></tr><tr><td>22</td><td>DEQUANTIZE</td><td>#16: 1 × 5 × 5 × 32</td><td>#295: 1 × 5 × 5 × 32</td><td>—</td></tr><tr><td>23</td><td>DEPTHWISE_CONV_2D</td><td>#150: 1 × 96 × 96 × 32<br>#295: 1 × 5 × 5 × 32<br>#408: 32</td><td>#151: 1 × 96 × 96 × 32</td><td>NONE; stride 1 × 1</td></tr><tr><td>24</td><td>DEQUANTIZE</td><td>#83: 32</td><td>#368: 32</td><td>—</td></tr><tr><td>25</td><td>DEQUANTIZE</td><td>#17: 32 × 1 × 1 × 32</td><td>#407: 32 × 1 × 1 × 32</td><td>—</td></tr><tr><td>26</td><td>CONV_2D</td><td>#151: 1 × 96 × 96 × 32<br>#407: 32 × 1 × 1 × 32<br>#368: 32</td><td>#152: 1 × 96 × 96 × 32</td><td>NONE; stride 1 × 1</td></tr><tr><td>27</td><td>ADD</td><td>#150: 1 × 96 × 96 × 32<br>#152: 1 × 96 × 96 × 32</td><td>#153: 1 × 96 × 96 × 32</td><td>—</td></tr><tr><td>28</td><td>DEQUANTIZE</td><td>#84: 1 × 1 × 32</td><td>#351: 1 × 1 × 32</td><td>—</td></tr><tr><td>29</td><td>PRELU</td><td>#153: 1 × 96 × 96 × 32<br>#351: 1 × 1 × 32</td><td>#154: 1 × 96 × 96 × 32</td><td>—</td></tr><tr><td>30</td><td>DEQUANTIZE</td><td>#18: 1 × 5 × 5 × 32</td><td>#388: 1 × 5 × 5 × 32</td><td>—</td></tr><tr><td>31</td><td>DEPTHWISE_CONV_2D</td><td>#154: 1 × 96 × 96 × 32<br>#388: 1 × 5 × 5 × 32<br>#408: 32</td><td>#155: 1 × 96 × 96 × 32</td><td>NONE; stride 1 × 1</td></tr><tr><td>32</td><td>DEQUANTIZE</td><td>#85: 32</td><td>#334: 32</td><td>—</td></tr><tr><td>33</td><td>DEQUANTIZE</td><td>#19: 32 × 1 × 1 × 32</td><td>#369: 32 × 1 × 1 × 32</td><td>—</td></tr><tr><td>34</td><td>CONV_2D</td><td>#155: 1 × 96 × 96 × 32<br>#369: 32 × 1 × 1 × 32<br>#334: 32</td><td>#156: 1 × 96 × 96 × 32</td><td>NONE; stride 1 × 1</td></tr><tr><td>35</td><td>ADD</td><td>#154: 1 × 96 × 96 × 32<br>#156: 1 × 96 × 96 × 32</td><td>#157: 1 × 96 × 96 × 32</td><td>—</td></tr><tr><td>36</td><td>DEQUANTIZE</td><td>#86: 1 × 1 × 32</td><td>#315: 1 × 1 × 32</td><td>—</td></tr><tr><td>37</td><td>PRELU</td><td>#157: 1 × 96 × 96 × 32<br>#315: 1 × 1 × 32</td><td>#158: 1 × 96 × 96 × 32</td><td>—</td></tr><tr><td>38</td><td>DEQUANTIZE</td><td>#20: 1 × 5 × 5 × 32</td><td>#355: 1 × 5 × 5 × 32</td><td>—</td></tr><tr><td>39</td><td>DEPTHWISE_CONV_2D</td><td>#158: 1 × 96 × 96 × 32<br>#355: 1 × 5 × 5 × 32<br>#408: 32</td><td>#159: 1 × 48 × 48 × 32</td><td>NONE; stride 2 × 2</td></tr><tr><td>40</td><td>DEQUANTIZE</td><td>#22: 64 × 1 × 1 × 32</td><td>#303: 64 × 1 × 1 × 32</td><td>—</td></tr><tr><td>41</td><td>DEQUANTIZE</td><td>#87: 64</td><td>#313: 64</td><td>—</td></tr><tr><td>42</td><td>CONV_2D</td><td>#159: 1 × 48 × 48 × 32<br>#303: 64 × 1 × 1 × 32<br>#313: 64</td><td>#160: 1 × 48 × 48 × 64</td><td>NONE; stride 1 × 1</td></tr><tr><td>43</td><td>MAX_POOL_2D</td><td>#158: 1 × 96 × 96 × 32</td><td>#161: 1 × 48 × 48 × 32</td><td>—</td></tr><tr><td>44</td><td>PAD</td><td>#161: 1 × 48 × 48 × 32<br>#9: 4 × 2</td><td>#162: 1 × 48 × 48 × 64</td><td>—</td></tr><tr><td>45</td><td>ADD</td><td>#162: 1 × 48 × 48 × 64<br>#160: 1 × 48 × 48 × 64</td><td>#163: 1 × 48 × 48 × 64</td><td>—</td></tr><tr><td>46</td><td>DEQUANTIZE</td><td>#88: 1 × 1 × 64</td><td>#293: 1 × 1 × 64</td><td>—</td></tr><tr><td>47</td><td>PRELU</td><td>#163: 1 × 48 × 48 × 64<br>#293: 1 × 1 × 64</td><td>#164: 1 × 48 × 48 × 64</td><td>—</td></tr><tr><td>48</td><td>DEQUANTIZE</td><td>#23: 1 × 5 × 5 × 64</td><td>#284: 1 × 5 × 5 × 64</td><td>—</td></tr><tr><td>49</td><td>DEQUANTIZE</td><td>#21: 64</td><td>#324: 64</td><td>—</td></tr><tr><td>50</td><td>DEPTHWISE_CONV_2D</td><td>#164: 1 × 48 × 48 × 64<br>#284: 1 × 5 × 5 × 64<br>#324: 64</td><td>#165: 1 × 48 × 48 × 64</td><td>NONE; stride 1 × 1</td></tr><tr><td>51</td><td>DEQUANTIZE</td><td>#24: 64 × 1 × 1 × 64</td><td>#396: 64 × 1 × 1 × 64</td><td>—</td></tr><tr><td>52</td><td>DEQUANTIZE</td><td>#89: 64</td><td>#405: 64</td><td>—</td></tr><tr><td>53</td><td>CONV_2D</td><td>#165: 1 × 48 × 48 × 64<br>#396: 64 × 1 × 1 × 64<br>#405: 64</td><td>#166: 1 × 48 × 48 × 64</td><td>NONE; stride 1 × 1</td></tr><tr><td>54</td><td>ADD</td><td>#164: 1 × 48 × 48 × 64<br>#166: 1 × 48 × 48 × 64</td><td>#167: 1 × 48 × 48 × 64</td><td>—</td></tr><tr><td>55</td><td>DEQUANTIZE</td><td>#90: 1 × 1 × 64</td><td>#386: 1 × 1 × 64</td><td>—</td></tr><tr><td>56</td><td>PRELU</td><td>#167: 1 × 48 × 48 × 64<br>#386: 1 × 1 × 64</td><td>#168: 1 × 48 × 48 × 64</td><td>—</td></tr><tr><td>57</td><td>DEQUANTIZE</td><td>#25: 1 × 5 × 5 × 64</td><td>#392: 1 × 5 × 5 × 64</td><td>—</td></tr><tr><td>58</td><td>DEPTHWISE_CONV_2D</td><td>#168: 1 × 48 × 48 × 64<br>#392: 1 × 5 × 5 × 64<br>#324: 64</td><td>#169: 1 × 48 × 48 × 64</td><td>NONE; stride 1 × 1</td></tr><tr><td>59</td><td>DEQUANTIZE</td><td>#91: 64</td><td>#370: 64</td><td>—</td></tr><tr><td>60</td><td>DEQUANTIZE</td><td>#26: 64 × 1 × 1 × 64</td><td>#374: 64 × 1 × 1 × 64</td><td>—</td></tr><tr><td>61</td><td>CONV_2D</td><td>#169: 1 × 48 × 48 × 64<br>#374: 64 × 1 × 1 × 64<br>#370: 64</td><td>#170: 1 × 48 × 48 × 64</td><td>NONE; stride 1 × 1</td></tr><tr><td>62</td><td>ADD</td><td>#168: 1 × 48 × 48 × 64<br>#170: 1 × 48 × 48 × 64</td><td>#171: 1 × 48 × 48 × 64</td><td>—</td></tr><tr><td>63</td><td>DEQUANTIZE</td><td>#92: 1 × 1 × 64</td><td>#338: 1 × 1 × 64</td><td>—</td></tr><tr><td>64</td><td>PRELU</td><td>#171: 1 × 48 × 48 × 64<br>#338: 1 × 1 × 64</td><td>#172: 1 × 48 × 48 × 64</td><td>—</td></tr><tr><td>65</td><td>DEQUANTIZE</td><td>#27: 1 × 5 × 5 × 64</td><td>#357: 1 × 5 × 5 × 64</td><td>—</td></tr><tr><td>66</td><td>DEPTHWISE_CONV_2D</td><td>#172: 1 × 48 × 48 × 64<br>#357: 1 × 5 × 5 × 64<br>#324: 64</td><td>#173: 1 × 48 × 48 × 64</td><td>NONE; stride 1 × 1</td></tr><tr><td>67</td><td>DEQUANTIZE</td><td>#93: 64</td><td>#321: 64</td><td>—</td></tr><tr><td>68</td><td>DEQUANTIZE</td><td>#28: 64 × 1 × 1 × 64</td><td>#339: 64 × 1 × 1 × 64</td><td>—</td></tr><tr><td>69</td><td>CONV_2D</td><td>#173: 1 × 48 × 48 × 64<br>#339: 64 × 1 × 1 × 64<br>#321: 64</td><td>#174: 1 × 48 × 48 × 64</td><td>NONE; stride 1 × 1</td></tr><tr><td>70</td><td>ADD</td><td>#172: 1 × 48 × 48 × 64<br>#174: 1 × 48 × 48 × 64</td><td>#175: 1 × 48 × 48 × 64</td><td>—</td></tr><tr><td>71</td><td>DEQUANTIZE</td><td>#94: 1 × 1 × 64</td><td>#301: 1 × 1 × 64</td><td>—</td></tr><tr><td>72</td><td>PRELU</td><td>#175: 1 × 48 × 48 × 64<br>#301: 1 × 1 × 64</td><td>#176: 1 × 48 × 48 × 64</td><td>—</td></tr><tr><td>73</td><td>DEQUANTIZE</td><td>#29: 1 × 5 × 5 × 64</td><td>#304: 1 × 5 × 5 × 64</td><td>—</td></tr><tr><td>74</td><td>DEPTHWISE_CONV_2D</td><td>#176: 1 × 48 × 48 × 64<br>#304: 1 × 5 × 5 × 64<br>#324: 64</td><td>#177: 1 × 48 × 48 × 64</td><td>NONE; stride 1 × 1</td></tr><tr><td>75</td><td>DEQUANTIZE</td><td>#95: 64</td><td>#282: 64</td><td>—</td></tr><tr><td>76</td><td>DEQUANTIZE</td><td>#30: 64 × 1 × 1 × 64</td><td>#288: 64 × 1 × 1 × 64</td><td>—</td></tr><tr><td>77</td><td>CONV_2D</td><td>#177: 1 × 48 × 48 × 64<br>#288: 64 × 1 × 1 × 64<br>#282: 64</td><td>#178: 1 × 48 × 48 × 64</td><td>NONE; stride 1 × 1</td></tr><tr><td>78</td><td>ADD</td><td>#176: 1 × 48 × 48 × 64<br>#178: 1 × 48 × 48 × 64</td><td>#179: 1 × 48 × 48 × 64</td><td>—</td></tr><tr><td>79</td><td>DEQUANTIZE</td><td>#96: 1 × 1 × 64</td><td>#410: 1 × 1 × 64</td><td>—</td></tr><tr><td>80</td><td>PRELU</td><td>#179: 1 × 48 × 48 × 64<br>#410: 1 × 1 × 64</td><td>#180: 1 × 48 × 48 × 64</td><td>—</td></tr><tr><td>81</td><td>DEQUANTIZE</td><td>#31: 1 × 5 × 5 × 64</td><td>#400: 1 × 5 × 5 × 64</td><td>—</td></tr><tr><td>82</td><td>DEPTHWISE_CONV_2D</td><td>#180: 1 × 48 × 48 × 64<br>#400: 1 × 5 × 5 × 64<br>#324: 64</td><td>#181: 1 × 24 × 24 × 64</td><td>NONE; stride 2 × 2</td></tr><tr><td>83</td><td>DEQUANTIZE</td><td>#33: 128 × 1 × 1 × 64</td><td>#362: 128 × 1 × 1 × 64</td><td>—</td></tr><tr><td>84</td><td>DEQUANTIZE</td><td>#97: 128</td><td>#390: 128</td><td>—</td></tr><tr><td>85</td><td>CONV_2D</td><td>#181: 1 × 24 × 24 × 64<br>#362: 128 × 1 × 1 × 64<br>#390: 128</td><td>#182: 1 × 24 × 24 × 128</td><td>NONE; stride 1 × 1</td></tr><tr><td>86</td><td>MAX_POOL_2D</td><td>#180: 1 × 48 × 48 × 64</td><td>#183: 1 × 24 × 24 × 64</td><td>—</td></tr><tr><td>87</td><td>PAD</td><td>#183: 1 × 24 × 24 × 64<br>#8: 4 × 2</td><td>#184: 1 × 24 × 24 × 128</td><td>—</td></tr><tr><td>88</td><td>ADD</td><td>#184: 1 × 24 × 24 × 128<br>#182: 1 × 24 × 24 × 128</td><td>#185: 1 × 24 × 24 × 128</td><td>—</td></tr><tr><td>89</td><td>DEQUANTIZE</td><td>#98: 1 × 1 × 128</td><td>#372: 1 × 1 × 128</td><td>—</td></tr><tr><td>90</td><td>PRELU</td><td>#185: 1 × 24 × 24 × 128<br>#372: 1 × 1 × 128</td><td>#186: 1 × 24 × 24 × 128</td><td>—</td></tr><tr><td>91</td><td>DEQUANTIZE</td><td>#34: 1 × 5 × 5 × 128</td><td>#361: 1 × 5 × 5 × 128</td><td>—</td></tr><tr><td>92</td><td>DEQUANTIZE</td><td>#32: 128</td><td>#380: 128</td><td>—</td></tr><tr><td>93</td><td>DEPTHWISE_CONV_2D</td><td>#186: 1 × 24 × 24 × 128<br>#361: 1 × 5 × 5 × 128<br>#380: 128</td><td>#187: 1 × 24 × 24 × 128</td><td>NONE; stride 1 × 1</td></tr><tr><td>94</td><td>DEQUANTIZE</td><td>#35: 128 × 1 × 1 × 128</td><td>#342: 128 × 1 × 1 × 128</td><td>—</td></tr><tr><td>95</td><td>DEQUANTIZE</td><td>#99: 128</td><td>#354: 128</td><td>—</td></tr><tr><td>96</td><td>CONV_2D</td><td>#187: 1 × 24 × 24 × 128<br>#342: 128 × 1 × 1 × 128<br>#354: 128</td><td>#188: 1 × 24 × 24 × 128</td><td>NONE; stride 1 × 1</td></tr><tr><td>97</td><td>ADD</td><td>#186: 1 × 24 × 24 × 128<br>#188: 1 × 24 × 24 × 128</td><td>#189: 1 × 24 × 24 × 128</td><td>—</td></tr><tr><td>98</td><td>DEQUANTIZE</td><td>#100: 1 × 1 × 128</td><td>#323: 1 × 1 × 128</td><td>—</td></tr><tr><td>99</td><td>PRELU</td><td>#189: 1 × 24 × 24 × 128<br>#323: 1 × 1 × 128</td><td>#190: 1 × 24 × 24 × 128</td><td>—</td></tr><tr><td>100</td><td>DEQUANTIZE</td><td>#36: 1 × 5 × 5 × 128</td><td>#326: 1 × 5 × 5 × 128</td><td>—</td></tr><tr><td>101</td><td>DEPTHWISE_CONV_2D</td><td>#190: 1 × 24 × 24 × 128<br>#326: 1 × 5 × 5 × 128<br>#380: 128</td><td>#191: 1 × 24 × 24 × 128</td><td>NONE; stride 1 × 1</td></tr><tr><td>102</td><td>DEQUANTIZE</td><td>#101: 128</td><td>#305: 128</td><td>—</td></tr><tr><td>103</td><td>DEQUANTIZE</td><td>#37: 128 × 1 × 1 × 128</td><td>#307: 128 × 1 × 1 × 128</td><td>—</td></tr><tr><td>104</td><td>CONV_2D</td><td>#191: 1 × 24 × 24 × 128<br>#307: 128 × 1 × 1 × 128<br>#305: 128</td><td>#192: 1 × 24 × 24 × 128</td><td>NONE; stride 1 × 1</td></tr><tr><td>105</td><td>ADD</td><td>#190: 1 × 24 × 24 × 128<br>#192: 1 × 24 × 24 × 128</td><td>#193: 1 × 24 × 24 × 128</td><td>—</td></tr><tr><td>106</td><td>DEQUANTIZE</td><td>#102: 1 × 1 × 128</td><td>#286: 1 × 1 × 128</td><td>—</td></tr><tr><td>107</td><td>PRELU</td><td>#193: 1 × 24 × 24 × 128<br>#286: 1 × 1 × 128</td><td>#194: 1 × 24 × 24 × 128</td><td>—</td></tr><tr><td>108</td><td>DEQUANTIZE</td><td>#38: 1 × 5 × 5 × 128</td><td>#401: 1 × 5 × 5 × 128</td><td>—</td></tr><tr><td>109</td><td>DEPTHWISE_CONV_2D</td><td>#194: 1 × 24 × 24 × 128<br>#401: 1 × 5 × 5 × 128<br>#380: 128</td><td>#195: 1 × 24 × 24 × 128</td><td>NONE; stride 1 × 1</td></tr><tr><td>110</td><td>DEQUANTIZE</td><td>#39: 128 × 1 × 1 × 128</td><td>#381: 128 × 1 × 1 × 128</td><td>—</td></tr><tr><td>111</td><td>DEQUANTIZE</td><td>#103: 128</td><td>#398: 128</td><td>—</td></tr><tr><td>112</td><td>CONV_2D</td><td>#195: 1 × 24 × 24 × 128<br>#381: 128 × 1 × 1 × 128<br>#398: 128</td><td>#196: 1 × 24 × 24 × 128</td><td>NONE; stride 1 × 1</td></tr><tr><td>113</td><td>ADD</td><td>#194: 1 × 24 × 24 × 128<br>#196: 1 × 24 × 24 × 128</td><td>#197: 1 × 24 × 24 × 128</td><td>—</td></tr><tr><td>114</td><td>DEQUANTIZE</td><td>#104: 1 × 1 × 128</td><td>#379: 1 × 1 × 128</td><td>—</td></tr><tr><td>115</td><td>PRELU</td><td>#197: 1 × 24 × 24 × 128<br>#379: 1 × 1 × 128</td><td>#198: 1 × 24 × 24 × 128</td><td>—</td></tr><tr><td>116</td><td>DEQUANTIZE</td><td>#40: 1 × 5 × 5 × 128</td><td>#366: 1 × 5 × 5 × 128</td><td>—</td></tr><tr><td>117</td><td>DEPTHWISE_CONV_2D</td><td>#198: 1 × 24 × 24 × 128<br>#366: 1 × 5 × 5 × 128<br>#380: 128</td><td>#199: 1 × 24 × 24 × 128</td><td>NONE; stride 1 × 1</td></tr><tr><td>118</td><td>DEQUANTIZE</td><td>#41: 128 × 1 × 1 × 128</td><td>#349: 128 × 1 × 1 × 128</td><td>—</td></tr><tr><td>119</td><td>DEQUANTIZE</td><td>#105: 128</td><td>#377: 128</td><td>—</td></tr><tr><td>120</td><td>CONV_2D</td><td>#199: 1 × 24 × 24 × 128<br>#349: 128 × 1 × 1 × 128<br>#377: 128</td><td>#200: 1 × 24 × 24 × 128</td><td>NONE; stride 1 × 1</td></tr><tr><td>121</td><td>ADD</td><td>#198: 1 × 24 × 24 × 128<br>#200: 1 × 24 × 24 × 128</td><td>#201: 1 × 24 × 24 × 128</td><td>—</td></tr><tr><td>122</td><td>DEQUANTIZE</td><td>#106: 1 × 1 × 128</td><td>#359: 1 × 1 × 128</td><td>—</td></tr><tr><td>123</td><td>PRELU</td><td>#201: 1 × 24 × 24 × 128<br>#359: 1 × 1 × 128</td><td>#202: 1 × 24 × 24 × 128</td><td>—</td></tr><tr><td>124</td><td>DEQUANTIZE</td><td>#42: 1 × 5 × 5 × 128</td><td>#331: 1 × 5 × 5 × 128</td><td>—</td></tr><tr><td>125</td><td>DEPTHWISE_CONV_2D</td><td>#202: 1 × 24 × 24 × 128<br>#331: 1 × 5 × 5 × 128<br>#380: 128</td><td>#203: 1 × 12 × 12 × 128</td><td>NONE; stride 2 × 2</td></tr><tr><td>126</td><td>DEQUANTIZE</td><td>#44: 256 × 1 × 1 × 128</td><td>#312: 256 × 1 × 1 × 128</td><td>—</td></tr><tr><td>127</td><td>DEQUANTIZE</td><td>#107: 256</td><td>#341: 256</td><td>—</td></tr><tr><td>128</td><td>CONV_2D</td><td>#203: 1 × 12 × 12 × 128<br>#312: 256 × 1 × 1 × 128<br>#341: 256</td><td>#204: 1 × 12 × 12 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>129</td><td>MAX_POOL_2D</td><td>#202: 1 × 24 × 24 × 128</td><td>#205: 1 × 12 × 12 × 128</td><td>—</td></tr><tr><td>130</td><td>PAD</td><td>#205: 1 × 12 × 12 × 128<br>#7: 4 × 2</td><td>#206: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>131</td><td>ADD</td><td>#206: 1 × 12 × 12 × 256<br>#204: 1 × 12 × 12 × 256</td><td>#207: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>132</td><td>DEQUANTIZE</td><td>#108: 1 × 1 × 256</td><td>#325: 1 × 1 × 256</td><td>—</td></tr><tr><td>133</td><td>PRELU</td><td>#207: 1 × 12 × 12 × 256<br>#325: 1 × 1 × 256</td><td>#208: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>134</td><td>DEQUANTIZE</td><td>#45: 1 × 5 × 5 × 256</td><td>#292: 1 × 5 × 5 × 256</td><td>—</td></tr><tr><td>135</td><td>DEQUANTIZE</td><td>#43: 256</td><td>#330: 256</td><td>—</td></tr><tr><td>136</td><td>DEPTHWISE_CONV_2D</td><td>#208: 1 × 12 × 12 × 256<br>#292: 1 × 5 × 5 × 256<br>#330: 256</td><td>#209: 1 × 12 × 12 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>137</td><td>DEQUANTIZE</td><td>#109: 256</td><td>#287: 256</td><td>—</td></tr><tr><td>138</td><td>DEQUANTIZE</td><td>#46: 256 × 1 × 1 × 256</td><td>#403: 256 × 1 × 1 × 256</td><td>—</td></tr><tr><td>139</td><td>CONV_2D</td><td>#209: 1 × 12 × 12 × 256<br>#403: 256 × 1 × 1 × 256<br>#287: 256</td><td>#210: 1 × 12 × 12 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>140</td><td>ADD</td><td>#208: 1 × 12 × 12 × 256<br>#210: 1 × 12 × 12 × 256</td><td>#211: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>141</td><td>DEQUANTIZE</td><td>#110: 1 × 1 × 256</td><td>#399: 1 × 1 × 256</td><td>—</td></tr><tr><td>142</td><td>PRELU</td><td>#211: 1 × 12 × 12 × 256<br>#399: 1 × 1 × 256</td><td>#212: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>143</td><td>DEQUANTIZE</td><td>#47: 1 × 5 × 5 × 256</td><td>#367: 1 × 5 × 5 × 256</td><td>—</td></tr><tr><td>144</td><td>DEPTHWISE_CONV_2D</td><td>#212: 1 × 12 × 12 × 256<br>#367: 1 × 5 × 5 × 256<br>#330: 256</td><td>#213: 1 × 12 × 12 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>145</td><td>DEQUANTIZE</td><td>#48: 256 × 1 × 1 × 256</td><td>#350: 256 × 1 × 1 × 256</td><td>—</td></tr><tr><td>146</td><td>DEQUANTIZE</td><td>#111: 256</td><td>#382: 256</td><td>—</td></tr><tr><td>147</td><td>CONV_2D</td><td>#213: 1 × 12 × 12 × 256<br>#350: 256 × 1 × 1 × 256<br>#382: 256</td><td>#214: 1 × 12 × 12 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>148</td><td>ADD</td><td>#212: 1 × 12 × 12 × 256<br>#214: 1 × 12 × 12 × 256</td><td>#215: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>149</td><td>DEQUANTIZE</td><td>#112: 1 × 1 × 256</td><td>#364: 1 × 1 × 256</td><td>—</td></tr><tr><td>150</td><td>PRELU</td><td>#215: 1 × 12 × 12 × 256<br>#364: 1 × 1 × 256</td><td>#216: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>151</td><td>DEQUANTIZE</td><td>#49: 1 × 5 × 5 × 256</td><td>#332: 1 × 5 × 5 × 256</td><td>—</td></tr><tr><td>152</td><td>DEPTHWISE_CONV_2D</td><td>#216: 1 × 12 × 12 × 256<br>#332: 1 × 5 × 5 × 256<br>#330: 256</td><td>#217: 1 × 12 × 12 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>153</td><td>DEQUANTIZE</td><td>#50: 256 × 1 × 1 × 256</td><td>#316: 256 × 1 × 1 × 256</td><td>—</td></tr><tr><td>154</td><td>DEQUANTIZE</td><td>#113: 256</td><td>#347: 256</td><td>—</td></tr><tr><td>155</td><td>CONV_2D</td><td>#217: 1 × 12 × 12 × 256<br>#316: 256 × 1 × 1 × 256<br>#347: 256</td><td>#218: 1 × 12 × 12 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>156</td><td>ADD</td><td>#216: 1 × 12 × 12 × 256<br>#218: 1 × 12 × 12 × 256</td><td>#219: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>157</td><td>DEQUANTIZE</td><td>#114: 1 × 1 × 256</td><td>#345: 1 × 1 × 256</td><td>—</td></tr><tr><td>158</td><td>PRELU</td><td>#219: 1 × 12 × 12 × 256<br>#345: 1 × 1 × 256</td><td>#220: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>159</td><td>DEQUANTIZE</td><td>#51: 1 × 5 × 5 × 256</td><td>#298: 1 × 5 × 5 × 256</td><td>—</td></tr><tr><td>160</td><td>DEPTHWISE_CONV_2D</td><td>#220: 1 × 12 × 12 × 256<br>#298: 1 × 5 × 5 × 256<br>#330: 256</td><td>#221: 1 × 12 × 12 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>161</td><td>DEQUANTIZE</td><td>#52: 256 × 1 × 1 × 256</td><td>#296: 256 × 1 × 1 × 256</td><td>—</td></tr><tr><td>162</td><td>DEQUANTIZE</td><td>#115: 256</td><td>#329: 256</td><td>—</td></tr><tr><td>163</td><td>CONV_2D</td><td>#221: 1 × 12 × 12 × 256<br>#296: 256 × 1 × 1 × 256<br>#329: 256</td><td>#222: 1 × 12 × 12 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>164</td><td>ADD</td><td>#220: 1 × 12 × 12 × 256<br>#222: 1 × 12 × 12 × 256</td><td>#223: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>165</td><td>DEQUANTIZE</td><td>#116: 1 × 1 × 256</td><td>#309: 1 × 1 × 256</td><td>—</td></tr><tr><td>166</td><td>PRELU</td><td>#223: 1 × 12 × 12 × 256<br>#309: 1 × 1 × 256</td><td>#224: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>167</td><td>DEQUANTIZE</td><td>#53: 1 × 5 × 5 × 256</td><td>#409: 1 × 5 × 5 × 256</td><td>—</td></tr><tr><td>168</td><td>DEPTHWISE_CONV_2D</td><td>#224: 1 × 12 × 12 × 256<br>#409: 1 × 5 × 5 × 256<br>#330: 256</td><td>#225: 1 × 6 × 6 × 256</td><td>NONE; stride 2 × 2</td></tr><tr><td>169</td><td>DEQUANTIZE</td><td>#117: 256</td><td>#289: 256</td><td>—</td></tr><tr><td>170</td><td>DEQUANTIZE</td><td>#54: 256 × 1 × 1 × 256</td><td>#389: 256 × 1 × 1 × 256</td><td>—</td></tr><tr><td>171</td><td>CONV_2D</td><td>#225: 1 × 6 × 6 × 256<br>#389: 256 × 1 × 1 × 256<br>#289: 256</td><td>#226: 1 × 6 × 6 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>172</td><td>MAX_POOL_2D</td><td>#224: 1 × 12 × 12 × 256</td><td>#227: 1 × 6 × 6 × 256</td><td>—</td></tr><tr><td>173</td><td>ADD</td><td>#227: 1 × 6 × 6 × 256<br>#226: 1 × 6 × 6 × 256</td><td>#228: 1 × 6 × 6 × 256</td><td>—</td></tr><tr><td>174</td><td>DEQUANTIZE</td><td>#118: 1 × 1 × 256</td><td>#384: 1 × 1 × 256</td><td>—</td></tr><tr><td>175</td><td>PRELU</td><td>#228: 1 × 6 × 6 × 256<br>#384: 1 × 1 × 256</td><td>#229: 1 × 6 × 6 × 256</td><td>—</td></tr><tr><td>176</td><td>DEQUANTIZE</td><td>#55: 1 × 5 × 5 × 256</td><td>#371: 1 × 5 × 5 × 256</td><td>—</td></tr><tr><td>177</td><td>DEPTHWISE_CONV_2D</td><td>#229: 1 × 6 × 6 × 256<br>#371: 1 × 5 × 5 × 256<br>#330: 256</td><td>#230: 1 × 6 × 6 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>178</td><td>DEQUANTIZE</td><td>#56: 256 × 1 × 1 × 256</td><td>#337: 256 × 1 × 1 × 256</td><td>—</td></tr><tr><td>179</td><td>DEQUANTIZE</td><td>#119: 256</td><td>#365: 256</td><td>—</td></tr><tr><td>180</td><td>CONV_2D</td><td>#230: 1 × 6 × 6 × 256<br>#337: 256 × 1 × 1 × 256<br>#365: 256</td><td>#231: 1 × 6 × 6 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>181</td><td>ADD</td><td>#229: 1 × 6 × 6 × 256<br>#231: 1 × 6 × 6 × 256</td><td>#232: 1 × 6 × 6 × 256</td><td>—</td></tr><tr><td>182</td><td>DEQUANTIZE</td><td>#120: 1 × 1 × 256</td><td>#348: 1 × 1 × 256</td><td>—</td></tr><tr><td>183</td><td>PRELU</td><td>#232: 1 × 6 × 6 × 256<br>#348: 1 × 1 × 256</td><td>#233: 1 × 6 × 6 × 256</td><td>—</td></tr><tr><td>184</td><td>DEQUANTIZE</td><td>#57: 1 × 5 × 5 × 256</td><td>#320: 1 × 5 × 5 × 256</td><td>—</td></tr><tr><td>185</td><td>DEPTHWISE_CONV_2D</td><td>#233: 1 × 6 × 6 × 256<br>#320: 1 × 5 × 5 × 256<br>#330: 256</td><td>#234: 1 × 6 × 6 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>186</td><td>DEQUANTIZE</td><td>#58: 256 × 1 × 1 × 256</td><td>#300: 256 × 1 × 1 × 256</td><td>—</td></tr><tr><td>187</td><td>DEQUANTIZE</td><td>#121: 256</td><td>#333: 256</td><td>—</td></tr><tr><td>188</td><td>CONV_2D</td><td>#234: 1 × 6 × 6 × 256<br>#300: 256 × 1 × 1 × 256<br>#333: 256</td><td>#235: 1 × 6 × 6 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>189</td><td>ADD</td><td>#233: 1 × 6 × 6 × 256<br>#235: 1 × 6 × 6 × 256</td><td>#236: 1 × 6 × 6 × 256</td><td>—</td></tr><tr><td>190</td><td>DEQUANTIZE</td><td>#122: 1 × 1 × 256</td><td>#317: 1 × 1 × 256</td><td>—</td></tr><tr><td>191</td><td>PRELU</td><td>#236: 1 × 6 × 6 × 256<br>#317: 1 × 1 × 256</td><td>#237: 1 × 6 × 6 × 256</td><td>—</td></tr><tr><td>192</td><td>DEQUANTIZE</td><td>#59: 1 × 5 × 5 × 256</td><td>#280: 1 × 5 × 5 × 256</td><td>—</td></tr><tr><td>193</td><td>DEPTHWISE_CONV_2D</td><td>#237: 1 × 6 × 6 × 256<br>#280: 1 × 5 × 5 × 256<br>#330: 256</td><td>#238: 1 × 6 × 6 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>194</td><td>DEQUANTIZE</td><td>#123: 256</td><td>#314: 256</td><td>—</td></tr><tr><td>195</td><td>DEQUANTIZE</td><td>#60: 256 × 1 × 1 × 256</td><td>#411: 256 × 1 × 1 × 256</td><td>—</td></tr><tr><td>196</td><td>CONV_2D</td><td>#238: 1 × 6 × 6 × 256<br>#411: 256 × 1 × 1 × 256<br>#314: 256</td><td>#239: 1 × 6 × 6 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>197</td><td>ADD</td><td>#237: 1 × 6 × 6 × 256<br>#239: 1 × 6 × 6 × 256</td><td>#240: 1 × 6 × 6 × 256</td><td>—</td></tr><tr><td>198</td><td>DEQUANTIZE</td><td>#124: 1 × 1 × 256</td><td>#294: 1 × 1 × 256</td><td>—</td></tr><tr><td>199</td><td>PRELU</td><td>#240: 1 × 6 × 6 × 256<br>#294: 1 × 1 × 256</td><td>#241: 1 × 6 × 6 × 256</td><td>—</td></tr><tr><td>200</td><td>DEQUANTIZE</td><td>#61: 1 × 5 × 5 × 256</td><td>#394: 1 × 5 × 5 × 256</td><td>—</td></tr><tr><td>201</td><td>DEPTHWISE_CONV_2D</td><td>#241: 1 × 6 × 6 × 256<br>#394: 1 × 5 × 5 × 256<br>#330: 256</td><td>#242: 1 × 6 × 6 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>202</td><td>DEQUANTIZE</td><td>#62: 256 × 1 × 1 × 256</td><td>#375: 256 × 1 × 1 × 256</td><td>—</td></tr><tr><td>203</td><td>DEQUANTIZE</td><td>#125: 256</td><td>#406: 256</td><td>—</td></tr><tr><td>204</td><td>CONV_2D</td><td>#242: 1 × 6 × 6 × 256<br>#375: 256 × 1 × 1 × 256<br>#406: 256</td><td>#243: 1 × 6 × 6 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>205</td><td>ADD</td><td>#241: 1 × 6 × 6 × 256<br>#243: 1 × 6 × 6 × 256</td><td>#244: 1 × 6 × 6 × 256</td><td>—</td></tr><tr><td>206</td><td>DEQUANTIZE</td><td>#126: 1 × 1 × 256</td><td>#385: 1 × 1 × 256</td><td>—</td></tr><tr><td>207</td><td>PRELU</td><td>#244: 1 × 6 × 6 × 256<br>#385: 1 × 1 × 256</td><td>#245: 1 × 6 × 6 × 256</td><td>—</td></tr><tr><td>208</td><td>RESIZE_BILINEAR</td><td>#245: 1 × 6 × 6 × 256<br>#4: 2</td><td>#246: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>209</td><td>DEQUANTIZE</td><td>#1: 256</td><td>#311: 256</td><td>—</td></tr><tr><td>210</td><td>DEQUANTIZE</td><td>#63: 256 × 1 × 1 × 256</td><td>#358: 256 × 1 × 1 × 256</td><td>—</td></tr><tr><td>211</td><td>CONV_2D</td><td>#246: 1 × 12 × 12 × 256<br>#358: 256 × 1 × 1 × 256<br>#311: 256</td><td>#247: 1 × 12 × 12 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>212</td><td>DEQUANTIZE</td><td>#127: 1 × 1 × 256</td><td>#352: 1 × 1 × 256</td><td>—</td></tr><tr><td>213</td><td>PRELU</td><td>#247: 1 × 12 × 12 × 256<br>#352: 1 × 1 × 256</td><td>#248: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>214</td><td>ADD</td><td>#224: 1 × 12 × 12 × 256<br>#248: 1 × 12 × 12 × 256</td><td>#249: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>215</td><td>DEQUANTIZE</td><td>#64: 1 × 5 × 5 × 256</td><td>#340: 1 × 5 × 5 × 256</td><td>—</td></tr><tr><td>216</td><td>DEPTHWISE_CONV_2D</td><td>#249: 1 × 12 × 12 × 256<br>#340: 1 × 5 × 5 × 256<br>#330: 256</td><td>#250: 1 × 12 × 12 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>217</td><td>DEQUANTIZE</td><td>#65: 256 × 1 × 1 × 256</td><td>#306: 256 × 1 × 1 × 256</td><td>—</td></tr><tr><td>218</td><td>DEQUANTIZE</td><td>#128: 256</td><td>#335: 256</td><td>—</td></tr><tr><td>219</td><td>CONV_2D</td><td>#250: 1 × 12 × 12 × 256<br>#306: 256 × 1 × 1 × 256<br>#335: 256</td><td>#251: 1 × 12 × 12 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>220</td><td>ADD</td><td>#249: 1 × 12 × 12 × 256<br>#251: 1 × 12 × 12 × 256</td><td>#252: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>221</td><td>DEQUANTIZE</td><td>#129: 1 × 1 × 256</td><td>#318: 1 × 1 × 256</td><td>—</td></tr><tr><td>222</td><td>PRELU</td><td>#252: 1 × 12 × 12 × 256<br>#318: 1 × 1 × 256</td><td>#253: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>223</td><td>DEQUANTIZE</td><td>#66: 1 × 5 × 5 × 256</td><td>#285: 1 × 5 × 5 × 256</td><td>—</td></tr><tr><td>224</td><td>DEPTHWISE_CONV_2D</td><td>#253: 1 × 12 × 12 × 256<br>#285: 1 × 5 × 5 × 256<br>#330: 256</td><td>#254: 1 × 12 × 12 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>225</td><td>DEQUANTIZE</td><td>#130: 256</td><td>#299: 256</td><td>—</td></tr><tr><td>226</td><td>DEQUANTIZE</td><td>#67: 256 × 1 × 1 × 256</td><td>#397: 256 × 1 × 1 × 256</td><td>—</td></tr><tr><td>227</td><td>CONV_2D</td><td>#254: 1 × 12 × 12 × 256<br>#397: 256 × 1 × 1 × 256<br>#299: 256</td><td>#255: 1 × 12 × 12 × 256</td><td>NONE; stride 1 × 1</td></tr><tr><td>228</td><td>ADD</td><td>#253: 1 × 12 × 12 × 256<br>#255: 1 × 12 × 12 × 256</td><td>#256: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>229</td><td>DEQUANTIZE</td><td>#131: 1 × 1 × 256</td><td>#281: 1 × 1 × 256</td><td>—</td></tr><tr><td>230</td><td>PRELU</td><td>#256: 1 × 12 × 12 × 256<br>#281: 1 × 1 × 256</td><td>#257: 1 × 12 × 12 × 256</td><td>—</td></tr><tr><td>231</td><td>DEQUANTIZE</td><td>#68: 6 × 1 × 1 × 256</td><td>#378: 6 × 1 × 1 × 256</td><td>—</td></tr><tr><td>232</td><td>DEQUANTIZE</td><td>#132: 6</td><td>#412: 6</td><td>—</td></tr><tr><td>233</td><td>CONV_2D</td><td>#257: 1 × 12 × 12 × 256<br>#378: 6 × 1 × 1 × 256<br>#412: 6</td><td>#258: 1 × 12 × 12 × 6</td><td>NONE; stride 1 × 1</td></tr><tr><td>234</td><td>RESHAPE</td><td>#258: 1 × 12 × 12 × 6<br>#6: 3</td><td>#259: 1 × 864 × 1</td><td>—</td></tr><tr><td>235</td><td>DEQUANTIZE</td><td>#69: 108 × 1 × 1 × 256</td><td>#376: 108 × 1 × 1 × 256</td><td>—</td></tr><tr><td>236</td><td>DEQUANTIZE</td><td>#133: 108</td><td>#391: 108</td><td>—</td></tr><tr><td>237</td><td>CONV_2D</td><td>#257: 1 × 12 × 12 × 256<br>#376: 108 × 1 × 1 × 256<br>#391: 108</td><td>#260: 1 × 12 × 12 × 108</td><td>NONE; stride 1 × 1</td></tr><tr><td>238</td><td>RESHAPE</td><td>#260: 1 × 12 × 12 × 108<br>#5: 3</td><td>#261: 1 × 864 × 18</td><td>—</td></tr><tr><td>239</td><td>RESIZE_BILINEAR</td><td>#257: 1 × 12 × 12 × 256<br>#3: 2</td><td>#262: 1 × 24 × 24 × 256</td><td>—</td></tr><tr><td>240</td><td>DEQUANTIZE</td><td>#2: 128</td><td>#290: 128</td><td>—</td></tr><tr><td>241</td><td>DEQUANTIZE</td><td>#70: 128 × 1 × 1 × 256</td><td>#360: 128 × 1 × 1 × 256</td><td>—</td></tr><tr><td>242</td><td>CONV_2D</td><td>#262: 1 × 24 × 24 × 256<br>#360: 128 × 1 × 1 × 256<br>#290: 128</td><td>#263: 1 × 24 × 24 × 128</td><td>NONE; stride 1 × 1</td></tr><tr><td>243</td><td>DEQUANTIZE</td><td>#134: 1 × 1 × 128</td><td>#373: 1 × 1 × 128</td><td>—</td></tr><tr><td>244</td><td>PRELU</td><td>#263: 1 × 24 × 24 × 128<br>#373: 1 × 1 × 128</td><td>#264: 1 × 24 × 24 × 128</td><td>—</td></tr><tr><td>245</td><td>ADD</td><td>#202: 1 × 24 × 24 × 128<br>#264: 1 × 24 × 24 × 128</td><td>#265: 1 × 24 × 24 × 128</td><td>—</td></tr><tr><td>246</td><td>DEQUANTIZE</td><td>#71: 1 × 5 × 5 × 128</td><td>#343: 1 × 5 × 5 × 128</td><td>—</td></tr><tr><td>247</td><td>DEPTHWISE_CONV_2D</td><td>#265: 1 × 24 × 24 × 128<br>#343: 1 × 5 × 5 × 128<br>#380: 128</td><td>#266: 1 × 24 × 24 × 128</td><td>NONE; stride 1 × 1</td></tr><tr><td>248</td><td>DEQUANTIZE</td><td>#72: 128 × 1 × 1 × 128</td><td>#327: 128 × 1 × 1 × 128</td><td>—</td></tr><tr><td>249</td><td>DEQUANTIZE</td><td>#135: 128</td><td>#356: 128</td><td>—</td></tr><tr><td>250</td><td>CONV_2D</td><td>#266: 1 × 24 × 24 × 128<br>#327: 128 × 1 × 1 × 128<br>#356: 128</td><td>#267: 1 × 24 × 24 × 128</td><td>NONE; stride 1 × 1</td></tr><tr><td>251</td><td>ADD</td><td>#265: 1 × 24 × 24 × 128<br>#267: 1 × 24 × 24 × 128</td><td>#268: 1 × 24 × 24 × 128</td><td>—</td></tr><tr><td>252</td><td>DEQUANTIZE</td><td>#136: 1 × 1 × 128</td><td>#322: 1 × 1 × 128</td><td>—</td></tr><tr><td>253</td><td>PRELU</td><td>#268: 1 × 24 × 24 × 128<br>#322: 1 × 1 × 128</td><td>#269: 1 × 24 × 24 × 128</td><td>—</td></tr><tr><td>254</td><td>DEQUANTIZE</td><td>#73: 1 × 5 × 5 × 128</td><td>#308: 1 × 5 × 5 × 128</td><td>—</td></tr><tr><td>255</td><td>DEPTHWISE_CONV_2D</td><td>#269: 1 × 24 × 24 × 128<br>#308: 1 × 5 × 5 × 128<br>#380: 128</td><td>#270: 1 × 24 × 24 × 128</td><td>NONE; stride 1 × 1</td></tr><tr><td>256</td><td>DEQUANTIZE</td><td>#137: 128</td><td>#302: 128</td><td>—</td></tr><tr><td>257</td><td>DEQUANTIZE</td><td>#74: 128 × 1 × 1 × 128</td><td>#402: 128 × 1 × 1 × 128</td><td>—</td></tr><tr><td>258</td><td>CONV_2D</td><td>#270: 1 × 24 × 24 × 128<br>#402: 128 × 1 × 1 × 128<br>#302: 128</td><td>#271: 1 × 24 × 24 × 128</td><td>NONE; stride 1 × 1</td></tr><tr><td>259</td><td>ADD</td><td>#269: 1 × 24 × 24 × 128<br>#271: 1 × 24 × 24 × 128</td><td>#272: 1 × 24 × 24 × 128</td><td>—</td></tr><tr><td>260</td><td>DEQUANTIZE</td><td>#138: 1 × 1 × 128</td><td>#283: 1 × 1 × 128</td><td>—</td></tr><tr><td>261</td><td>PRELU</td><td>#272: 1 × 24 × 24 × 128<br>#283: 1 × 1 × 128</td><td>#273: 1 × 24 × 24 × 128</td><td>—</td></tr><tr><td>262</td><td>DEQUANTIZE</td><td>#75: 2 × 1 × 1 × 128</td><td>#383: 2 × 1 × 1 × 128</td><td>—</td></tr><tr><td>263</td><td>DEQUANTIZE</td><td>#139: 2</td><td>#395: 2</td><td>—</td></tr><tr><td>264</td><td>CONV_2D</td><td>#273: 1 × 24 × 24 × 128<br>#383: 2 × 1 × 1 × 128<br>#395: 2</td><td>#274: 1 × 24 × 24 × 2</td><td>NONE; stride 1 × 1</td></tr><tr><td>265</td><td>RESHAPE</td><td>#274: 1 × 24 × 24 × 2<br>#6: 3</td><td>#275: 1 × 1152 × 1</td><td>—</td></tr><tr><td>266</td><td>CONCATENATION</td><td>#275: 1 × 1152 × 1<br>#259: 1 × 864 × 1</td><td>#276: 1 × 2016 × 1</td><td>—</td></tr><tr><td>267</td><td>DEQUANTIZE</td><td>#76: 36 × 1 × 1 × 128</td><td>#363: 36 × 1 × 1 × 128</td><td>—</td></tr><tr><td>268</td><td>DEQUANTIZE</td><td>#140: 36</td><td>#393: 36</td><td>—</td></tr><tr><td>269</td><td>CONV_2D</td><td>#273: 1 × 24 × 24 × 128<br>#363: 36 × 1 × 1 × 128<br>#393: 36</td><td>#277: 1 × 24 × 24 × 36</td><td>NONE; stride 1 × 1</td></tr><tr><td>270</td><td>RESHAPE</td><td>#277: 1 × 24 × 24 × 36<br>#5: 3</td><td>#278: 1 × 1152 × 18</td><td>—</td></tr><tr><td>271</td><td>CONCATENATION</td><td>#278: 1 × 1152 × 18<br>#261: 1 × 864 × 18</td><td>#279: 1 × 2016 × 18</td><td>—</td></tr></tbody></table></div></details></details><details class="modelLayerDetail"><summary>Hand landmark model · 63 operations excluding 102 weight-conversion operations</summary><p><b>Inputs:</b> 1 × 224 × 224 × 3<br><b>Outputs:</b> 1 × 63; 1 × 1; 1 × 1; 1 × 63</p><p class="small">Image tensors use batch × height × width × channels. Tensor IDs connect outputs to later inputs. Filter and bias tensors appear among the operation inputs. Fused activation NONE means the operation itself has no fused activation; a separate operation may follow.</p><div class="layerSequence" aria-label="Operation overview"><span>2: CONV_2D + RELU6</span><span>5: DEPTHWISE_CONV_2D + RELU6</span><span>8: CONV_2D</span><span>11: CONV_2D + RELU6</span><span>14: DEPTHWISE_CONV_2D + RELU6</span><span>17: CONV_2D</span><span>20: CONV_2D + RELU6</span><span>23: DEPTHWISE_CONV_2D + RELU6</span><span>26: CONV_2D</span><span>27: ADD</span><span>30: CONV_2D + RELU6</span><span>33: DEPTHWISE_CONV_2D + RELU6</span><span>36: CONV_2D</span><span>39: CONV_2D + RELU6</span><span>42: DEPTHWISE_CONV_2D + RELU6</span><span>45: CONV_2D</span><span>46: ADD</span><span>49: CONV_2D + RELU6</span><span>52: DEPTHWISE_CONV_2D + RELU6</span><span>55: CONV_2D</span><span>58: CONV_2D + RELU6</span><span>61: DEPTHWISE_CONV_2D + RELU6</span><span>64: CONV_2D</span><span>65: ADD</span><span>68: CONV_2D + RELU6</span><span>71: DEPTHWISE_CONV_2D + RELU6</span><span>74: CONV_2D</span><span>75: ADD</span><span>78: CONV_2D + RELU6</span><span>81: DEPTHWISE_CONV_2D + RELU6</span><span>84: CONV_2D</span><span>87: CONV_2D + RELU6</span><span>90: DEPTHWISE_CONV_2D + RELU6</span><span>93: CONV_2D</span><span>94: ADD</span><span>97: CONV_2D + RELU6</span><span>100: DEPTHWISE_CONV_2D + RELU6</span><span>103: CONV_2D</span><span>104: ADD</span><span>107: CONV_2D + RELU6</span><span>110: DEPTHWISE_CONV_2D + RELU6</span><span>113: CONV_2D</span><span>116: CONV_2D + RELU6</span><span>119: DEPTHWISE_CONV_2D + RELU6</span><span>122: CONV_2D</span><span>123: ADD</span><span>126: CONV_2D + RELU6</span><span>129: DEPTHWISE_CONV_2D + RELU6</span><span>132: CONV_2D</span><span>133: ADD</span><span>136: CONV_2D + RELU6</span><span>139: DEPTHWISE_CONV_2D + RELU6</span><span>142: CONV_2D</span><span>143: ADD</span><span>146: CONV_2D + RELU6</span><span>149: DEPTHWISE_CONV_2D + RELU6</span><span>150: MEAN</span><span>153: FULLY_CONNECTED</span><span>154: LOGISTIC</span><span>157: FULLY_CONNECTED</span><span>158: LOGISTIC</span><span>161: FULLY_CONNECTED</span><span>164: FULLY_CONNECTED</span></div><details><summary>Every operation, shape and connection</summary><div class="modelLayerTableScroll"><table><thead><tr><th>Op</th><th>Type</th><th>Input tensor IDs: shapes</th><th>Output tensor IDs: shapes</th><th>Fused activation / stride</th></tr></thead><tbody><tr><td>0</td><td>DEQUANTIZE</td><td>#6: 24</td><td>#201: 24</td><td>—</td></tr><tr><td>1</td><td>DEQUANTIZE</td><td>#42: 24 × 3 × 3 × 3</td><td>#202: 24 × 3 × 3 × 3</td><td>—</td></tr><tr><td>2</td><td>CONV_2D</td><td>#0: 1 × 224 × 224 × 3<br>#202: 24 × 3 × 3 × 3<br>#201: 24</td><td>#104: 1 × 112 × 112 × 24</td><td>RELU6; stride 2 × 2</td></tr><tr><td>3</td><td>DEQUANTIZE</td><td>#73: 1 × 3 × 3 × 24</td><td>#192: 1 × 3 × 3 × 24</td><td>—</td></tr><tr><td>4</td><td>DEQUANTIZE</td><td>#7: 24</td><td>#263: 24</td><td>—</td></tr><tr><td>5</td><td>DEPTHWISE_CONV_2D</td><td>#104: 1 × 112 × 112 × 24<br>#192: 1 × 3 × 3 × 24<br>#263: 24</td><td>#105: 1 × 112 × 112 × 24</td><td>RELU6; stride 1 × 1</td></tr><tr><td>6</td><td>DEQUANTIZE</td><td>#74: 16</td><td>#198: 16</td><td>—</td></tr><tr><td>7</td><td>DEQUANTIZE</td><td>#43: 16 × 1 × 1 × 24</td><td>#265: 16 × 1 × 1 × 24</td><td>—</td></tr><tr><td>8</td><td>CONV_2D</td><td>#105: 1 × 112 × 112 × 24<br>#265: 16 × 1 × 1 × 24<br>#198: 16</td><td>#106: 1 × 112 × 112 × 16</td><td>NONE; stride 1 × 1</td></tr><tr><td>9</td><td>DEQUANTIZE</td><td>#44: 64 × 1 × 1 × 16</td><td>#183: 64 × 1 × 1 × 16</td><td>—</td></tr><tr><td>10</td><td>DEQUANTIZE</td><td>#21: 64</td><td>#221: 64</td><td>—</td></tr><tr><td>11</td><td>CONV_2D</td><td>#106: 1 × 112 × 112 × 16<br>#183: 64 × 1 × 1 × 16<br>#221: 64</td><td>#107: 1 × 112 × 112 × 64</td><td>RELU6; stride 1 × 1</td></tr><tr><td>12</td><td>DEQUANTIZE</td><td>#75: 1 × 3 × 3 × 64</td><td>#223: 1 × 3 × 3 × 64</td><td>—</td></tr><tr><td>13</td><td>DEQUANTIZE</td><td>#29: 64</td><td>#249: 64</td><td>—</td></tr><tr><td>14</td><td>DEPTHWISE_CONV_2D</td><td>#107: 1 × 112 × 112 × 64<br>#223: 1 × 3 × 3 × 64<br>#249: 64</td><td>#108: 1 × 56 × 56 × 64</td><td>RELU6; stride 2 × 2</td></tr><tr><td>15</td><td>DEQUANTIZE</td><td>#45: 24 × 1 × 1 × 64</td><td>#219: 24 × 1 × 1 × 64</td><td>—</td></tr><tr><td>16</td><td>DEQUANTIZE</td><td>#76: 24</td><td>#258: 24</td><td>—</td></tr><tr><td>17</td><td>CONV_2D</td><td>#108: 1 × 56 × 56 × 64<br>#219: 24 × 1 × 1 × 64<br>#258: 24</td><td>#109: 1 × 56 × 56 × 24</td><td>NONE; stride 1 × 1</td></tr><tr><td>18</td><td>DEQUANTIZE</td><td>#35: 144</td><td>#234: 144</td><td>—</td></tr><tr><td>19</td><td>DEQUANTIZE</td><td>#46: 144 × 1 × 1 × 24</td><td>#241: 144 × 1 × 1 × 24</td><td>—</td></tr><tr><td>20</td><td>CONV_2D</td><td>#109: 1 × 56 × 56 × 24<br>#241: 144 × 1 × 1 × 24<br>#234: 144</td><td>#110: 1 × 56 × 56 × 144</td><td>RELU6; stride 1 × 1</td></tr><tr><td>21</td><td>DEQUANTIZE</td><td>#77: 1 × 3 × 3 × 144</td><td>#176: 1 × 3 × 3 × 144</td><td>—</td></tr><tr><td>22</td><td>DEQUANTIZE</td><td>#36: 144</td><td>#268: 144</td><td>—</td></tr><tr><td>23</td><td>DEPTHWISE_CONV_2D</td><td>#110: 1 × 56 × 56 × 144<br>#176: 1 × 3 × 3 × 144<br>#268: 144</td><td>#111: 1 × 56 × 56 × 144</td><td>RELU6; stride 1 × 1</td></tr><tr><td>24</td><td>DEQUANTIZE</td><td>#78: 24</td><td>#237: 24</td><td>—</td></tr><tr><td>25</td><td>DEQUANTIZE</td><td>#47: 24 × 1 × 1 × 144</td><td>#250: 24 × 1 × 1 × 144</td><td>—</td></tr><tr><td>26</td><td>CONV_2D</td><td>#111: 1 × 56 × 56 × 144<br>#250: 24 × 1 × 1 × 144<br>#237: 24</td><td>#112: 1 × 56 × 56 × 24</td><td>NONE; stride 1 × 1</td></tr><tr><td>27</td><td>ADD</td><td>#112: 1 × 56 × 56 × 24<br>#109: 1 × 56 × 56 × 24</td><td>#113: 1 × 56 × 56 × 24</td><td>—</td></tr><tr><td>28</td><td>DEQUANTIZE</td><td>#48: 144 × 1 × 1 × 24</td><td>#168: 144 × 1 × 1 × 24</td><td>—</td></tr><tr><td>29</td><td>DEQUANTIZE</td><td>#37: 144</td><td>#190: 144</td><td>—</td></tr><tr><td>30</td><td>CONV_2D</td><td>#113: 1 × 56 × 56 × 24<br>#168: 144 × 1 × 1 × 24<br>#190: 144</td><td>#114: 1 × 56 × 56 × 144</td><td>RELU6; stride 1 × 1</td></tr><tr><td>31</td><td>DEQUANTIZE</td><td>#8: 144</td><td>#182: 144</td><td>—</td></tr><tr><td>32</td><td>DEQUANTIZE</td><td>#79: 1 × 5 × 5 × 144</td><td>#260: 1 × 5 × 5 × 144</td><td>—</td></tr><tr><td>33</td><td>DEPTHWISE_CONV_2D</td><td>#114: 1 × 56 × 56 × 144<br>#260: 1 × 5 × 5 × 144<br>#182: 144</td><td>#115: 1 × 28 × 28 × 144</td><td>RELU6; stride 2 × 2</td></tr><tr><td>34</td><td>DEQUANTIZE</td><td>#80: 40</td><td>#193: 40</td><td>—</td></tr><tr><td>35</td><td>DEQUANTIZE</td><td>#49: 40 × 1 × 1 × 144</td><td>#203: 40 × 1 × 1 × 144</td><td>—</td></tr><tr><td>36</td><td>CONV_2D</td><td>#115: 1 × 28 × 28 × 144<br>#203: 40 × 1 × 1 × 144<br>#193: 40</td><td>#116: 1 × 28 × 28 × 40</td><td>NONE; stride 1 × 1</td></tr><tr><td>37</td><td>DEQUANTIZE</td><td>#9: 240</td><td>#217: 240</td><td>—</td></tr><tr><td>38</td><td>DEQUANTIZE</td><td>#50: 240 × 1 × 1 × 40</td><td>#228: 240 × 1 × 1 × 40</td><td>—</td></tr><tr><td>39</td><td>CONV_2D</td><td>#116: 1 × 28 × 28 × 40<br>#228: 240 × 1 × 1 × 40<br>#217: 240</td><td>#117: 1 × 28 × 28 × 240</td><td>RELU6; stride 1 × 1</td></tr><tr><td>40</td><td>DEQUANTIZE</td><td>#81: 1 × 5 × 5 × 240</td><td>#213: 1 × 5 × 5 × 240</td><td>—</td></tr><tr><td>41</td><td>DEQUANTIZE</td><td>#10: 240</td><td>#239: 240</td><td>—</td></tr><tr><td>42</td><td>DEPTHWISE_CONV_2D</td><td>#117: 1 × 28 × 28 × 240<br>#213: 1 × 5 × 5 × 240<br>#239: 240</td><td>#118: 1 × 28 × 28 × 240</td><td>RELU6; stride 1 × 1</td></tr><tr><td>43</td><td>DEQUANTIZE</td><td>#51: 40 × 1 × 1 × 240</td><td>#185: 40 × 1 × 1 × 240</td><td>—</td></tr><tr><td>44</td><td>DEQUANTIZE</td><td>#82: 40</td><td>#242: 40</td><td>—</td></tr><tr><td>45</td><td>CONV_2D</td><td>#118: 1 × 28 × 28 × 240<br>#185: 40 × 1 × 1 × 240<br>#242: 40</td><td>#119: 1 × 28 × 28 × 40</td><td>NONE; stride 1 × 1</td></tr><tr><td>46</td><td>ADD</td><td>#119: 1 × 28 × 28 × 40<br>#116: 1 × 28 × 28 × 40</td><td>#120: 1 × 28 × 28 × 40</td><td>—</td></tr><tr><td>47</td><td>DEQUANTIZE</td><td>#52: 240 × 1 × 1 × 40</td><td>#212: 240 × 1 × 1 × 40</td><td>—</td></tr><tr><td>48</td><td>DEQUANTIZE</td><td>#11: 240</td><td>#251: 240</td><td>—</td></tr><tr><td>49</td><td>CONV_2D</td><td>#120: 1 × 28 × 28 × 40<br>#212: 240 × 1 × 1 × 40<br>#251: 240</td><td>#121: 1 × 28 × 28 × 240</td><td>RELU6; stride 1 × 1</td></tr><tr><td>50</td><td>DEQUANTIZE</td><td>#12: 240</td><td>#174: 240</td><td>—</td></tr><tr><td>51</td><td>DEQUANTIZE</td><td>#83: 1 × 3 × 3 × 240</td><td>#252: 1 × 3 × 3 × 240</td><td>—</td></tr><tr><td>52</td><td>DEPTHWISE_CONV_2D</td><td>#121: 1 × 28 × 28 × 240<br>#252: 1 × 3 × 3 × 240<br>#174: 240</td><td>#122: 1 × 14 × 14 × 240</td><td>RELU6; stride 2 × 2</td></tr><tr><td>53</td><td>DEQUANTIZE</td><td>#84: 80</td><td>#169: 80</td><td>—</td></tr><tr><td>54</td><td>DEQUANTIZE</td><td>#53: 80 × 1 × 1 × 240</td><td>#235: 80 × 1 × 1 × 240</td><td>—</td></tr><tr><td>55</td><td>CONV_2D</td><td>#122: 1 × 14 × 14 × 240<br>#235: 80 × 1 × 1 × 240<br>#169: 80</td><td>#123: 1 × 14 × 14 × 80</td><td>NONE; stride 1 × 1</td></tr><tr><td>56</td><td>DEQUANTIZE</td><td>#54: 480 × 1 × 1 × 80</td><td>#167: 480 × 1 × 1 × 80</td><td>—</td></tr><tr><td>57</td><td>DEQUANTIZE</td><td>#13: 480</td><td>#195: 480</td><td>—</td></tr><tr><td>58</td><td>CONV_2D</td><td>#123: 1 × 14 × 14 × 80<br>#167: 480 × 1 × 1 × 80<br>#195: 480</td><td>#124: 1 × 14 × 14 × 480</td><td>RELU6; stride 1 × 1</td></tr><tr><td>59</td><td>DEQUANTIZE</td><td>#85: 1 × 3 × 3 × 480</td><td>#205: 1 × 3 × 3 × 480</td><td>—</td></tr><tr><td>60</td><td>DEQUANTIZE</td><td>#14: 480</td><td>#231: 480</td><td>—</td></tr><tr><td>61</td><td>DEPTHWISE_CONV_2D</td><td>#124: 1 × 14 × 14 × 480<br>#205: 1 × 3 × 3 × 480<br>#231: 480</td><td>#125: 1 × 14 × 14 × 480</td><td>RELU6; stride 1 × 1</td></tr><tr><td>62</td><td>DEQUANTIZE</td><td>#55: 80 × 1 × 1 × 480</td><td>#191: 80 × 1 × 1 × 480</td><td>—</td></tr><tr><td>63</td><td>DEQUANTIZE</td><td>#86: 80</td><td>#230: 80</td><td>—</td></tr><tr><td>64</td><td>CONV_2D</td><td>#125: 1 × 14 × 14 × 480<br>#191: 80 × 1 × 1 × 480<br>#230: 80</td><td>#126: 1 × 14 × 14 × 80</td><td>NONE; stride 1 × 1</td></tr><tr><td>65</td><td>ADD</td><td>#126: 1 × 14 × 14 × 80<br>#123: 1 × 14 × 14 × 80</td><td>#127: 1 × 14 × 14 × 80</td><td>—</td></tr><tr><td>66</td><td>DEQUANTIZE</td><td>#56: 480 × 1 × 1 × 80</td><td>#199: 480 × 1 × 1 × 80</td><td>—</td></tr><tr><td>67</td><td>DEQUANTIZE</td><td>#15: 480</td><td>#254: 480</td><td>—</td></tr><tr><td>68</td><td>CONV_2D</td><td>#127: 1 × 14 × 14 × 80<br>#199: 480 × 1 × 1 × 80<br>#254: 480</td><td>#128: 1 × 14 × 14 × 480</td><td>RELU6; stride 1 × 1</td></tr><tr><td>69</td><td>DEQUANTIZE</td><td>#87: 1 × 3 × 3 × 480</td><td>#186: 1 × 3 × 3 × 480</td><td>—</td></tr><tr><td>70</td><td>DEQUANTIZE</td><td>#16: 480</td><td>#211: 480</td><td>—</td></tr><tr><td>71</td><td>DEPTHWISE_CONV_2D</td><td>#128: 1 × 14 × 14 × 480<br>#186: 1 × 3 × 3 × 480<br>#211: 480</td><td>#129: 1 × 14 × 14 × 480</td><td>RELU6; stride 1 × 1</td></tr><tr><td>72</td><td>DEQUANTIZE</td><td>#88: 80</td><td>#208: 80</td><td>—</td></tr><tr><td>73</td><td>DEQUANTIZE</td><td>#57: 80 × 1 × 1 × 480</td><td>#222: 80 × 1 × 1 × 480</td><td>—</td></tr><tr><td>74</td><td>CONV_2D</td><td>#129: 1 × 14 × 14 × 480<br>#222: 80 × 1 × 1 × 480<br>#208: 80</td><td>#130: 1 × 14 × 14 × 80</td><td>NONE; stride 1 × 1</td></tr><tr><td>75</td><td>ADD</td><td>#130: 1 × 14 × 14 × 80<br>#127: 1 × 14 × 14 × 80</td><td>#131: 1 × 14 × 14 × 80</td><td>—</td></tr><tr><td>76</td><td>DEQUANTIZE</td><td>#17: 480</td><td>#233: 480</td><td>—</td></tr><tr><td>77</td><td>DEQUANTIZE</td><td>#58: 480 × 1 × 1 × 80</td><td>#257: 480 × 1 × 1 × 80</td><td>—</td></tr><tr><td>78</td><td>CONV_2D</td><td>#131: 1 × 14 × 14 × 80<br>#257: 480 × 1 × 1 × 80<br>#233: 480</td><td>#132: 1 × 14 × 14 × 480</td><td>RELU6; stride 1 × 1</td></tr><tr><td>79</td><td>DEQUANTIZE</td><td>#89: 1 × 5 × 5 × 480</td><td>#243: 1 × 5 × 5 × 480</td><td>—</td></tr><tr><td>80</td><td>DEQUANTIZE</td><td>#18: 480</td><td>#267: 480</td><td>—</td></tr><tr><td>81</td><td>DEPTHWISE_CONV_2D</td><td>#132: 1 × 14 × 14 × 480<br>#243: 1 × 5 × 5 × 480<br>#267: 480</td><td>#133: 1 × 14 × 14 × 480</td><td>RELU6; stride 1 × 1</td></tr><tr><td>82</td><td>DEQUANTIZE</td><td>#59: 112 × 1 × 1 × 480</td><td>#175: 112 × 1 × 1 × 480</td><td>—</td></tr><tr><td>83</td><td>DEQUANTIZE</td><td>#90: 112</td><td>#266: 112</td><td>—</td></tr><tr><td>84</td><td>CONV_2D</td><td>#133: 1 × 14 × 14 × 480<br>#175: 112 × 1 × 1 × 480<br>#266: 112</td><td>#134: 1 × 14 × 14 × 112</td><td>NONE; stride 1 × 1</td></tr><tr><td>85</td><td>DEQUANTIZE</td><td>#19: 672</td><td>#189: 672</td><td>—</td></tr><tr><td>86</td><td>DEQUANTIZE</td><td>#60: 672 × 1 × 1 × 112</td><td>#236: 672 × 1 × 1 × 112</td><td>—</td></tr><tr><td>87</td><td>CONV_2D</td><td>#134: 1 × 14 × 14 × 112<br>#236: 672 × 1 × 1 × 112<br>#189: 672</td><td>#135: 1 × 14 × 14 × 672</td><td>RELU6; stride 1 × 1</td></tr><tr><td>88</td><td>DEQUANTIZE</td><td>#91: 1 × 5 × 5 × 672</td><td>#171: 1 × 5 × 5 × 672</td><td>—</td></tr><tr><td>89</td><td>DEQUANTIZE</td><td>#20: 672</td><td>#196: 672</td><td>—</td></tr><tr><td>90</td><td>DEPTHWISE_CONV_2D</td><td>#135: 1 × 14 × 14 × 672<br>#171: 1 × 5 × 5 × 672<br>#196: 672</td><td>#136: 1 × 14 × 14 × 672</td><td>RELU6; stride 1 × 1</td></tr><tr><td>91</td><td>DEQUANTIZE</td><td>#92: 112</td><td>#200: 112</td><td>—</td></tr><tr><td>92</td><td>DEQUANTIZE</td><td>#61: 112 × 1 × 1 × 672</td><td>#261: 112 × 1 × 1 × 672</td><td>—</td></tr><tr><td>93</td><td>CONV_2D</td><td>#136: 1 × 14 × 14 × 672<br>#261: 112 × 1 × 1 × 672<br>#200: 112</td><td>#137: 1 × 14 × 14 × 112</td><td>NONE; stride 1 × 1</td></tr><tr><td>94</td><td>ADD</td><td>#137: 1 × 14 × 14 × 112<br>#134: 1 × 14 × 14 × 112</td><td>#138: 1 × 14 × 14 × 112</td><td>—</td></tr><tr><td>95</td><td>DEQUANTIZE</td><td>#62: 672 × 1 × 1 × 112</td><td>#184: 672 × 1 × 1 × 112</td><td>—</td></tr><tr><td>96</td><td>DEQUANTIZE</td><td>#22: 672</td><td>#248: 672</td><td>—</td></tr><tr><td>97</td><td>CONV_2D</td><td>#138: 1 × 14 × 14 × 112<br>#184: 672 × 1 × 1 × 112<br>#248: 672</td><td>#139: 1 × 14 × 14 × 672</td><td>RELU6; stride 1 × 1</td></tr><tr><td>98</td><td>DEQUANTIZE</td><td>#23: 672</td><td>#181: 672</td><td>—</td></tr><tr><td>99</td><td>DEQUANTIZE</td><td>#93: 1 × 5 × 5 × 672</td><td>#224: 1 × 5 × 5 × 672</td><td>—</td></tr><tr><td>100</td><td>DEPTHWISE_CONV_2D</td><td>#139: 1 × 14 × 14 × 672<br>#224: 1 × 5 × 5 × 672<br>#181: 672</td><td>#140: 1 × 14 × 14 × 672</td><td>RELU6; stride 1 × 1</td></tr><tr><td>101</td><td>DEQUANTIZE</td><td>#63: 112 × 1 × 1 × 672</td><td>#220: 112 × 1 × 1 × 672</td><td>—</td></tr><tr><td>102</td><td>DEQUANTIZE</td><td>#94: 112</td><td>#259: 112</td><td>—</td></tr><tr><td>103</td><td>CONV_2D</td><td>#140: 1 × 14 × 14 × 672<br>#220: 112 × 1 × 1 × 672<br>#259: 112</td><td>#141: 1 × 14 × 14 × 112</td><td>NONE; stride 1 × 1</td></tr><tr><td>104</td><td>ADD</td><td>#141: 1 × 14 × 14 × 112<br>#138: 1 × 14 × 14 × 112</td><td>#142: 1 × 14 × 14 × 112</td><td>—</td></tr><tr><td>105</td><td>DEQUANTIZE</td><td>#24: 672</td><td>#204: 672</td><td>—</td></tr><tr><td>106</td><td>DEQUANTIZE</td><td>#64: 672 × 1 × 1 × 112</td><td>#244: 672 × 1 × 1 × 112</td><td>—</td></tr><tr><td>107</td><td>CONV_2D</td><td>#142: 1 × 14 × 14 × 112<br>#244: 672 × 1 × 1 × 112<br>#204: 672</td><td>#143: 1 × 14 × 14 × 672</td><td>RELU6; stride 1 × 1</td></tr><tr><td>108</td><td>DEQUANTIZE</td><td>#95: 1 × 5 × 5 × 672</td><td>#177: 1 × 5 × 5 × 672</td><td>—</td></tr><tr><td>109</td><td>DEQUANTIZE</td><td>#25: 672</td><td>#264: 672</td><td>—</td></tr><tr><td>110</td><td>DEPTHWISE_CONV_2D</td><td>#143: 1 × 14 × 14 × 672<br>#177: 1 × 5 × 5 × 672<br>#264: 672</td><td>#144: 1 × 7 × 7 × 672</td><td>RELU6; stride 2 × 2</td></tr><tr><td>111</td><td>DEQUANTIZE</td><td>#96: 192</td><td>#238: 192</td><td>—</td></tr><tr><td>112</td><td>DEQUANTIZE</td><td>#65: 192 × 1 × 1 × 672</td><td>#253: 192 × 1 × 1 × 672</td><td>—</td></tr><tr><td>113</td><td>CONV_2D</td><td>#144: 1 × 7 × 7 × 672<br>#253: 192 × 1 × 1 × 672<br>#238: 192</td><td>#145: 1 × 7 × 7 × 192</td><td>NONE; stride 1 × 1</td></tr><tr><td>114</td><td>DEQUANTIZE</td><td>#66: 1152 × 1 × 1 × 192</td><td>#170: 1152 × 1 × 1 × 192</td><td>—</td></tr><tr><td>115</td><td>DEQUANTIZE</td><td>#26: 1152</td><td>#187: 1152</td><td>—</td></tr><tr><td>116</td><td>CONV_2D</td><td>#145: 1 × 7 × 7 × 192<br>#170: 1152 × 1 × 1 × 192<br>#187: 1152</td><td>#146: 1 × 7 × 7 × 1152</td><td>RELU6; stride 1 × 1</td></tr><tr><td>117</td><td>DEQUANTIZE</td><td>#27: 1152</td><td>#218: 1152</td><td>—</td></tr><tr><td>118</td><td>DEQUANTIZE</td><td>#97: 1 × 5 × 5 × 1152</td><td>#262: 1 × 5 × 5 × 1152</td><td>—</td></tr><tr><td>119</td><td>DEPTHWISE_CONV_2D</td><td>#146: 1 × 7 × 7 × 1152<br>#262: 1 × 5 × 5 × 1152<br>#218: 1152</td><td>#147: 1 × 7 × 7 × 1152</td><td>RELU6; stride 1 × 1</td></tr><tr><td>120</td><td>DEQUANTIZE</td><td>#98: 192</td><td>#194: 192</td><td>—</td></tr><tr><td>121</td><td>DEQUANTIZE</td><td>#67: 192 × 1 × 1 × 1152</td><td>#206: 192 × 1 × 1 × 1152</td><td>—</td></tr><tr><td>122</td><td>CONV_2D</td><td>#147: 1 × 7 × 7 × 1152<br>#206: 192 × 1 × 1 × 1152<br>#194: 192</td><td>#148: 1 × 7 × 7 × 192</td><td>NONE; stride 1 × 1</td></tr><tr><td>123</td><td>ADD</td><td>#148: 1 × 7 × 7 × 192<br>#145: 1 × 7 × 7 × 192</td><td>#149: 1 × 7 × 7 × 192</td><td>—</td></tr><tr><td>124</td><td>DEQUANTIZE</td><td>#68: 1152 × 1 × 1 × 192</td><td>#229: 1152 × 1 × 1 × 192</td><td>—</td></tr><tr><td>125</td><td>DEQUANTIZE</td><td>#28: 1152</td><td>#240: 1152</td><td>—</td></tr><tr><td>126</td><td>CONV_2D</td><td>#149: 1 × 7 × 7 × 192<br>#229: 1152 × 1 × 1 × 192<br>#240: 1152</td><td>#150: 1 × 7 × 7 × 1152</td><td>RELU6; stride 1 × 1</td></tr><tr><td>127</td><td>DEQUANTIZE</td><td>#30: 1152</td><td>#172: 1152</td><td>—</td></tr><tr><td>128</td><td>DEQUANTIZE</td><td>#99: 1 × 5 × 5 × 1152</td><td>#214: 1 × 5 × 5 × 1152</td><td>—</td></tr><tr><td>129</td><td>DEPTHWISE_CONV_2D</td><td>#150: 1 × 7 × 7 × 1152<br>#214: 1 × 5 × 5 × 1152<br>#172: 1152</td><td>#151: 1 × 7 × 7 × 1152</td><td>RELU6; stride 1 × 1</td></tr><tr><td>130</td><td>DEQUANTIZE</td><td>#69: 192 × 1 × 1 × 1152</td><td>#188: 192 × 1 × 1 × 1152</td><td>—</td></tr><tr><td>131</td><td>DEQUANTIZE</td><td>#100: 192</td><td>#225: 192</td><td>—</td></tr><tr><td>132</td><td>CONV_2D</td><td>#151: 1 × 7 × 7 × 1152<br>#188: 192 × 1 × 1 × 1152<br>#225: 192</td><td>#152: 1 × 7 × 7 × 192</td><td>NONE; stride 1 × 1</td></tr><tr><td>133</td><td>ADD</td><td>#152: 1 × 7 × 7 × 192<br>#149: 1 × 7 × 7 × 192</td><td>#153: 1 × 7 × 7 × 192</td><td>—</td></tr><tr><td>134</td><td>DEQUANTIZE</td><td>#70: 1152 × 1 × 1 × 192</td><td>#207: 1152 × 1 × 1 × 192</td><td>—</td></tr><tr><td>135</td><td>DEQUANTIZE</td><td>#31: 1152</td><td>#209: 1152</td><td>—</td></tr><tr><td>136</td><td>CONV_2D</td><td>#153: 1 × 7 × 7 × 192<br>#207: 1152 × 1 × 1 × 192<br>#209: 1152</td><td>#154: 1 × 7 × 7 × 1152</td><td>RELU6; stride 1 × 1</td></tr><tr><td>137</td><td>DEQUANTIZE</td><td>#32: 1152</td><td>#232: 1152</td><td>—</td></tr><tr><td>138</td><td>DEQUANTIZE</td><td>#101: 1 × 5 × 5 × 1152</td><td>#246: 1 × 5 × 5 × 1152</td><td>—</td></tr><tr><td>139</td><td>DEPTHWISE_CONV_2D</td><td>#154: 1 × 7 × 7 × 1152<br>#246: 1 × 5 × 5 × 1152<br>#232: 1152</td><td>#155: 1 × 7 × 7 × 1152</td><td>RELU6; stride 1 × 1</td></tr><tr><td>140</td><td>DEQUANTIZE</td><td>#102: 192</td><td>#173: 192</td><td>—</td></tr><tr><td>141</td><td>DEQUANTIZE</td><td>#71: 192 × 1 × 1 × 1152</td><td>#245: 192 × 1 × 1 × 1152</td><td>—</td></tr><tr><td>142</td><td>CONV_2D</td><td>#155: 1 × 7 × 7 × 1152<br>#245: 192 × 1 × 1 × 1152<br>#173: 192</td><td>#156: 1 × 7 × 7 × 192</td><td>NONE; stride 1 × 1</td></tr><tr><td>143</td><td>ADD</td><td>#156: 1 × 7 × 7 × 192<br>#153: 1 × 7 × 7 × 192</td><td>#157: 1 × 7 × 7 × 192</td><td>—</td></tr><tr><td>144</td><td>DEQUANTIZE</td><td>#72: 1152 × 1 × 1 × 192</td><td>#178: 1152 × 1 × 1 × 192</td><td>—</td></tr><tr><td>145</td><td>DEQUANTIZE</td><td>#33: 1152</td><td>#255: 1152</td><td>—</td></tr><tr><td>146</td><td>CONV_2D</td><td>#157: 1 × 7 × 7 × 192<br>#178: 1152 × 1 × 1 × 192<br>#255: 1152</td><td>#158: 1 × 7 × 7 × 1152</td><td>RELU6; stride 1 × 1</td></tr><tr><td>147</td><td>DEQUANTIZE</td><td>#103: 1 × 3 × 3 × 1152</td><td>#210: 1 × 3 × 3 × 1152</td><td>—</td></tr><tr><td>148</td><td>DEQUANTIZE</td><td>#34: 1152</td><td>#215: 1152</td><td>—</td></tr><tr><td>149</td><td>DEPTHWISE_CONV_2D</td><td>#158: 1 × 7 × 7 × 1152<br>#210: 1 × 3 × 3 × 1152<br>#215: 1152</td><td>#159: 1 × 7 × 7 × 1152</td><td>RELU6; stride 1 × 1</td></tr><tr><td>150</td><td>MEAN</td><td>#159: 1 × 7 × 7 × 1152<br>#1: 2</td><td>#160: 1 × 1152</td><td>—</td></tr><tr><td>151</td><td>DEQUANTIZE</td><td>#5: 1</td><td>#180: 1</td><td>—</td></tr><tr><td>152</td><td>DEQUANTIZE</td><td>#38: 1 × 1152</td><td>#197: 1 × 1152</td><td>—</td></tr><tr><td>153</td><td>FULLY_CONNECTED</td><td>#160: 1 × 1152<br>#197: 1 × 1152<br>#180: 1</td><td>#161: 1 × 1</td><td>NONE</td></tr><tr><td>154</td><td>LOGISTIC</td><td>#161: 1 × 1</td><td>#162: 1 × 1</td><td>—</td></tr><tr><td>155</td><td>DEQUANTIZE</td><td>#39: 1 × 1152</td><td>#226: 1 × 1152</td><td>—</td></tr><tr><td>156</td><td>DEQUANTIZE</td><td>#4: 1</td><td>#247: 1</td><td>—</td></tr><tr><td>157</td><td>FULLY_CONNECTED</td><td>#160: 1 × 1152<br>#226: 1 × 1152<br>#247: 1</td><td>#163: 1 × 1</td><td>NONE</td></tr><tr><td>158</td><td>LOGISTIC</td><td>#163: 1 × 1</td><td>#164: 1 × 1</td><td>—</td></tr><tr><td>159</td><td>DEQUANTIZE</td><td>#3: 63</td><td>#227: 63</td><td>—</td></tr><tr><td>160</td><td>DEQUANTIZE</td><td>#40: 63 × 1152</td><td>#256: 63 × 1152</td><td>—</td></tr><tr><td>161</td><td>FULLY_CONNECTED</td><td>#160: 1 × 1152<br>#256: 63 × 1152<br>#227: 63</td><td>#165: 1 × 63</td><td>NONE</td></tr><tr><td>162</td><td>DEQUANTIZE</td><td>#41: 63 × 1152</td><td>#179: 63 × 1152</td><td>—</td></tr><tr><td>163</td><td>DEQUANTIZE</td><td>#2: 63</td><td>#216: 63</td><td>—</td></tr><tr><td>164</td><td>FULLY_CONNECTED</td><td>#160: 1 × 1152<br>#179: 63 × 1152<br>#216: 63</td><td>#166: 1 × 63</td><td>NONE</td></tr></tbody></table></div></details></details><details class="modelLayerDetail"><summary>Gesture embedding model · 43 operations excluding 0 weight-conversion operations</summary><p><b>Inputs:</b> 1 × 21 × 3; 1 × 1; 1 × 21 × 3<br><b>Outputs:</b> 1 × 128</p><p class="small">Image tensors use batch × height × width × channels. Tensor IDs connect outputs to later inputs. Filter and bias tensors appear among the operation inputs. Fused activation NONE means the operation itself has no fused activation; a separate operation may follow.</p><div class="layerSequence" aria-label="Operation overview"><span>0: GATHER</span><span>1: MEAN</span><span>2: SUB</span><span>3: UNPACK</span><span>4: REDUCE_MAX</span><span>5: REDUCE_MAX</span><span>6: REDUCE_MIN</span><span>7: SUB</span><span>8: REDUCE_MIN</span><span>9: SUB</span><span>10: MAXIMUM</span><span>11: RESHAPE</span><span>12: STRIDED_SLICE</span><span>13: ADD</span><span>14: DIV</span><span>15: RESHAPE</span><span>16: FULLY_CONNECTED</span><span>17: FULLY_CONNECTED + RELU</span><span>18: FULLY_CONNECTED</span><span>19: ADD</span><span>20: MUL</span><span>21: ADD</span><span>22: FULLY_CONNECTED</span><span>23: ADD</span><span>24: MUL</span><span>25: ADD</span><span>26: FULLY_CONNECTED</span><span>27: ADD</span><span>28: MUL</span><span>29: ADD</span><span>30: FULLY_CONNECTED</span><span>31: ADD</span><span>32: MUL</span><span>33: ADD</span><span>34: FULLY_CONNECTED</span><span>35: ADD</span><span>36: MUL</span><span>37: ADD</span><span>38: FULLY_CONNECTED</span><span>39: ADD</span><span>40: MUL</span><span>41: ADD</span><span>42: FULLY_CONNECTED + RELU</span></div><details><summary>Every operation, shape and connection</summary><div class="modelLayerTableScroll"><table><thead><tr><th>Op</th><th>Type</th><th>Input tensor IDs: shapes</th><th>Output tensor IDs: shapes</th><th>Fused activation / stride</th></tr></thead><tbody><tr><td>0</td><td>GATHER</td><td>#0: 1 × 21 × 3<br>#11: 6</td><td>#40: 1 × 6 × 3</td><td>—</td></tr><tr><td>1</td><td>MEAN</td><td>#40: 1 × 6 × 3<br>#12: scalar</td><td>#41: 1 × 1 × 3</td><td>—</td></tr><tr><td>2</td><td>SUB</td><td>#0: 1 × 21 × 3<br>#41: 1 × 1 × 3</td><td>#42: 1 × 21 × 3</td><td>—</td></tr><tr><td>3</td><td>UNPACK</td><td>#42: 1 × 21 × 3</td><td>#43: 1 × 21<br>#44: 1 × 21<br>#45: 1 × 21</td><td>—</td></tr><tr><td>4</td><td>REDUCE_MAX</td><td>#43: 1 × 21<br>#10: scalar</td><td>#46: 1</td><td>—</td></tr><tr><td>5</td><td>REDUCE_MAX</td><td>#44: 1 × 21<br>#10: scalar</td><td>#47: 1</td><td>—</td></tr><tr><td>6</td><td>REDUCE_MIN</td><td>#43: 1 × 21<br>#10: scalar</td><td>#48: 1</td><td>—</td></tr><tr><td>7</td><td>SUB</td><td>#46: 1<br>#48: 1</td><td>#49: 1</td><td>—</td></tr><tr><td>8</td><td>REDUCE_MIN</td><td>#44: 1 × 21<br>#10: scalar</td><td>#50: 1</td><td>—</td></tr><tr><td>9</td><td>SUB</td><td>#47: 1<br>#50: 1</td><td>#51: 1</td><td>—</td></tr><tr><td>10</td><td>MAXIMUM</td><td>#49: 1<br>#51: 1</td><td>#52: 1</td><td>—</td></tr><tr><td>11</td><td>RESHAPE</td><td>#52: 1<br>#8: 3</td><td>#53: 1 × 1 × 1</td><td>—</td></tr><tr><td>12</td><td>STRIDED_SLICE</td><td>#53: 1 × 1 × 1<br>#7: 3<br>#7: 3<br>#8: 3</td><td>#54: 1 × 1 × 1</td><td>—</td></tr><tr><td>13</td><td>ADD</td><td>#54: 1 × 1 × 1<br>#13: scalar</td><td>#55: 1 × 1 × 1</td><td>—</td></tr><tr><td>14</td><td>DIV</td><td>#42: 1 × 21 × 3<br>#55: 1 × 1 × 1</td><td>#56: 1 × 21 × 3</td><td>—</td></tr><tr><td>15</td><td>RESHAPE</td><td>#56: 1 × 21 × 3<br>#9: 2</td><td>#57: 1 × 63</td><td>—</td></tr><tr><td>16</td><td>FULLY_CONNECTED</td><td>#57: 1 × 63<br>#33: 128 × 63<br>#20: 128</td><td>#58: 1 × 128</td><td>NONE</td></tr><tr><td>17</td><td>FULLY_CONNECTED</td><td>#57: 1 × 63<br>#5: 128 × 63<br>#3: 128</td><td>#59: 1 × 128</td><td>RELU</td></tr><tr><td>18</td><td>FULLY_CONNECTED</td><td>#59: 1 × 128<br>#34: 128 × 128<br>#19: 128</td><td>#60: 1 × 128</td><td>NONE</td></tr><tr><td>19</td><td>ADD</td><td>#58: 1 × 128<br>#60: 1 × 128</td><td>#61: 1 × 128</td><td>—</td></tr><tr><td>20</td><td>MUL</td><td>#61: 1 × 128<br>#22: 128</td><td>#62: 1 × 128</td><td>—</td></tr><tr><td>21</td><td>ADD</td><td>#62: 1 × 128<br>#21: 128</td><td>#63: 1 × 128</td><td>—</td></tr><tr><td>22</td><td>FULLY_CONNECTED</td><td>#63: 1 × 128<br>#35: 128 × 128<br>#18: 128</td><td>#64: 1 × 128</td><td>NONE</td></tr><tr><td>23</td><td>ADD</td><td>#61: 1 × 128<br>#64: 1 × 128</td><td>#65: 1 × 128</td><td>—</td></tr><tr><td>24</td><td>MUL</td><td>#65: 1 × 128<br>#24: 128</td><td>#66: 1 × 128</td><td>—</td></tr><tr><td>25</td><td>ADD</td><td>#66: 1 × 128<br>#23: 128</td><td>#67: 1 × 128</td><td>—</td></tr><tr><td>26</td><td>FULLY_CONNECTED</td><td>#67: 1 × 128<br>#36: 128 × 128<br>#17: 128</td><td>#68: 1 × 128</td><td>NONE</td></tr><tr><td>27</td><td>ADD</td><td>#65: 1 × 128<br>#68: 1 × 128</td><td>#69: 1 × 128</td><td>—</td></tr><tr><td>28</td><td>MUL</td><td>#69: 1 × 128<br>#26: 128</td><td>#70: 1 × 128</td><td>—</td></tr><tr><td>29</td><td>ADD</td><td>#70: 1 × 128<br>#25: 128</td><td>#71: 1 × 128</td><td>—</td></tr><tr><td>30</td><td>FULLY_CONNECTED</td><td>#71: 1 × 128<br>#37: 128 × 128<br>#16: 128</td><td>#72: 1 × 128</td><td>NONE</td></tr><tr><td>31</td><td>ADD</td><td>#69: 1 × 128<br>#72: 1 × 128</td><td>#73: 1 × 128</td><td>—</td></tr><tr><td>32</td><td>MUL</td><td>#73: 1 × 128<br>#28: 128</td><td>#74: 1 × 128</td><td>—</td></tr><tr><td>33</td><td>ADD</td><td>#74: 1 × 128<br>#27: 128</td><td>#75: 1 × 128</td><td>—</td></tr><tr><td>34</td><td>FULLY_CONNECTED</td><td>#75: 1 × 128<br>#38: 128 × 128<br>#15: 128</td><td>#76: 1 × 128</td><td>NONE</td></tr><tr><td>35</td><td>ADD</td><td>#73: 1 × 128<br>#76: 1 × 128</td><td>#77: 1 × 128</td><td>—</td></tr><tr><td>36</td><td>MUL</td><td>#77: 1 × 128<br>#30: 128</td><td>#78: 1 × 128</td><td>—</td></tr><tr><td>37</td><td>ADD</td><td>#78: 1 × 128<br>#29: 128</td><td>#79: 1 × 128</td><td>—</td></tr><tr><td>38</td><td>FULLY_CONNECTED</td><td>#79: 1 × 128<br>#39: 128 × 128<br>#14: 128</td><td>#80: 1 × 128</td><td>NONE</td></tr><tr><td>39</td><td>ADD</td><td>#77: 1 × 128<br>#80: 1 × 128</td><td>#81: 1 × 128</td><td>—</td></tr><tr><td>40</td><td>MUL</td><td>#81: 1 × 128<br>#32: 128</td><td>#82: 1 × 128</td><td>—</td></tr><tr><td>41</td><td>ADD</td><td>#82: 1 × 128<br>#31: 128</td><td>#83: 1 × 128</td><td>—</td></tr><tr><td>42</td><td>FULLY_CONNECTED</td><td>#83: 1 × 128<br>#6: 128 × 128<br>#4: 128</td><td>#84: 1 × 128</td><td>RELU</td></tr></tbody></table></div></details></details><details class="modelLayerDetail"><summary>Gesture classifier · 4 operations excluding 0 weight-conversion operations</summary><p><b>Inputs:</b> 1 × 128<br><b>Outputs:</b> 1 × 8</p><p class="small">Image tensors use batch × height × width × channels. Tensor IDs connect outputs to later inputs. Filter and bias tensors appear among the operation inputs. Fused activation NONE means the operation itself has no fused activation; a separate operation may follow.</p><div class="layerSequence" aria-label="Operation overview"><span>0: MUL</span><span>1: ADD</span><span>2: FULLY_CONNECTED</span><span>3: SOFTMAX</span></div><details><summary>Every operation, shape and connection</summary><div class="modelLayerTableScroll"><table><thead><tr><th>Op</th><th>Type</th><th>Input tensor IDs: shapes</th><th>Output tensor IDs: shapes</th><th>Fused activation / stride</th></tr></thead><tbody><tr><td>0</td><td>MUL</td><td>#0: 1 × 128<br>#3: 128</td><td>#5: 1 × 128</td><td>—</td></tr><tr><td>1</td><td>ADD</td><td>#5: 1 × 128<br>#2: 128</td><td>#6: 1 × 128</td><td>—</td></tr><tr><td>2</td><td>FULLY_CONNECTED</td><td>#6: 1 × 128<br>#4: 8 × 128<br>#1: 8</td><td>#7: 1 × 8</td><td>NONE</td></tr><tr><td>3</td><td>SOFTMAX</td><td>#7: 1 × 8</td><td>#8: 1 × 8</td><td>—</td></tr></tbody></table></div></details></details><p class="small">Inspection source: bundled gesture_recognizer.task; SHA-256 <code>97952348cf6a6a49…</code>. <a href="model-structure.json">Full graph inspection data</a>. This describes the inference graphs; training losses and backward graphs are not included in these model files.</p></section><!-- MODEL_LAYERS_END --></aside></section>
<section class="panel labSection" id="modelDetective"><p class="guideReturn"><a href="#guided-playground">↑ Back to the guided route</a></p><p class="eyebrow">EXERCISE 3 / BREAK IT, EXPLAIN IT</p><h2>Become a model detective.</h2><p>Keep one hand in view for five seconds per condition. Change only one thing. Watch the landmarks and “hand found” message. Record your own observation below; these notes are not automatic accuracy measurements.</p><div class="grids"><label>Baseline: palm toward camera, good light<textarea placeholder="What worked?"></textarea></label><label>Rotate the hand sideways<textarea placeholder="What changed?"></textarea></label><label>Hide two fingertips with your other hand<textarea placeholder="What changed?"></textarea></label><label>Move faster, then farther away<textarea placeholder="What changed?"></textarea></label></div><p>Design a better controller: should it pause when a hand disappears? Require a short hold before a pinch? Give visible feedback? Sketch one change and explain which failure it addresses.</p><p class="small">Notes stay on this page until refresh. Copy them into your team's worksheet to keep them.</p></section>
<section class="guide labSection"><h2>Final exercise: can movement reveal a future gesture?</h2><p>Now combine tracking, features, training and a fair test. Rock–paper–scissors is the final experiment: compare recognizing a hand now with predicting its later move.</p><a href="index.html">Open the final challenge →</a></section><section class="nextStep"><strong>Connect the game to the mathematics</strong><a href="lecture.html#formula-backprop">Go deeper: gradients and learning →</a><a href="index.html">Try the final challenge</a></section></main><script type="module" src="explore.mjs"></script><script type="module" src="learning-guide.mjs"></script></body></html>