{"id":448,"date":"2026-01-28T22:07:26","date_gmt":"2026-01-28T14:07:26","guid":{"rendered":"https:\/\/blog.itsmygo.uk\/2026\/01\/28\/%e3%80%90yolo-%e7%89%a9%e4%bb%b6%e5%81%b5%e6%b8%ac%e6%95%99%e5%ad%b8%e3%80%9105-%e9%83%a8%e7%bd%b2%e8%88%87%e5%84%aa%e5%8c%96%ef%bc%9a%e5%b0%87-yolo-%e6%a8%a1%e5%9e%8b%e6%87%89%e7%94%a8%e5%88%b0\/"},"modified":"2026-01-28T22:25:28","modified_gmt":"2026-01-28T14:25:28","slug":"%e3%80%90yolo-%e7%89%a9%e4%bb%b6%e5%81%b5%e6%b8%ac%e6%95%99%e5%ad%b8%e3%80%9105-%e9%83%a8%e7%bd%b2%e8%88%87%e5%84%aa%e5%8c%96%ef%bc%9a%e5%b0%87-yolo-%e6%a8%a1%e5%9e%8b%e6%87%89%e7%94%a8%e5%88%b0","status":"publish","type":"post","link":"https:\/\/blog.itsmygo.uk\/wordpress\/2026\/01\/28\/%e3%80%90yolo-%e7%89%a9%e4%bb%b6%e5%81%b5%e6%b8%ac%e6%95%99%e5%ad%b8%e3%80%9105-%e9%83%a8%e7%bd%b2%e8%88%87%e5%84%aa%e5%8c%96%ef%bc%9a%e5%b0%87-yolo-%e6%a8%a1%e5%9e%8b%e6%87%89%e7%94%a8%e5%88%b0\/","title":{"rendered":"\u3010YOLO \u7269\u4ef6\u5075\u6e2c\u6559\u5b78\u3011#05 \u90e8\u7f72\u8207\u512a\u5316\uff1a\u5c07 YOLO \u6a21\u578b\u61c9\u7528\u5230\u5be6\u969b\u5834\u666f"},"content":{"rendered":"\n<div id=\"quiz-b5845366\">\n<style>\n#quiz-b5845366 .question {\n        background: white;\n        border-radius: 8px;\n        padding: 20px;\n        margin: 20px 0;\n        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n      }#quiz-b5845366 .question h3 {\n        margin-top: 0;\n        color: #333;\n      }#quiz-b5845366 .options {\n        list-style: none;\n        padding: 0;\n      }#quiz-b5845366 .options li {\n        padding: 12px 15px;\n        margin: 8px 0;\n        border: 2px solid #ddd;\n        border-radius: 6px;\n        cursor: pointer;\n        transition: all 0.2s;\n      }#quiz-b5845366 .options li:hover:not(.disabled) {\n        border-color: #4caf50;\n        background: #f0fff0;\n      }#quiz-b5845366 .options li.correct {\n        border-color: #4caf50;\n        background: #e8f5e9;\n      }#quiz-b5845366 .options li.wrong {\n        border-color: #f44336;\n        background: #ffebee;\n      }#quiz-b5845366 .options li.disabled {\n        cursor: default;\n        opacity: 0.7;\n      }#quiz-b5845366 .options li.show-answer {\n        border-color: #4caf50;\n        background: #e8f5e9;\n      }#quiz-b5845366 .feedback {\n        margin-top: 15px;\n        padding: 12px;\n        border-radius: 6px;\n        display: none;\n      }#quiz-b5845366 .feedback.correct {\n        background: #e8f5e9;\n        color: #2e7d32;\n        display: block;\n      }#quiz-b5845366 .feedback.wrong {\n        background: #ffebee;\n        color: #c62828;\n        display: block;\n      }#quiz-b5845366 .score {\n        text-align: center;\n        font-size: 1.5em;\n        padding: 20px;\n        background: white;\n        border-radius: 8px;\n        margin-top: 20px;\n      }#quiz-b5845366 .code-block {\n        background: #1e1e1e;\n        color: #d4d4d4;\n        padding: 14px;\n        border-radius: 6px;\n        font-family: \"Monaco\", \"Consolas\", \"Courier New\", monospace;\n        font-size: 0.9em;\n        overflow-x: auto;\n        margin: 12px 0;\n        white-space: pre-wrap;\n      }\n<\/style>\n<h1>\u6e2c\u9a57\uff1aYOLO \u90e8\u7f72\u8207\u512a\u5316<\/h1>\n    <p>\u5171 5 \u984c\uff0c\u9ede\u9078\u7b54\u6848\u5f8c\u6703\u7acb\u5373\u986f\u793a\u7d50\u679c<\/p>\n\n    <div class=\"question\" id=\"q1\">\n      <h3>1. \u70ba\u4ec0\u9ebc\u8a13\u7df4\u5b8c\u6210\u7684 PyTorch \u6a21\u578b\uff08.pt \u6a94\u6848\uff09\u4e0d\u9069\u5408\u76f4\u63a5\u90e8\u7f72\u5230\u751f\u7522\u74b0\u5883\uff1f<\/h3>\n      <ul class=\"options\">\n        <li onclick=\"checkAnswer(1, 'A', 'B')\">A. PyTorch \u6a21\u578b\u7121\u6cd5\u9032\u884c\u63a8\u8ad6<\/li>\n        <li onclick=\"checkAnswer(1, 'B', 'B')\">B. \u9700\u8981\u5b8c\u6574 PyTorch \u74b0\u5883\u3001\u63a8\u8ad6\u901f\u5ea6\u8f03\u6162\u3001\u8de8\u5e73\u53f0\u652f\u63f4\u6709\u9650<\/li>\n        <li onclick=\"checkAnswer(1, 'C', 'B')\">C. PyTorch \u6a21\u578b\u53ea\u80fd\u5728 Windows \u4e0a\u57f7\u884c<\/li>\n        <li onclick=\"checkAnswer(1, 'D', 'B')\">D. PyTorch \u6a21\u578b\u6a94\u6848\u592a\u5c0f\uff0c\u7f3a\u5c11\u5fc5\u8981\u8cc7\u8a0a<\/li>\n      <\/ul>\n      <div class=\"feedback\" id=\"fb1\"><\/div>\n    <\/div>\n\n    <div class=\"question\" id=\"q2\">\n      <h3>2. \u5982\u679c\u8981\u5728 NVIDIA GPU \u4e0a\u7372\u5f97\u6700\u4f73\u63a8\u8ad6\u901f\u5ea6\uff0c\u61c9\u8a72\u532f\u51fa\u70ba\u54ea\u7a2e\u683c\u5f0f\uff1f<\/h3>\n      <ul class=\"options\">\n        <li onclick=\"checkAnswer(2, 'A', 'C')\">A. ONNX<\/li>\n        <li onclick=\"checkAnswer(2, 'B', 'C')\">B. CoreML<\/li>\n        <li onclick=\"checkAnswer(2, 'C', 'C')\">C. TensorRT (engine)<\/li>\n        <li onclick=\"checkAnswer(2, 'D', 'C')\">D. TFLite<\/li>\n      <\/ul>\n      <div class=\"feedback\" id=\"fb2\"><\/div>\n    <\/div>\n\n    <div class=\"question\" id=\"q3\">\n      <h3>3. \u91cf\u5316\u6280\u8853\u4e2d\uff0cFP16 \u534a\u7cbe\u5ea6\u76f8\u8f03\u65bc FP32 \u5168\u7cbe\u5ea6\uff0c\u4e3b\u8981\u7684\u7279\u6027\u662f\u4ec0\u9ebc\uff1f<\/h3>\n      <ul class=\"options\">\n        <li onclick=\"checkAnswer(3, 'A', 'B')\">A. \u6a21\u578b\u5927\u5c0f\u4e0d\u8b8a\uff0c\u7cbe\u5ea6\u5b8c\u5168\u76f8\u540c<\/li>\n        <li onclick=\"checkAnswer(3, 'B', 'B')\">B. \u6a21\u578b\u5927\u5c0f\u6e1b\u534a\uff0c\u7cbe\u5ea6\u640d\u5931\u6975\u5c0f\uff0c\u901f\u5ea6\u63d0\u5347 1.5-2 \u500d<\/li>\n        <li onclick=\"checkAnswer(3, 'C', 'B')\">C. \u6a21\u578b\u5927\u5c0f\u589e\u52a0\u4e00\u500d\uff0c\u7cbe\u5ea6\u63d0\u5347<\/li>\n        <li onclick=\"checkAnswer(3, 'D', 'B')\">D. \u53ea\u80fd\u5728 CPU \u4e0a\u4f7f\u7528<\/li>\n      <\/ul>\n      <div class=\"feedback\" id=\"fb3\"><\/div>\n    <\/div>\n\n    <div class=\"question\" id=\"q4\">\n      <h3>4. \u5728\u5373\u6642\u5f71\u7247\u5075\u6e2c\u4e2d\uff0c\u5982\u679c FPS \u4e0d\u8db3\uff0c\u4ee5\u4e0b\u54ea\u500b\u65b9\u6cd5\u6700\u6709\u6548\uff1f<\/h3>\n      <ul class=\"options\">\n        <li onclick=\"checkAnswer(4, 'A', 'D')\">A. \u4f7f\u7528\u66f4\u5927\u7684\u6a21\u578b\uff08\u5982 YOLOv8x\uff09<\/li>\n        <li onclick=\"checkAnswer(4, 'B', 'D')\">B. \u63d0\u9ad8\u8f38\u5165\u89e3\u6790\u5ea6\u5230 1280&#215;1280<\/li>\n        <li onclick=\"checkAnswer(4, 'C', 'D')\">C. \u589e\u52a0 batch size<\/li>\n        <li onclick=\"checkAnswer(4, 'D', 'D')\">D. \u964d\u4f4e\u8f38\u5165\u89e3\u6790\u5ea6\uff08\u5982 640 \u6539\u70ba 320\uff09\u6216\u5be6\u4f5c\u8df3\u5e40\u8655\u7406<\/li>\n      <\/ul>\n      <div class=\"feedback\" id=\"fb4\"><\/div>\n    <\/div>\n\n    <div class=\"question\" id=\"q5\">\n      <h3>5. \u5728 Raspberry Pi\uff08\u7121 GPU\uff09\u4e0a\u90e8\u7f72 YOLO \u6a21\u578b\uff0c\u61c9\u8a72\u512a\u5148\u9078\u64c7\u54ea\u7a2e\u532f\u51fa\u683c\u5f0f\uff1f<\/h3>\n      <ul class=\"options\">\n        <li onclick=\"checkAnswer(5, 'A', 'B')\">A. TensorRT<\/li>\n        <li onclick=\"checkAnswer(5, 'B', 'B')\">B. NCNN \u6216 TFLite<\/li>\n        <li onclick=\"checkAnswer(5, 'C', 'B')\">C. CoreML<\/li>\n        <li onclick=\"checkAnswer(5, 'D', 'B')\">D. \u539f\u59cb PyTorch \u683c\u5f0f<\/li>\n      <\/ul>\n      <div class=\"feedback\" id=\"fb5\"><\/div>\n    <\/div>\n\n    <div class=\"score\" id=\"score\" style=\"display:none;\"><\/div>\n<script>\n\n      let answered = 0;\n      let correct = 0;\n      const total = 5;\n      const explanations = {\n        1: \"PyTorch \u683c\u5f0f\uff08.pt\uff09\u5728\u90e8\u7f72\u6642\u6709\u4e09\u500b\u4e3b\u8981\u554f\u984c\uff1a\u9700\u8981\u5b89\u88dd\u5b8c\u6574\u7684 PyTorch \u74b0\u5883\u4f54\u7528\u5927\u91cf\u7a7a\u9593\u3001\u63a8\u8ad6\u901f\u5ea6\u672a\u7d93\u512a\u5316\u8f03\u6162\u3001\u8de8\u5e73\u53f0\u652f\u63f4\u6709\u9650\u3002\u56e0\u6b64\u9700\u8981\u532f\u51fa\u70ba\u66f4\u9069\u5408\u90e8\u7f72\u7684\u683c\u5f0f\u3002\",\n        2: \"TensorRT \u662f NVIDIA \u5c08\u70ba\u5176 GPU \u512a\u5316\u7684\u63a8\u8ad6\u5f15\u64ce\uff0c\u80fd\u63d0\u4f9b\u6700\u5feb\u7684\u63a8\u8ad6\u901f\u5ea6\u3002\u6587\u7ae0\u4e2d\u7684\u6bd4\u8f03\u8868\u4e5f\u6307\u51fa TensorRT \u683c\u5f0f\u300c\u901f\u5ea6\u6700\u5feb\u300d\uff0c\u4f46\u7f3a\u9ede\u662f\u50c5\u9650 NVIDIA GPU \u4f7f\u7528\u3002\",\n        3: \"FP16 \u534a\u7cbe\u5ea6\u91cf\u5316\u5c07 32 \u4f4d\u5143\u7684\u6b0a\u91cd\u8f49\u63db\u70ba 16 \u4f4d\u5143\uff0c\u6a21\u578b\u5927\u5c0f\u6e1b\u534a\uff0850%\uff09\uff0c\u63a8\u8ad6\u901f\u5ea6\u53ef\u63d0\u5347 1.5-2 \u500d\uff0c\u800c\u7cbe\u5ea6\u640d\u5931\u6975\u5c0f\u3002\u6587\u7ae0\u6307\u51fa\u9019\u662f\u6700\u63a8\u85a6\u7684\u91cf\u5316\u9078\u64c7\u3002\",\n        4: \"\u7576 FPS \u4e0d\u8db3\u6642\uff0c\u6700\u6709\u6548\u7684\u65b9\u6cd5\u662f\u964d\u4f4e\u8f38\u5165\u89e3\u6790\u5ea6\uff08\u4f8b\u5982\u5f9e 640 \u6539\u70ba 320\uff09\u6216\u5be6\u4f5c\u8df3\u5e40\u8655\u7406\u3002\u9019\u4e9b\u65b9\u6cd5\u53ef\u4ee5\u5927\u5e45\u6e1b\u5c11\u8a08\u7b97\u91cf\u3002\u4f7f\u7528\u66f4\u5927\u6a21\u578b\u6216\u63d0\u9ad8\u89e3\u6790\u5ea6\u53cd\u800c\u6703\u8b93 FPS \u66f4\u4f4e\u3002\",\n        5: \"Raspberry Pi \u6c92\u6709 GPU\uff0c\u9700\u8981\u4f7f\u7528\u91dd\u5c0d CPU \u512a\u5316\u7684\u683c\u5f0f\u3002\u6587\u7ae0\u5efa\u8b70\u4f7f\u7528 NCNN\uff08ARM CPU \u512a\u5316\uff09\u6216 TFLite\u3002TensorRT \u50c5\u9650 NVIDIA GPU\uff0cCoreML \u50c5\u9650 Apple \u88dd\u7f6e\u3002\"\n      };\n\n      function checkAnswer(qNum, selected, correctAns) {\n        const question = document.getElementById(\"q\" + qNum);\n        if (question.classList.contains(\"answered\")) return;\n\n        question.classList.add(\"answered\");\n        answered++;\n\n        const options = question.querySelectorAll(\".options li\");\n        options.forEach((opt) => {\n          opt.classList.add(\"disabled\");\n          if (opt.textContent.startsWith(correctAns + \".\")) {\n            opt.classList.add(\"show-answer\");\n          }\n        });\n\n        const feedback = document.getElementById(\"fb\" + qNum);\n        if (selected === correctAns) {\n          correct++;\n          feedback.className = \"feedback correct\";\n          feedback.innerHTML = \"\u6b63\u78ba\uff01\" + explanations[qNum];\n        } else {\n          feedback.className = \"feedback wrong\";\n          feedback.innerHTML =\n            \"\u932f\u8aa4\u3002\u6b63\u78ba\u7b54\u6848\u662f \" + correctAns + \"\u3002\" + explanations[qNum];\n          options.forEach((opt) => {\n            if (opt.textContent.startsWith(selected + \".\")) {\n              opt.classList.add(\"wrong\");\n            }\n          });\n        }\n\n        if (answered === total) {\n          const scoreDiv = document.getElementById(\"score\");\n          scoreDiv.style.display = \"block\";\n          scoreDiv.innerHTML =\n            \"\u6e2c\u9a57\u5b8c\u6210\uff01\u5f97\u5206\uff1a\" +\n            correct +\n            \" \/ \" +\n            total +\n            (correct === total\n              ? \" \u5168\u5c0d\uff01\"\n              : correct >= Math.ceil(total * 0.6)\n                ? \" \u4e0d\u932f\uff01\"\n                : \" \u518d\u8907\u7fd2\u4e00\u4e0b\u5427\");\n        }\n      }\n    \n<\/script>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u524d\u8a00<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u7d93\u904e\u524d\u56db\u7bc7\u7684\u5b78\u7fd2\uff0c\u4f60\u5df2\u7d93\u80fd\u5920\u8a13\u7df4\u51fa\u81ea\u5df1\u7684 YOLO \u6a21\u578b\u3002\u4f46\u8a13\u7df4\u5b8c\u6210\u53ea\u662f\u7b2c\u4e00\u6b65\u2014\u2014\u5982\u4f55\u5c07\u6a21\u578b\u90e8\u7f72\u5230\u5be6\u969b\u61c9\u7528\u4e2d\uff0c\u624d\u662f\u771f\u6b63\u7684\u6311\u6230\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u7bc7\u5c07\u5e36\u4f60\u4e86\u89e3\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5982\u4f55\u5c07 PyTorch \u6a21\u578b\u532f\u51fa\u70ba\u4e0d\u540c\u683c\u5f0f<\/li>\n<li>\u5404\u7a2e\u90e8\u7f72\u5e73\u53f0\u7684\u9078\u64c7\u8207\u8003\u91cf<\/li>\n<li>\u5982\u4f55\u512a\u5316\u6a21\u578b\u4ee5\u7372\u5f97\u66f4\u597d\u7684\u63a8\u8ad6\u901f\u5ea6<\/li>\n<li>\u5efa\u7acb\u5373\u6642\u5075\u6e2c\u61c9\u7528\u7684\u5b8c\u6574\u6d41\u7a0b<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u6a21\u578b\u532f\u51fa\uff1a\u5f9e .pt \u5230\u90e8\u7f72\u683c\u5f0f<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u70ba\u4ec0\u9ebc\u9700\u8981\u532f\u51fa\uff1f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">YOLO \u8a13\u7df4\u5b8c\u6210\u5f8c\uff0c\u4f60\u6703\u5f97\u5230\u4e00\u500b <code>.pt<\/code> \u6a94\u6848\uff08PyTorch \u683c\u5f0f\uff09\u3002\u9019\u500b\u683c\u5f0f\u5728\u958b\u767c\u6642\u5f88\u65b9\u4fbf\uff0c\u4f46\u5728\u5be6\u969b\u90e8\u7f72\u6642\u6709\u5e7e\u500b\u554f\u984c\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u9700\u8981\u5b8c\u6574\u7684 PyTorch \u74b0\u5883<\/strong>\uff1a\u90e8\u7f72\u74b0\u5883\u9700\u8981\u5b89\u88dd PyTorch\uff0c\u4f54\u7528\u5927\u91cf\u7a7a\u9593<\/li>\n<li><strong>\u63a8\u8ad6\u901f\u5ea6\u8f03\u6162<\/strong>\uff1aPyTorch \u683c\u5f0f\u672a\u91dd\u5c0d\u63a8\u8ad6\u512a\u5316<\/li>\n<li><strong>\u8de8\u5e73\u53f0\u652f\u63f4\u6709\u9650<\/strong>\uff1a\u4e0d\u662f\u6240\u6709\u5e73\u53f0\u90fd\u80fd\u76f4\u63a5\u4f7f\u7528 PyTorch<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u56e0\u6b64\uff0c\u6211\u5011\u9700\u8981\u5c07\u6a21\u578b\u300c\u532f\u51fa\u300d\u70ba\u66f4\u9069\u5408\u90e8\u7f72\u7684\u683c\u5f0f\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u57fa\u672c\u532f\u51fa\u6307\u4ee4<\/h3>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># \u532f\u51fa\u70ba ONNX \u683c\u5f0f\uff08\u6700\u901a\u7528\uff09<\/span>\nyolo export model=best.pt format=onnx\n\n<span class=\"hljs-comment\"># \u532f\u51fa\u70ba TensorRT \u683c\u5f0f\uff08NVIDIA GPU \u6700\u4f73\u5316\uff09<\/span>\nyolo export model=best.pt format=engine\n\n<span class=\"hljs-comment\"># \u532f\u51fa\u70ba CoreML \u683c\u5f0f\uff08Apple \u88dd\u7f6e\uff09<\/span>\nyolo export model=best.pt format=coreml\n\n<span class=\"hljs-comment\"># \u532f\u51fa\u70ba TFLite \u683c\u5f0f\uff08\u884c\u52d5\u88dd\u7f6e\u3001\u908a\u7de3\u904b\u7b97\uff09<\/span>\nyolo export model=best.pt format=tflite\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">\u57f7\u884c\u5f8c\uff0c\u4f60\u6703\u5728\u540c\u4e00\u76ee\u9304\u4e0b\u770b\u5230\u5c0d\u61c9\u683c\u5f0f\u7684\u6a94\u6848\uff1a<\/p>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">runs\/detect\/train\/weights\/\n\u251c\u2500\u2500 best.pt          <span class=\"hljs-comment\"># \u539f\u59cb PyTorch \u6a21\u578b<\/span>\n\u251c\u2500\u2500 best.onnx        <span class=\"hljs-comment\"># ONNX \u683c\u5f0f<\/span>\n\u251c\u2500\u2500 best.engine      <span class=\"hljs-comment\"># TensorRT \u683c\u5f0f<\/span>\n\u2514\u2500\u2500 best.mlmodel     <span class=\"hljs-comment\"># CoreML \u683c\u5f0f<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">\u532f\u51fa\u53c3\u6578\u8a73\u89e3<\/h3>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">yolo export model=best.pt format=onnx imgsz=<span class=\"hljs-number\">640<\/span> half=<span class=\"hljs-keyword\">True<\/span> simplify=<span class=\"hljs-keyword\">True<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">\u8b93\u6211\u5011\u770b\u770b\u9019\u4e9b\u53c3\u6578\u7684\u610f\u7fa9\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>\u53c3\u6578<\/th>\n<th>\u8aaa\u660e<\/th>\n<th>\u5e38\u7528\u503c<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>model<\/code><\/td>\n<td>\u6a21\u578b\u8def\u5f91<\/td>\n<td><code>best.pt<\/code> \u6216 <code>yolov8n.pt<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>format<\/code><\/td>\n<td>\u532f\u51fa\u683c\u5f0f<\/td>\n<td><code>onnx<\/code>, <code>engine<\/code>, <code>coreml<\/code>, <code>tflite<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>imgsz<\/code><\/td>\n<td>\u8f38\u5165\u5716\u7247\u5c3a\u5bf8<\/td>\n<td><code>640<\/code>, <code>320<\/code>, <code>1280<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>half<\/code><\/td>\n<td>\u4f7f\u7528 FP16 \u534a\u7cbe\u5ea6<\/td>\n<td><code>True<\/code>, <code>False<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>simplify<\/code><\/td>\n<td>\u7c21\u5316 ONNX \u6a21\u578b<\/td>\n<td><code>True<\/code>, <code>False<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>dynamic<\/code><\/td>\n<td>\u52d5\u614b\u8f38\u5165\u5c3a\u5bf8<\/td>\n<td><code>True<\/code>, <code>False<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>batch<\/code><\/td>\n<td>\u6279\u6b21\u5927\u5c0f<\/td>\n<td><code>1<\/code>, <code>8<\/code>, <code>16<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u5404\u683c\u5f0f\u6bd4\u8f03<\/h3>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\"><span><code class=\"hljs\">\u683c\u5f0f\u6bd4\u8f03\u8868\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502    \u683c\u5f0f     \u2502    \u9069\u7528\u5834\u666f   \u2502     \u512a\u9ede     \u2502     \u7f3a\u9ede    \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502 PyTorch     \u2502 \u958b\u767c\u6e2c\u8a66     \u2502 \u6700\u9748\u6d3b       \u2502 \u90e8\u7f72\u4e0d\u4fbf    \u2502\n\u2502 ONNX        \u2502 \u8de8\u5e73\u53f0\u90e8\u7f72   \u2502 \u901a\u7528\u6027\u6700\u9ad8   \u2502 \u901f\u5ea6\u4e2d\u7b49    \u2502\n\u2502 TensorRT    \u2502 NVIDIA GPU   \u2502 \u901f\u5ea6\u6700\u5feb     \u2502 \u50c5\u9650 NVIDIA \u2502\n\u2502 CoreML      \u2502 Apple \u88dd\u7f6e   \u2502 \u6574\u5408\u5ea6\u9ad8     \u2502 \u50c5\u9650 Apple  \u2502\n\u2502 TFLite      \u2502 \u884c\u52d5\/\u908a\u7de3    \u2502 \u6a94\u6848\u5c0f       \u2502 \u7cbe\u5ea6\u53ef\u80fd\u964d  \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n<\/code><\/span><\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">\u91cf\u5316\u6280\u8853\uff1a\u8b93\u6a21\u578b\u66f4\u5c0f\u66f4\u5feb<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u4ec0\u9ebc\u662f\u91cf\u5316\uff1f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u91cf\u5316\uff08Quantization\uff09\u662f\u5c07\u6a21\u578b\u7684\u6b0a\u91cd\u5f9e\u9ad8\u7cbe\u5ea6\uff08FP32\uff09\u8f49\u63db\u70ba\u4f4e\u7cbe\u5ea6\uff08FP16 \u6216 INT8\uff09\u7684\u6280\u8853\u3002\u60f3\u50cf\u4e00\u4e0b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>FP32<\/strong>\uff1a\u7528 32 \u4f4d\u5143\u5132\u5b58\u4e00\u500b\u6578\u5b57\uff0c\u7cbe\u5ea6\u9ad8\u4f46\u4f54\u7a7a\u9593<\/li>\n<li><strong>FP16<\/strong>\uff1a\u7528 16 \u4f4d\u5143\u5132\u5b58\uff0c\u7cbe\u5ea6\u7a0d\u4f4e\u4f46\u5927\u5c0f\u6e1b\u534a<\/li>\n<li><strong>INT8<\/strong>\uff1a\u7528 8 \u4f4d\u5143\u5132\u5b58\uff0c\u5927\u5c0f\u518d\u6e1b\u534a\u4f46\u7cbe\u5ea6\u640d\u5931\u66f4\u591a<\/li>\n<\/ul>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\">\u7cbe\u5ea6\u8207\u5927\u5c0f\u95dc\u4fc2\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502   \u7cbe\u5ea6   \u2502 \u6a21\u578b\u5927\u5c0f \u2502 \u63a8\u8ad6\u901f\u5ea6 \u2502  \u7cbe\u5ea6\u640d\u5931  \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502  <span class=\"hljs-selector-tag\">FP32<\/span>    \u2502   100%   \u2502  \u57fa\u6e96    \u2502    \u7121      \u2502\n\u2502  <span class=\"hljs-selector-tag\">FP16<\/span>    \u2502    50%   \u2502  1<span class=\"hljs-selector-class\">.5-2x<\/span>  \u2502   \u6975\u5c0f     \u2502\n\u2502  <span class=\"hljs-selector-tag\">INT8<\/span>    \u2502    25%   \u2502  2<span class=\"hljs-selector-tag\">-4x<\/span>    \u2502   \u53ef\u63a5\u53d7   \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">FP16 \u534a\u7cbe\u5ea6\u91cf\u5316<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u6700\u7c21\u55ae\u7684\u91cf\u5316\u65b9\u5f0f\uff0c\u5e7e\u4e4e\u4e0d\u640d\u5931\u7cbe\u5ea6\uff1a<\/p>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># \u532f\u51fa\u6642\u555f\u7528 FP16<\/span>\nyolo export model=best.pt format=onnx half=<span class=\"hljs-keyword\">True<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">\u5728 Python \u4e2d\u4f7f\u7528\uff1a<\/p>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">from ultralytics import YOLO\n\n<span class=\"hljs-comment\"># \u8f09\u5165\u6a21\u578b\u6642\u6307\u5b9a\u534a\u7cbe\u5ea6<\/span>\nmodel = YOLO(<span class=\"hljs-string\">'best.pt'<\/span>)\nresults = model.predict(<span class=\"hljs-string\">'image.jpg'<\/span>, half=<span class=\"hljs-keyword\">True<\/span>)\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">INT8 \u91cf\u5316<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u9700\u8981\u6821\u6e96\u8cc7\u6599\u96c6\u4f86\u78ba\u4fdd\u7cbe\u5ea6\uff1a<\/p>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># TensorRT INT8 \u91cf\u5316<\/span>\nyolo export model=best.pt format=engine int8=<span class=\"hljs-keyword\">True<\/span> data=coco.yaml\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">\u9019\u88e1 <code>data=coco.yaml<\/code> \u63d0\u4f9b\u6821\u6e96\u8cc7\u6599\uff0c\u8b93\u6a21\u578b\u77e5\u9053\u5982\u4f55\u6700\u4f73\u5316\u6578\u503c\u7bc4\u570d\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u91cf\u5316\u6548\u679c\u5be6\u6e2c<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5 YOLOv8n \u70ba\u4f8b\uff0c\u5728 RTX 3080 \u4e0a\u7684\u8868\u73fe\uff1a<\/p>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\">\u5be6\u6e2c\u6578\u64da\uff08\u8f38\u5165 640<span class=\"hljs-selector-tag\">x640<\/span>\uff09\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502   \u6a21\u5f0f   \u2502 \u6a21\u578b\u5927\u5c0f \u2502   <span class=\"hljs-selector-tag\">FPS<\/span>    \u2502   <span class=\"hljs-selector-tag\">mAP<\/span>    \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502 <span class=\"hljs-selector-tag\">FP32<\/span>     \u2502  6<span class=\"hljs-selector-class\">.3<\/span> <span class=\"hljs-selector-tag\">MB<\/span>  \u2502   180    \u2502  37<span class=\"hljs-selector-class\">.3<\/span>%   \u2502\n\u2502 <span class=\"hljs-selector-tag\">FP16<\/span>     \u2502  3<span class=\"hljs-selector-class\">.2<\/span> <span class=\"hljs-selector-tag\">MB<\/span>  \u2502   280    \u2502  37<span class=\"hljs-selector-class\">.2<\/span>%   \u2502\n\u2502 <span class=\"hljs-selector-tag\">INT8<\/span>     \u2502  1<span class=\"hljs-selector-class\">.6<\/span> <span class=\"hljs-selector-tag\">MB<\/span>  \u2502   420    \u2502  36<span class=\"hljs-selector-class\">.8<\/span>%   \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">FP16 \u5e7e\u4e4e\u4e0d\u640d\u5931\u7cbe\u5ea6\uff0c\u4f46\u901f\u5ea6\u63d0\u5347\u660e\u986f\uff0c\u662f\u6700\u63a8\u85a6\u7684\u9078\u64c7\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u90e8\u7f72\u5834\u666f\u8207\u5e73\u53f0\u9078\u64c7<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u4f3a\u670d\u5668\u90e8\u7f72\uff1a\u6700\u5927\u6548\u80fd<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u9069\u5408\u9700\u8981\u8655\u7406\u5927\u91cf\u8acb\u6c42\u7684\u5834\u666f\uff0c\u5982\u96f2\u7aef API \u670d\u52d9\u3002<\/p>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># server_deploy.py - \u4f7f\u7528 FastAPI \u5efa\u7acb\u5075\u6e2c API<\/span>\nfrom fastapi import FastAPI, UploadFile\nfrom ultralytics import YOLO\nimport cv2\nimport numpy <span class=\"hljs-keyword\">as<\/span> np\n\napp = FastAPI()\nmodel = YOLO(<span class=\"hljs-string\">'best.engine'<\/span>)  <span class=\"hljs-comment\"># \u4f7f\u7528 TensorRT \u683c\u5f0f<\/span>\n\n@app.post(<span class=\"hljs-string\">\"\/detect\"<\/span>)\nasync def detect(file: UploadFile):\n    <span class=\"hljs-comment\"># \u8b80\u53d6\u4e0a\u50b3\u7684\u5716\u7247<\/span>\n    contents = await file.read()\n    nparr = np.frombuffer(contents, np.uint8)\n    img = cv2.imdecode(nparr, cv2.IMREAD_COLOR)\n\n    <span class=\"hljs-comment\"># \u57f7\u884c\u5075\u6e2c<\/span>\n    results = model(img)\n\n    <span class=\"hljs-comment\"># \u6574\u7406\u7d50\u679c<\/span>\n    detections = &#91;]\n    <span class=\"hljs-keyword\">for<\/span> r in results:\n        <span class=\"hljs-keyword\">for<\/span> box in r.boxes:\n            detections.append({\n                <span class=\"hljs-string\">'class'<\/span>: model.names&#91;int(box.cls)],\n                <span class=\"hljs-string\">'confidence'<\/span>: float(box.conf),\n                <span class=\"hljs-string\">'bbox'<\/span>: box.xyxy&#91;<span class=\"hljs-number\">0<\/span>].tolist()\n            })\n\n    <span class=\"hljs-keyword\">return<\/span> {<span class=\"hljs-string\">'detections'<\/span>: detections}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">\u555f\u52d5\u4f3a\u670d\u5668\uff1a<\/p>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">uvicorn<\/span> <span class=\"hljs-selector-tag\">server_deploy<\/span><span class=\"hljs-selector-pseudo\">:app<\/span> <span class=\"hljs-selector-tag\">--host<\/span> 0<span class=\"hljs-selector-class\">.0<\/span><span class=\"hljs-selector-class\">.0<\/span><span class=\"hljs-selector-class\">.0<\/span> <span class=\"hljs-selector-tag\">--port<\/span> 8000\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">\u908a\u7de3\u88dd\u7f6e\u90e8\u7f72\uff1aJetson \u7cfb\u5217<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">NVIDIA Jetson\uff08\u5982 Jetson Nano\u3001Orin\uff09\u662f\u908a\u7de3 AI \u7684\u71b1\u9580\u9078\u64c7\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u74b0\u5883\u6e96\u5099\uff1a<\/strong><\/p>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-11\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># \u5728 Jetson \u4e0a\u5b89\u88dd ultralytics<\/span>\npip install ultralytics\n\n<span class=\"hljs-comment\"># \u78ba\u8a8d CUDA \u53ef\u7528<\/span>\npython -c <span class=\"hljs-string\">\"import torch; print(torch.cuda.is_available())\"<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-11\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>\u532f\u51fa TensorRT \u6a21\u578b\uff1a<\/strong><\/p>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-12\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># \u76f4\u63a5\u5728 Jetson \u4e0a\u532f\u51fa\uff0c\u78ba\u4fdd\u76f8\u5bb9\u6027<\/span>\nyolo export model=best.pt format=engine device=<span class=\"hljs-number\">0<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-12\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6ce8\u610f\u4e8b\u9805\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5728\u76ee\u6a19\u88dd\u7f6e\u4e0a\u532f\u51fa TensorRT \u6a21\u578b\uff0c\u907f\u514d\u76f8\u5bb9\u6027\u554f\u984c<\/li>\n<li>Jetson Nano \u5efa\u8b70\u4f7f\u7528 YOLOv8n\uff08\u6700\u5c0f\u6a21\u578b\uff09<\/li>\n<li>\u9069\u7576\u964d\u4f4e\u8f38\u5165\u5c3a\u5bf8\uff08\u5982 320&#215;320\uff09\u53ef\u5927\u5e45\u63d0\u5347 FPS<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u908a\u7de3\u88dd\u7f6e\u90e8\u7f72\uff1aRaspberry Pi<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Raspberry Pi \u6c92\u6709 GPU\uff0c\u9700\u8981\u4f7f\u7528 CPU \u512a\u5316\u7684\u683c\u5f0f\u3002<\/p>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-13\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># \u532f\u51fa\u70ba NCNN \u683c\u5f0f\uff08ARM CPU \u512a\u5316\uff09<\/span>\nyolo export model=best.pt format=ncnn\n\n<span class=\"hljs-comment\"># \u6216\u4f7f\u7528 TFLite<\/span>\nyolo export model=best.pt format=tflite\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-13\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6548\u80fd\u671f\u671b\uff08Pi 4B\uff09\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>YOLOv8n + NCNN\uff1a\u7d04 5-10 FPS<\/li>\n<li>YOLOv8n + TFLite\uff1a\u7d04 3-5 FPS<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u9700\u8981\u66f4\u9ad8 FPS\uff0c\u8003\u616e\u4f7f\u7528 Coral USB Accelerator\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5373\u6642\u5f71\u7247\u5075\u6e2c\u61c9\u7528<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u57fa\u672c\u67b6\u69cb<\/h3>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-14\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># realtime_detect.py - \u5373\u6642\u651d\u5f71\u6a5f\u5075\u6e2c<\/span>\nimport cv2\nfrom ultralytics import YOLO\nimport time\n\ndef main():\n    <span class=\"hljs-comment\"># \u8f09\u5165\u6a21\u578b<\/span>\n    model = YOLO(<span class=\"hljs-string\">'best.pt'<\/span>)  <span class=\"hljs-comment\"># \u6216 best.onnx, best.engine<\/span>\n\n    <span class=\"hljs-comment\"># \u958b\u555f\u651d\u5f71\u6a5f<\/span>\n    cap = cv2.VideoCapture(<span class=\"hljs-number\">0<\/span>)  <span class=\"hljs-comment\"># 0 = \u9810\u8a2d\u651d\u5f71\u6a5f<\/span>\n    cap.set(cv2.CAP_PROP_FRAME_WIDTH, <span class=\"hljs-number\">640<\/span>)\n    cap.set(cv2.CAP_PROP_FRAME_HEIGHT, <span class=\"hljs-number\">480<\/span>)\n\n    <span class=\"hljs-comment\"># FPS \u8a08\u7b97<\/span>\n    prev_time = time.time()\n\n    <span class=\"hljs-keyword\">while<\/span> <span class=\"hljs-keyword\">True<\/span>:\n        ret, frame = cap.read()\n        <span class=\"hljs-keyword\">if<\/span> not ret:\n            <span class=\"hljs-keyword\">break<\/span>\n\n        <span class=\"hljs-comment\"># \u57f7\u884c\u5075\u6e2c<\/span>\n        results = model(frame, verbose=<span class=\"hljs-keyword\">False<\/span>)\n\n        <span class=\"hljs-comment\"># \u5728\u756b\u9762\u4e0a\u7e6a\u88fd\u7d50\u679c<\/span>\n        annotated_frame = results&#91;<span class=\"hljs-number\">0<\/span>].plot()\n\n        <span class=\"hljs-comment\"># \u8a08\u7b97\u4e26\u986f\u793a FPS<\/span>\n        curr_time = time.time()\n        fps = <span class=\"hljs-number\">1<\/span> \/ (curr_time - prev_time)\n        prev_time = curr_time\n        cv2.putText(annotated_frame, f<span class=\"hljs-string\">'FPS: {fps:.1f}'<\/span>, (<span class=\"hljs-number\">10<\/span>, <span class=\"hljs-number\">30<\/span>),\n                    cv2.FONT_HERSHEY_SIMPLEX, <span class=\"hljs-number\">1<\/span>, (<span class=\"hljs-number\">0<\/span>, <span class=\"hljs-number\">255<\/span>, <span class=\"hljs-number\">0<\/span>), <span class=\"hljs-number\">2<\/span>)\n\n        <span class=\"hljs-comment\"># \u986f\u793a\u7d50\u679c<\/span>\n        cv2.imshow(<span class=\"hljs-string\">'YOLO Detection'<\/span>, annotated_frame)\n\n        <span class=\"hljs-comment\"># \u6309 'q' \u9000\u51fa<\/span>\n        <span class=\"hljs-keyword\">if<\/span> cv2.waitKey(<span class=\"hljs-number\">1<\/span>) &amp; <span class=\"hljs-number\">0xFF<\/span> == ord(<span class=\"hljs-string\">'q'<\/span>):\n            <span class=\"hljs-keyword\">break<\/span>\n\n    cap.release()\n    cv2.destroyAllWindows()\n\n<span class=\"hljs-keyword\">if<\/span> __name__ == <span class=\"hljs-string\">'__main__'<\/span>:\n    main()\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-14\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">\u512a\u5316\u5373\u6642\u5075\u6e2c\u6548\u80fd<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">1. \u964d\u4f4e\u8f38\u5165\u89e3\u6790\u5ea6<\/h4>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-15\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># \u4f7f\u7528\u8f03\u5c0f\u7684\u8f38\u5165\u5c3a\u5bf8<\/span>\nresults = model(frame, imgsz=<span class=\"hljs-number\">320<\/span>)  <span class=\"hljs-comment\"># \u9810\u8a2d\u662f 640<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-15\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">\u6548\u679c\uff1aFPS \u53ef\u63d0\u5347 2-4 \u500d\uff0c\u4f46\u5c0f\u7269\u4ef6\u5075\u6e2c\u6548\u679c\u6703\u4e0b\u964d\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2. \u8df3\u5e40\u8655\u7406<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0d\u9700\u8981\u6bcf\u4e00\u5e40\u90fd\u5075\u6e2c\uff1a<\/p>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-16\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">frame_count = <span class=\"hljs-number\">0<\/span>\nskip_frames = <span class=\"hljs-number\">2<\/span>  <span class=\"hljs-comment\"># \u6bcf 3 \u5e40\u5075\u6e2c 1 \u6b21<\/span>\n\n<span class=\"hljs-keyword\">while<\/span> <span class=\"hljs-keyword\">True<\/span>:\n    ret, frame = cap.read()\n    frame_count += <span class=\"hljs-number\">1<\/span>\n\n    <span class=\"hljs-keyword\">if<\/span> frame_count % (skip_frames + <span class=\"hljs-number\">1<\/span>) == <span class=\"hljs-number\">0<\/span>:\n        results = model(frame)\n        last_results = results\n\n    <span class=\"hljs-comment\"># \u4f7f\u7528\u4e0a\u6b21\u7684\u7d50\u679c\u7e6a\u88fd<\/span>\n    <span class=\"hljs-keyword\">if<\/span> last_results:\n        annotated_frame = last_results&#91;<span class=\"hljs-number\">0<\/span>].plot()\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-16\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">3. \u4f7f\u7528\u591a\u57f7\u884c\u7dd2<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u5c07\u8b80\u53d6\u5f71\u50cf\u548c\u63a8\u8ad6\u5206\u958b\uff1a<\/p>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\"><span><code class=\"hljs\">import threading\nfrom queue import Queue\n\nclass VideoStream:\n    def __init__(self, src=0):\n        self.cap = cv2.VideoCapture(src)\n        self.queue = Queue(maxsize=2)\n        self.stopped = False\n\n    def start(self):\n        threading.Thread(target=self._update, daemon=True).start()\n        return self\n\n    def _update(self):\n        while not self.stopped:\n            ret, frame = self.cap.read()\n            if not self.queue.full():\n                self.queue.put(frame)\n\n    def read(self):\n        return self.queue.get()\n\n    def stop(self):\n        self.stopped = True\n\n# \u4f7f\u7528\u65b9\u5f0f\nstream = VideoStream(0).start()\nwhile True:\n    frame = stream.read()\n    results = model(frame)\n<\/code><\/span><\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">\u6548\u80fd\u8a55\u4f30\u8207\u76e3\u63a7<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u95dc\u9375\u6307\u6a19<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u90e8\u7f72\u5f8c\u9700\u8981\u76e3\u63a7\u9019\u4e9b\u6307\u6a19\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>\u6307\u6a19<\/th>\n<th>\u8aaa\u660e<\/th>\n<th>\u7406\u60f3\u503c<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>FPS<\/td>\n<td>\u6bcf\u79d2\u8655\u7406\u5e40\u6578<\/td>\n<td>\u4f9d\u61c9\u7528\u9700\u6c42\uff0c\u901a\u5e38 >15<\/td>\n<\/tr>\n<tr>\n<td>Latency<\/td>\n<td>\u55ae\u5e40\u8655\u7406\u5ef6\u9072<\/td>\n<td><100ms<\/td>\n<\/tr>\n<tr>\n<td>GPU \u4f7f\u7528\u7387<\/td>\n<td>GPU \u8ca0\u8f09<\/td>\n<td>60-80%\uff08\u6709\u9918\u88d5\uff09<\/td>\n<\/tr>\n<tr>\n<td>\u8a18\u61b6\u9ad4\u4f7f\u7528<\/td>\n<td>\u986f\u5b58\/\u8a18\u61b6\u9ad4\u4f54\u7528<\/td>\n<td>\u4f4e\u65bc\u4e0a\u9650<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u6548\u80fd\u6e2c\u8a66\u8173\u672c<\/h3>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-17\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># benchmark.py - \u6548\u80fd\u6e2c\u8a66<\/span>\nfrom ultralytics import YOLO\nimport time\nimport numpy <span class=\"hljs-keyword\">as<\/span> np\n\ndef benchmark(model_path, num_iterations=<span class=\"hljs-number\">100<\/span>):\n    model = YOLO(model_path)\n\n    <span class=\"hljs-comment\"># \u4f7f\u7528\u5047\u5716\u7247\u6e2c\u8a66<\/span>\n    dummy_input = np.random.randint(<span class=\"hljs-number\">0<\/span>, <span class=\"hljs-number\">255<\/span>, (<span class=\"hljs-number\">640<\/span>, <span class=\"hljs-number\">640<\/span>, <span class=\"hljs-number\">3<\/span>), dtype=np.uint8)\n\n    <span class=\"hljs-comment\"># \u6696\u6a5f\uff08\u8b93 GPU \u9032\u5165\u5de5\u4f5c\u72c0\u614b\uff09<\/span>\n    <span class=\"hljs-keyword\">for<\/span> _ in range(<span class=\"hljs-number\">10<\/span>):\n        model(dummy_input, verbose=<span class=\"hljs-keyword\">False<\/span>)\n\n    <span class=\"hljs-comment\"># \u6b63\u5f0f\u6e2c\u8a66<\/span>\n    times = &#91;]\n    <span class=\"hljs-keyword\">for<\/span> _ in range(num_iterations):\n        start = time.time()\n        model(dummy_input, verbose=<span class=\"hljs-keyword\">False<\/span>)\n        times.append(time.time() - start)\n\n    times = np.<span class=\"hljs-keyword\">array<\/span>(times) * <span class=\"hljs-number\">1000<\/span>  <span class=\"hljs-comment\"># \u8f49\u63db\u70ba\u6beb\u79d2<\/span>\n\n    <span class=\"hljs-keyword\">print<\/span>(f<span class=\"hljs-string\">\"\u6a21\u578b: {model_path}\"<\/span>)\n    <span class=\"hljs-keyword\">print<\/span>(f<span class=\"hljs-string\">\"\u5e73\u5747\u5ef6\u9072: {times.mean():.2f} ms\"<\/span>)\n    <span class=\"hljs-keyword\">print<\/span>(f<span class=\"hljs-string\">\"\u6a19\u6e96\u5dee: {times.std():.2f} ms\"<\/span>)\n    <span class=\"hljs-keyword\">print<\/span>(f<span class=\"hljs-string\">\"FPS: {1000 \/ times.mean():.1f}\"<\/span>)\n    <span class=\"hljs-keyword\">print<\/span>(f<span class=\"hljs-string\">\"\u6700\u5feb: {times.min():.2f} ms\"<\/span>)\n    <span class=\"hljs-keyword\">print<\/span>(f<span class=\"hljs-string\">\"\u6700\u6162: {times.max():.2f} ms\"<\/span>)\n\n<span class=\"hljs-comment\"># \u6bd4\u8f03\u4e0d\u540c\u683c\u5f0f<\/span>\nbenchmark(<span class=\"hljs-string\">'best.pt'<\/span>)\nbenchmark(<span class=\"hljs-string\">'best.onnx'<\/span>)\nbenchmark(<span class=\"hljs-string\">'best.engine'<\/span>)  <span class=\"hljs-comment\"># \u9700\u8981 TensorRT<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-17\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">\u5178\u578b\u8f38\u51fa<\/h3>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-18\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\">\u6a21\u578b: <span class=\"hljs-selector-tag\">best<\/span><span class=\"hljs-selector-class\">.pt<\/span>\n\u5e73\u5747\u5ef6\u9072: 12<span class=\"hljs-selector-class\">.45<\/span> <span class=\"hljs-selector-tag\">ms<\/span>\n\u6a19\u6e96\u5dee: 1<span class=\"hljs-selector-class\">.23<\/span> <span class=\"hljs-selector-tag\">ms<\/span>\n<span class=\"hljs-selector-tag\">FPS<\/span>: 80<span class=\"hljs-selector-class\">.3<\/span>\n\u6700\u5feb: 10<span class=\"hljs-selector-class\">.21<\/span> <span class=\"hljs-selector-tag\">ms<\/span>\n\u6700\u6162: 18<span class=\"hljs-selector-class\">.67<\/span> <span class=\"hljs-selector-tag\">ms<\/span>\n\n\u6a21\u578b: <span class=\"hljs-selector-tag\">best<\/span><span class=\"hljs-selector-class\">.engine<\/span>\n\u5e73\u5747\u5ef6\u9072: 4<span class=\"hljs-selector-class\">.32<\/span> <span class=\"hljs-selector-tag\">ms<\/span>\n\u6a19\u6e96\u5dee: 0<span class=\"hljs-selector-class\">.45<\/span> <span class=\"hljs-selector-tag\">ms<\/span>\n<span class=\"hljs-selector-tag\">FPS<\/span>: 231<span class=\"hljs-selector-class\">.5<\/span>\n\u6700\u5feb: 3<span class=\"hljs-selector-class\">.89<\/span> <span class=\"hljs-selector-tag\">ms<\/span>\n\u6700\u6162: 5<span class=\"hljs-selector-class\">.67<\/span> <span class=\"hljs-selector-tag\">ms<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-18\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">\u5e38\u898b\u554f\u984c\u8207\u89e3\u6c7a\u65b9\u6848<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Q1: TensorRT \u532f\u51fa\u5931\u6557<\/h3>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-19\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">\u932f\u8aa4\u8a0a\u606f: TensorRT <span class=\"hljs-keyword\">export<\/span> requires TensorRT&gt;=<span class=\"hljs-number\">7.0<\/span><span class=\"hljs-number\">.0<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-19\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>\u89e3\u6c7a\u65b9\u6848\uff1a<\/strong><\/p>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-20\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># \u5b89\u88dd TensorRT<\/span>\npip install tensorrt\n\n<span class=\"hljs-comment\"># \u6216\u8005\u5728 Jetson \u4e0a\u4f7f\u7528\u7cfb\u7d71\u81ea\u5e36\u7684 TensorRT<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-20\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">Q2: ONNX \u6a21\u578b\u63a8\u8ad6\u7d50\u679c\u4e0d\u540c<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u53ef\u80fd\u539f\u56e0\uff1a<\/strong> opset \u7248\u672c\u4e0d\u76f8\u5bb9<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u89e3\u6c7a\u65b9\u6848\uff1a<\/strong><\/p>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-21\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># \u6307\u5b9a opset \u7248\u672c<\/span>\nyolo export model=best.pt format=onnx opset=<span class=\"hljs-number\">12<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-21\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">Q3: \u8a18\u61b6\u9ad4\u4e0d\u8db3<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u89e3\u6c7a\u65b9\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u4f7f\u7528\u8f03\u5c0f\u7684\u6a21\u578b\uff08n < s < m < l < x\uff09<\/li>\n<li>\u964d\u4f4e\u8f38\u5165\u89e3\u6790\u5ea6<\/li>\n<li>\u6e1b\u5c11 batch size<\/li>\n<li>\u4f7f\u7528 FP16 \u6216 INT8 \u91cf\u5316<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Q4: \u908a\u7de3\u88dd\u7f6e FPS \u592a\u4f4e<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u512a\u5316\u9806\u5e8f\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u78ba\u8a8d\u4f7f\u7528\u6b63\u78ba\u7684\u532f\u51fa\u683c\u5f0f\uff08TensorRT for Jetson\uff09<\/li>\n<li>\u964d\u4f4e\u8f38\u5165\u5c3a\u5bf8\uff08640 -> 320\uff09<\/li>\n<li>\u4f7f\u7528\u8f03\u5c0f\u7684\u6a21\u578b<\/li>\n<li>\u5be6\u4f5c\u8df3\u5e40\u8655\u7406<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\u90e8\u7f72\u6aa2\u67e5\u6e05\u55ae<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u6b63\u5f0f\u4e0a\u7dda\u524d\uff0c\u78ba\u8a8d\u4ee5\u4e0b\u9805\u76ee\uff1a<\/p>\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-22\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\">\u90e8\u7f72\u524d\u6aa2\u67e5\n<span class=\"hljs-selector-attr\">&#91; ]<\/span> \u6a21\u578b\u5df2\u532f\u51fa\u70ba\u76ee\u6a19\u683c\u5f0f\n<span class=\"hljs-selector-attr\">&#91; ]<\/span> \u5728\u76ee\u6a19\u786c\u9ad4\u4e0a\u6e2c\u8a66\u904e\u6548\u80fd\n<span class=\"hljs-selector-attr\">&#91; ]<\/span> <span class=\"hljs-selector-tag\">FPS<\/span> \u7b26\u5408\u61c9\u7528\u9700\u6c42\n<span class=\"hljs-selector-attr\">&#91; ]<\/span> \u8a18\u61b6\u9ad4\u4f7f\u7528\u5728\u5408\u7406\u7bc4\u570d\n<span class=\"hljs-selector-attr\">&#91; ]<\/span> \u932f\u8aa4\u8655\u7406\u6a5f\u5236\u5df2\u5be6\u4f5c\n<span class=\"hljs-selector-attr\">&#91; ]<\/span> \u6709\u76e3\u63a7\u548c\u65e5\u8a8c\u6a5f\u5236\n<span class=\"hljs-selector-attr\">&#91; ]<\/span> \u5df2\u6e96\u5099\u56de\u6efe\u65b9\u6848\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-22\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">\u7cfb\u5217\u7e3d\u7d50<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u606d\u559c\u4f60\u5b8c\u6210\u4e86 YOLO \u7269\u4ef6\u5075\u6e2c\u7684\u5b8c\u6574\u5b78\u7fd2\u65c5\u7a0b\uff01\u8b93\u6211\u5011\u56de\u9867\u4e00\u4e0b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>\u7bc7\u7ae0<\/th>\n<th>\u4e3b\u984c<\/th>\n<th>\u4f60\u5b78\u6703\u4e86<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>#01<\/td>\n<td>\u57fa\u790e\u6982\u5ff5<\/td>\n<td>YOLO \u7684\u539f\u7406\u8207\u67b6\u69cb<\/td>\n<\/tr>\n<tr>\n<td>#02<\/td>\n<td>\u74b0\u5883\u8207\u5feb\u901f\u958b\u59cb<\/td>\n<td>\u5b89\u88dd\u74b0\u5883\u8207\u57f7\u884c\u63a8\u8ad6<\/td>\n<\/tr>\n<tr>\n<td>#03<\/td>\n<td>\u8cc7\u6599\u96c6\u6e96\u5099<\/td>\n<td>\u6a19\u8a3b\u8207\u683c\u5f0f\u8f49\u63db<\/td>\n<\/tr>\n<tr>\n<td>#04<\/td>\n<td>\u8a13\u7df4\u8207\u8a55\u4f30<\/td>\n<td>\u8a13\u7df4\u6a21\u578b\u8207\u5206\u6790\u6307\u6a19<\/td>\n<\/tr>\n<tr>\n<td>#05<\/td>\n<td>\u90e8\u7f72\u8207\u512a\u5316<\/td>\n<td>\u532f\u51fa\u3001\u91cf\u5316\u8207\u5373\u6642\u61c9\u7528<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e0b\u4e00\u6b65\u5efa\u8b70<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5617\u8a66\u4e0d\u540c\u7684\u90e8\u7f72\u5834\u666f<\/strong>\uff1a\u5f9e\u672c\u5730\u61c9\u7528\u5230\u96f2\u7aef API<\/li>\n<li><strong>\u63a2\u7d22\u9032\u968e\u529f\u80fd<\/strong>\uff1a\u8ffd\u8e64\u3001\u5206\u5272\u3001\u59ff\u614b\u4f30\u8a08<\/li>\n<li><strong>\u512a\u5316\u6a21\u578b\u67b6\u69cb<\/strong>\uff1a\u91dd\u5c0d\u7279\u5b9a\u5834\u666f\u5ba2\u88fd\u5316<\/li>\n<li><strong>\u5b78\u7fd2 MLOps<\/strong>\uff1a\u6a21\u578b\u7248\u672c\u63a7\u5236\u3001\u6301\u7e8c\u8a13\u7df4<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\u53c3\u8003\u8cc7\u6e90<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.ultralytics.com\/modes\/export\/\">Ultralytics \u5b98\u65b9\u90e8\u7f72\u6587\u4ef6<\/a><\/li>\n<li><a href=\"https:\/\/onnxruntime.ai\/\">ONNX Runtime \u6587\u4ef6<\/a><\/li>\n<li><a href=\"https:\/\/developer.nvidia.com\/tensorrt\">TensorRT \u958b\u767c\u6307\u5357<\/a><\/li>\n<li><a href=\"https:\/\/developer.nvidia.com\/embedded-computing\">Jetson \u958b\u767c\u8005\u8cc7\u6e90<\/a><\/li>\n<\/ul>\n\n\n\n<div id=\"quiz-10d13aa6\">\n<style>\n#quiz-10d13aa6 .difficulty-badge {\n        display: inline-block;\n        background: #ff9800;\n        color: white;\n        padding: 4px 12px;\n        border-radius: 20px;\n        font-size: 0.85em;\n        margin-left: 10px;\n      }#quiz-10d13aa6 .question {\n        background: white;\n        border-radius: 8px;\n        padding: 20px;\n        margin: 20px 0;\n        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n      }#quiz-10d13aa6 .question h3 {\n        margin-top: 0;\n        color: #333;\n      }#quiz-10d13aa6 .options {\n        list-style: none;\n        padding: 0;\n      }#quiz-10d13aa6 .options li {\n        padding: 12px 15px;\n        margin: 8px 0;\n        border: 2px solid #ddd;\n        border-radius: 6px;\n        cursor: pointer;\n        transition: all 0.2s;\n      }#quiz-10d13aa6 .options li:hover:not(.disabled) {\n        border-color: #ff9800;\n        background: #fff8e1;\n      }#quiz-10d13aa6 .options li.correct {\n        border-color: #4caf50;\n        background: #e8f5e9;\n      }#quiz-10d13aa6 .options li.wrong {\n        border-color: #f44336;\n        background: #ffebee;\n      }#quiz-10d13aa6 .options li.disabled {\n        cursor: default;\n        opacity: 0.7;\n      }#quiz-10d13aa6 .options li.show-answer {\n        border-color: #4caf50;\n        background: #e8f5e9;\n      }#quiz-10d13aa6 .feedback {\n        margin-top: 15px;\n        padding: 12px;\n        border-radius: 6px;\n        display: none;\n      }#quiz-10d13aa6 .feedback.correct {\n        background: #e8f5e9;\n        color: #2e7d32;\n        display: block;\n      }#quiz-10d13aa6 .feedback.wrong {\n        background: #ffebee;\n        color: #c62828;\n        display: block;\n      }#quiz-10d13aa6 .score {\n        text-align: center;\n        font-size: 1.5em;\n        padding: 20px;\n        background: white;\n        border-radius: 8px;\n        margin-top: 20px;\n      }#quiz-10d13aa6 .code-block {\n        background: #1e1e1e;\n        color: #d4d4d4;\n        padding: 14px;\n        border-radius: 6px;\n        font-family: \"Monaco\", \"Consolas\", \"Courier New\", monospace;\n        font-size: 0.9em;\n        overflow-x: auto;\n        margin: 12px 0;\n        white-space: pre-wrap;\n      }#quiz-10d13aa6 .scenario {\n        background: #e3f2fd;\n        padding: 12px;\n        border-radius: 6px;\n        margin-bottom: 15px;\n        border-left: 4px solid #2196f3;\n      }\n<\/style>\n<h1>\u9032\u968e\u6e2c\u9a57\uff1aYOLO \u90e8\u7f72\u8207\u512a\u5316 <span class=\"difficulty-badge\">\u9032\u968e<\/span><\/h1>\n    <p>\u5171 5 \u984c\u60c5\u5883\u61c9\u7528\u984c\uff0c\u6e2c\u8a66\u4f60\u5c0d\u90e8\u7f72\u8207\u512a\u5316\u7684\u6df1\u5165\u7406\u89e3<\/p>\n\n    <div class=\"question\" id=\"q1\">\n      <div class=\"scenario\">\n        <strong>\u60c5\u5883\uff1a<\/strong>\u4f60\u6b63\u5728\u70ba\u4e00\u5bb6\u7269\u6d41\u516c\u53f8\u958b\u767c\u5305\u88f9\u5075\u6e2c\u7cfb\u7d71\uff0c\u9700\u8981\u90e8\u7f72\u5728\u914d\u5099 NVIDIA RTX 3080 \u7684\u4f3a\u670d\u5668\u4e0a\uff0c\u6bcf\u79d2\u9700\u8655\u7406\u81f3\u5c11 200 \u5f35\u5716\u7247\uff0c\u540c\u6642 mAP \u640d\u5931\u4e0d\u80fd\u8d85\u904e 1%\u3002\n      <\/div>\n      <h3>1. \u6839\u64da\u6587\u7ae0\u4e2d\u7684\u5be6\u6e2c\u6578\u64da\uff0c\u54ea\u7a2e\u914d\u7f6e\u6700\u7b26\u5408\u9700\u6c42\uff1f<\/h3>\n      <ul class=\"options\">\n        <li onclick=\"checkAnswer(1, 'A', 'C')\">A. YOLOv8n + FP32\uff0cFPS 180\uff0cmAP 37.3%<\/li>\n        <li onclick=\"checkAnswer(1, 'B', 'C')\">B. YOLOv8n + INT8\uff0cFPS 420\uff0cmAP 36.8%<\/li>\n        <li onclick=\"checkAnswer(1, 'C', 'C')\">C. YOLOv8n + FP16\uff0cFPS 280\uff0cmAP 37.2%<\/li>\n        <li onclick=\"checkAnswer(1, 'D', 'C')\">D. \u4f7f\u7528\u539f\u59cb PyTorch \u683c\u5f0f\uff0c\u4fdd\u6301\u6700\u9ad8\u7cbe\u5ea6<\/li>\n      <\/ul>\n      <div class=\"feedback\" id=\"fb1\"><\/div>\n    <\/div>\n\n    <div class=\"question\" id=\"q2\">\n      <div class=\"scenario\">\n        <strong>\u60c5\u5883\uff1a<\/strong>\u4f60\u9700\u8981\u5c07 YOLO \u6a21\u578b\u90e8\u7f72\u5230 Jetson Orin \u908a\u7de3\u88dd\u7f6e\u4e0a\u3002\u4f60\u5df2\u7d93\u5728\u958b\u767c\u6a5f\uff08RTX 4090\uff09\u4e0a\u8a13\u7df4\u597d\u6a21\u578b\uff0c\u73fe\u5728\u8981\u6e96\u5099\u90e8\u7f72\u3002\n      <\/div>\n      <h3>2. \u6839\u64da\u6587\u7ae0\u5efa\u8b70\uff0cTensorRT \u6a21\u578b\u7684\u532f\u51fa\u61c9\u8a72\u5728\u54ea\u88e1\u9032\u884c\uff1f\u70ba\u4ec0\u9ebc\uff1f<\/h3>\n      <ul class=\"options\">\n        <li onclick=\"checkAnswer(2, 'A', 'B')\">A. \u5728\u958b\u767c\u6a5f\u4e0a\u532f\u51fa\uff0c\u56e0\u70ba\u6548\u80fd\u66f4\u597d\u53ef\u4ee5\u66f4\u5feb\u5b8c\u6210\u532f\u51fa<\/li>\n        <li onclick=\"checkAnswer(2, 'B', 'B')\">B. \u5728\u76ee\u6a19 Jetson \u88dd\u7f6e\u4e0a\u532f\u51fa\uff0c\u56e0\u70ba TensorRT \u91dd\u5c0d\u7279\u5b9a\u786c\u9ad4\u512a\u5316\uff0c\u907f\u514d\u76f8\u5bb9\u6027\u554f\u984c<\/li>\n        <li onclick=\"checkAnswer(2, 'C', 'B')\">C. \u5728\u96f2\u7aef\u4f3a\u670d\u5668\u4e0a\u532f\u51fa\uff0c\u7136\u5f8c\u4e0b\u8f09\u5230 Jetson<\/li>\n        <li onclick=\"checkAnswer(2, 'D', 'B')\">D. \u4e0d\u9700\u8981\u532f\u51fa\uff0c\u76f4\u63a5\u4f7f\u7528 .pt \u6a94\u6848\u5373\u53ef<\/li>\n      <\/ul>\n      <div class=\"feedback\" id=\"fb2\"><\/div>\n    <\/div>\n\n    <div class=\"question\" id=\"q3\">\n      <div class=\"scenario\">\n        <strong>\u60c5\u5883\uff1a<\/strong>\u4f60\u958b\u767c\u7684\u5373\u6642\u5075\u6e2c\u61c9\u7528\u5728 Jetson Nano \u4e0a\u53ea\u80fd\u9054\u5230 8 FPS\uff0c\u4f46\u5ba2\u6236\u8981\u6c42\u81f3\u5c11 15 FPS\u3002\u4f60\u5df2\u7d93\u4f7f\u7528 YOLOv8n \u548c TensorRT \u683c\u5f0f\u3002\n      <\/div>\n      <h3>3. \u6839\u64da\u6587\u7ae0\u7684\u512a\u5316\u5efa\u8b70\uff0c\u4e0b\u4e00\u6b65\u61c9\u8a72\u512a\u5148\u5617\u8a66\u4ec0\u9ebc\uff1f<\/h3>\n      <ul class=\"options\">\n        <li onclick=\"checkAnswer(3, 'A', 'D')\">A. \u63db\u7528 YOLOv8s \u6a21\u578b\u4ee5\u63d0\u9ad8\u7cbe\u5ea6<\/li>\n        <li onclick=\"checkAnswer(3, 'B', 'D')\">B. \u5c07\u6a21\u578b\u532f\u51fa\u70ba ONNX \u683c\u5f0f<\/li>\n        <li onclick=\"checkAnswer(3, 'C', 'D')\">C. \u589e\u52a0\u8f38\u5165\u89e3\u6790\u5ea6\u5230 1280&#215;1280<\/li>\n        <li onclick=\"checkAnswer(3, 'D', 'D')\">D. \u964d\u4f4e\u8f38\u5165\u5c3a\u5bf8\uff08\u5982 640 \u6539\u70ba 320\uff09\u4e26\u5be6\u4f5c\u8df3\u5e40\u8655\u7406<\/li>\n      <\/ul>\n      <div class=\"feedback\" id=\"fb3\"><\/div>\n    <\/div>\n\n    <div class=\"question\" id=\"q4\">\n      <div class=\"scenario\">\n        <strong>\u60c5\u5883\uff1a<\/strong>\u4f60\u8981\u9032\u884c INT8 \u91cf\u5316\u4ee5\u9032\u4e00\u6b65\u58d3\u7e2e\u6a21\u578b\u5927\u5c0f\uff0c\u4f46\u767c\u73fe\u532f\u51fa\u6307\u4ee4\u4e2d\u9700\u8981\u984d\u5916\u7684 <code>data<\/code> \u53c3\u6578\u3002\n      <\/div>\n      <h3>4. \u9019\u500b <code>data=coco.yaml<\/code> \u53c3\u6578\u7684\u4f5c\u7528\u662f\u4ec0\u9ebc\uff1f<\/h3>\n      <div class=\"code-block\">yolo export model=best.pt format=engine int8=True data=coco.yaml<\/div>\n      <ul class=\"options\">\n        <li onclick=\"checkAnswer(4, 'A', 'C')\">A. \u6307\u5b9a\u8f38\u51fa\u6a94\u6848\u7684\u547d\u540d\u683c\u5f0f<\/li>\n        <li onclick=\"checkAnswer(4, 'B', 'C')\">B. \u5b9a\u7fa9\u6a21\u578b\u8981\u5075\u6e2c\u7684\u985e\u5225\u6578\u91cf<\/li>\n        <li onclick=\"checkAnswer(4, 'C', 'C')\">C. \u63d0\u4f9b\u6821\u6e96\u8cc7\u6599\u96c6\uff0c\u8b93\u6a21\u578b\u77e5\u9053\u5982\u4f55\u6700\u4f73\u5316\u6578\u503c\u7bc4\u570d<\/li>\n        <li onclick=\"checkAnswer(4, 'D', 'C')\">D. \u8a2d\u5b9a\u8a13\u7df4\u6642\u4f7f\u7528\u7684\u8d85\u53c3\u6578<\/li>\n      <\/ul>\n      <div class=\"feedback\" id=\"fb4\"><\/div>\n    <\/div>\n\n    <div class=\"question\" id=\"q5\">\n      <div class=\"scenario\">\n        <strong>\u60c5\u5883\uff1a<\/strong>\u4f60\u6b63\u5728\u4f7f\u7528\u591a\u57f7\u884c\u7dd2\u512a\u5316\u5373\u6642\u5075\u6e2c\u61c9\u7528\uff0c\u53c3\u8003\u4e86\u6587\u7ae0\u4e2d\u7684 <code>VideoStream<\/code> \u985e\u5225\u5be6\u4f5c\u3002\n      <\/div>\n      <h3>5. \u9019\u7a2e\u591a\u57f7\u884c\u7dd2\u67b6\u69cb\u7684\u4e3b\u8981\u512a\u9ede\u662f\u4ec0\u9ebc\uff1f<\/h3>\n      <div class=\"code-block\">class VideoStream:\n    def __init__(self, src=0):\n        self.cap = cv2.VideoCapture(src)\n        self.queue = Queue(maxsize=2)\n        self.stopped = False\n\n    def start(self):\n        threading.Thread(target=self._update, daemon=True).start()\n        return self<\/div>\n      <ul class=\"options\">\n        <li onclick=\"checkAnswer(5, 'A', 'B')\">A. \u53ef\u4ee5\u540c\u6642\u4f7f\u7528\u591a\u500b GPU \u9032\u884c\u63a8\u8ad6<\/li>\n        <li onclick=\"checkAnswer(5, 'B', 'B')\">B. \u5c07\u5f71\u50cf\u8b80\u53d6\u548c\u6a21\u578b\u63a8\u8ad6\u5206\u96e2\uff0c\u907f\u514d I\/O \u963b\u585e\u5f71\u97ff\u63a8\u8ad6\u6548\u80fd<\/li>\n        <li onclick=\"checkAnswer(5, 'C', 'B')\">C. \u53ef\u4ee5\u63d0\u9ad8\u6a21\u578b\u7684\u5075\u6e2c\u7cbe\u5ea6<\/li>\n        <li onclick=\"checkAnswer(5, 'D', 'B')\">D. \u6e1b\u5c11\u6a21\u578b\u7684\u8a18\u61b6\u9ad4\u4f7f\u7528\u91cf<\/li>\n      <\/ul>\n      <div class=\"feedback\" id=\"fb5\"><\/div>\n    <\/div>\n\n    <div class=\"score\" id=\"score\" style=\"display:none;\"><\/div>\n<script>\n\n      let answered = 0;\n      let correct = 0;\n      const total = 5;\n      const explanations = {\n        1: \"\u6839\u64da\u6587\u7ae0\u7684\u5be6\u6e2c\u6578\u64da\uff0cFP16 \u914d\u7f6e\u9054\u5230 280 FPS\uff08\u8d85\u904e 200 \u7684\u9700\u6c42\uff09\uff0cmAP \u70ba 37.2%\uff08\u76f8\u8f03 FP32 \u7684 37.3% \u50c5\u640d\u5931 0.1%\uff0c\u9060\u4f4e\u65bc 1% \u7684\u5bb9\u8a31\u7bc4\u570d\uff09\u3002INT8 \u96d6\u7136 FPS \u66f4\u9ad8\uff08420\uff09\uff0c\u4f46 mAP \u640d\u5931\u9054 0.5%\u3002FP32 \u7684 180 FPS \u5247\u672a\u9054\u5230 200 \u7684\u9700\u6c42\u3002\",\n        2: \"\u6587\u7ae0\u660e\u78ba\u6307\u51fa\uff1a\u300c\u5728\u76ee\u6a19\u88dd\u7f6e\u4e0a\u532f\u51fa TensorRT \u6a21\u578b\uff0c\u907f\u514d\u76f8\u5bb9\u6027\u554f\u984c\u300d\u3002TensorRT \u6703\u91dd\u5c0d\u7279\u5b9a GPU \u67b6\u69cb\u9032\u884c\u512a\u5316\uff0c\u5728\u4e0d\u540c\u786c\u9ad4\u4e0a\u532f\u51fa\u7684\u6a21\u578b\u53ef\u80fd\u7121\u6cd5\u6b63\u5e38\u904b\u4f5c\u6216\u6548\u80fd\u4e0d\u4f73\u3002\",\n        3: \"\u6839\u64da\u6587\u7ae0\u7684\u300c\u908a\u7de3\u88dd\u7f6e FPS \u592a\u4f4e\u300d\u512a\u5316\u9806\u5e8f\uff1a1. \u78ba\u8a8d\u4f7f\u7528\u6b63\u78ba\u532f\u51fa\u683c\u5f0f\uff08\u5df2\u4f7f\u7528 TensorRT\uff09\u30012. \u964d\u4f4e\u8f38\u5165\u5c3a\u5bf8\uff08640 -> 320\uff09\u30013. \u4f7f\u7528\u8f03\u5c0f\u6a21\u578b\u30014. \u5be6\u4f5c\u8df3\u5e40\u8655\u7406\u3002\u56e0\u6b64\u4e0b\u4e00\u6b65\u61c9\u8a72\u662f\u964d\u4f4e\u8f38\u5165\u5c3a\u5bf8\u548c\u8df3\u5e40\u8655\u7406\u3002\",\n        4: \"\u6587\u7ae0\u8aaa\u660e\uff1a\u300c\u9019\u88e1 data=coco.yaml \u63d0\u4f9b\u6821\u6e96\u8cc7\u6599\uff0c\u8b93\u6a21\u578b\u77e5\u9053\u5982\u4f55\u6700\u4f73\u5316\u6578\u503c\u7bc4\u570d\u3002\u300dINT8 \u91cf\u5316\u9700\u8981\u6821\u6e96\u8cc7\u6599\u96c6\u4f86\u78ba\u5b9a\u6b0a\u91cd\u7684\u6578\u503c\u5206\u5e03\uff0c\u4ee5\u4fbf\u5728\u91cf\u5316\u6642\u5c07\u6d6e\u9ede\u6578\u6b63\u78ba\u6620\u5c04\u5230 8 \u4f4d\u5143\u6574\u6578\u7bc4\u570d\u3002\",\n        5: \"\u6587\u7ae0\u5728\u300c\u4f7f\u7528\u591a\u57f7\u884c\u7dd2\u300d\u7ae0\u7bc0\u8aaa\u660e\uff1a\u300c\u5c07\u8b80\u53d6\u5f71\u50cf\u548c\u63a8\u8ad6\u5206\u958b\u300d\u3002\u9019\u7a2e\u67b6\u69cb\u8b93\u5f71\u50cf\u64f7\u53d6\u5728\u7368\u7acb\u57f7\u884c\u7dd2\u4e2d\u6301\u7e8c\u904b\u884c\uff0c\u4e3b\u57f7\u884c\u7dd2\u53ef\u4ee5\u5c08\u6ce8\u65bc\u6a21\u578b\u63a8\u8ad6\uff0c\u907f\u514d\u56e0\u70ba I\/O \u7b49\u5f85\uff08\u5982\u651d\u5f71\u6a5f\u8b80\u53d6\u5ef6\u9072\uff09\u800c\u5f71\u97ff\u6574\u9ad4\u8655\u7406\u6548\u80fd\u3002\"\n      };\n\n      function checkAnswer(qNum, selected, correctAns) {\n        const question = document.getElementById(\"q\" + qNum);\n        if (question.classList.contains(\"answered\")) return;\n\n        question.classList.add(\"answered\");\n        answered++;\n\n        const options = question.querySelectorAll(\".options li\");\n        options.forEach((opt) => {\n          opt.classList.add(\"disabled\");\n          if (opt.textContent.startsWith(correctAns + \".\")) {\n            opt.classList.add(\"show-answer\");\n          }\n        });\n\n        const feedback = document.getElementById(\"fb\" + qNum);\n        if (selected === correctAns) {\n          correct++;\n          feedback.className = \"feedback correct\";\n          feedback.innerHTML = \"\u6b63\u78ba\uff01\" + explanations[qNum];\n        } else {\n          feedback.className = \"feedback wrong\";\n          feedback.innerHTML =\n            \"\u932f\u8aa4\u3002\u6b63\u78ba\u7b54\u6848\u662f \" + correctAns + \"\u3002\" + explanations[qNum];\n          options.forEach((opt) => {\n            if (opt.textContent.startsWith(selected + \".\")) {\n              opt.classList.add(\"wrong\");\n            }\n          });\n        }\n\n        if (answered === total) {\n          const scoreDiv = document.getElementById(\"score\");\n          scoreDiv.style.display = \"block\";\n          scoreDiv.innerHTML =\n            \"\u6e2c\u9a57\u5b8c\u6210\uff01\u5f97\u5206\uff1a\" +\n            correct +\n            \" \/ \" +\n            total +\n            (correct === total\n              ? \" \u5168\u5c0d\uff01\u9032\u968e\u984c\u5168\u5c0d\uff0c\u4f60\u5c0d\u90e8\u7f72\u512a\u5316\u6709\u6df1\u5165\u7406\u89e3\uff01\"\n              : correct >= Math.ceil(total * 0.6)\n                ? \" \u4e0d\u932f\uff01\u5c0d\u9032\u968e\u6982\u5ff5\u6709\u4e00\u5b9a\u638c\u63e1\"\n                : \" \u5efa\u8b70\u518d\u6df1\u5165\u7814\u7a76\u90e8\u7f72\u8207\u512a\u5316\u7684\u7d30\u7bc0\");\n        }\n      }\n    \n<\/script>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u6e2c\u9a57\uff1aYOLO \u90e8\u7f72\u8207\u512a\u5316 \u5171 5 \u984c\uff0c\u9ede\u9078\u7b54\u6848\u5f8c\u6703\u7acb\u5373\u986f\u793a\u7d50\u679c 1. \u70ba\u4ec0\u9ebc\u8a13\u7df4\u5b8c\u6210\u7684 PyTorch \u6a21\u578b [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rolpb_likes":0,"footnotes":""},"categories":[215,206,405,404],"tags":[406,409,407,408],"class_list":["post-448","post","type-post","status-publish","format-standard","hentry","category-ai-ml","category-l3-","category-yolo","category-404","tag-yolo","tag-409","tag-407","tag-408"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":7}},"_links":{"self":[{"href":"https:\/\/blog.itsmygo.uk\/wordpress\/wp-json\/wp\/v2\/posts\/448","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.itsmygo.uk\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.itsmygo.uk\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.itsmygo.uk\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.itsmygo.uk\/wordpress\/wp-json\/wp\/v2\/comments?post=448"}],"version-history":[{"count":1,"href":"https:\/\/blog.itsmygo.uk\/wordpress\/wp-json\/wp\/v2\/posts\/448\/revisions"}],"predecessor-version":[{"id":454,"href":"https:\/\/blog.itsmygo.uk\/wordpress\/wp-json\/wp\/v2\/posts\/448\/revisions\/454"}],"wp:attachment":[{"href":"https:\/\/blog.itsmygo.uk\/wordpress\/wp-json\/wp\/v2\/media?parent=448"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.itsmygo.uk\/wordpress\/wp-json\/wp\/v2\/categories?post=448"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.itsmygo.uk\/wordpress\/wp-json\/wp\/v2\/tags?post=448"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}