<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>YOLO &#8211; 岁月细碎点滴快查</title>
	<atom:link href="https://blog.mutadecheng.com/category/yolo/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.mutadecheng.com</link>
	<description></description>
	<lastBuildDate>Thu, 18 Dec 2025 07:02:42 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>使用 Docker 和 Ultralytics YOLOv8 训练自定义目标检测模型全流程</title>
		<link>https://blog.mutadecheng.com/2025/12/18/%e4%bd%bf%e7%94%a8-docker-%e5%92%8c-ultralytics-yolov8-%e8%ae%ad%e7%bb%83%e8%87%aa%e5%ae%9a%e4%b9%89%e7%9b%ae%e6%a0%87%e6%a3%80%e6%b5%8b%e6%a8%a1%e5%9e%8b%e5%85%a8%e6%b5%81%e7%a8%8b/</link>
					<comments>https://blog.mutadecheng.com/2025/12/18/%e4%bd%bf%e7%94%a8-docker-%e5%92%8c-ultralytics-yolov8-%e8%ae%ad%e7%bb%83%e8%87%aa%e5%ae%9a%e4%b9%89%e7%9b%ae%e6%a0%87%e6%a3%80%e6%b5%8b%e6%a8%a1%e5%9e%8b%e5%85%a8%e6%b5%81%e7%a8%8b/#respond</comments>
		
		<dc:creator><![CDATA[木它]]></dc:creator>
		<pubDate>Thu, 18 Dec 2025 05:30:08 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[YOLO]]></category>
		<guid isPermaLink="false">https://blog.mutadecheng.com/?p=468</guid>

					<description><![CDATA[前言 最近在学习目标检测，想用 Ultralytics 的 YOLOv8 框架训练自己拍摄的“蓝色黄色小球”数 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">前言</h2>



<p>最近在学习目标检测，想用 Ultralytics 的 YOLOv8 框架训练自己拍摄的“蓝色黄色小球”数据集。由于本地环境复杂，决定用 Docker 来隔离环境，保证依赖一致性。本文记录整个流程，便于以后复用和查阅。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">1. 准备工作</h2>



<h3 class="wp-block-heading">1.1 安装 Docker</h3>



<p>请确保电脑已安装 <a href="https://www.docker.com/products/docker-desktop/">Docker Desktop</a>，并且已开启 GPU 支持（NVIDIA 驱动 &amp; CUDA 已配置好）。</p>



<h3 class="wp-block-heading">1.2 检查 GPU 驱动</h3>



<p>在命令行（PowerShell）输入：</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="nvidia-smi" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #DCDCAA">nvidia-smi</span></span></code></pre></div>



<p>如果能看到显卡信息，说明驱动没问题。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">2. 数据集准备</h2>



<p>我的数据集结构如下：</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="E:\
└── 机器学习训练集\
    └── 蓝色黄色小球\
        └── boll\
            ├── train\
            │    ├── images\
            │    └── labels\
            └── val\
                 ├── images\
                 └── labels\" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #DCDCAA">E:\</span></span>
<span class="line"><span style="color: #D4D4D4">└── </span><span style="color: #CE9178">机器学习训练集</span><span style="color: #D7BA7D">\</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #CE9178">└──</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">蓝色黄色小球</span><span style="color: #D7BA7D">\</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #CE9178">└──</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">boll</span><span style="color: #D7BA7D">\</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #CE9178">├──</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">train</span><span style="color: #D7BA7D">\</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #CE9178">│</span><span style="color: #D4D4D4">    </span><span style="color: #CE9178">├──</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">images</span><span style="color: #D7BA7D">\</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #CE9178">│</span><span style="color: #D4D4D4">    </span><span style="color: #CE9178">└──</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">labels</span><span style="color: #D7BA7D">\</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #CE9178">└──</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">val</span><span style="color: #D7BA7D">\</span></span>
<span class="line"><span style="color: #D4D4D4">                 </span><span style="color: #CE9178">├──</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">images</span><span style="color: #D7BA7D">\</span></span>
<span class="line"><span style="color: #D4D4D4">                 </span><span style="color: #CE9178">└──</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">labels</span><span style="color: #D7BA7D">\</span></span></code></pre></div>



<ul class="wp-block-list">
<li><code>images</code> 目录下是图片（jpg/png等）</li>



<li><code>labels</code> 目录下是和图片同名的 txt 文件（YOLO 格式标注）</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">3. 使用 Docker 启动 YOLO 环境并挂载数据集</h2>



<p>在 PowerShell 中运行如下命令，将本地数据集挂载到 Docker 容器内：</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="docker run -it --ipc=host --gpus all `
  -v &quot;E:/机器学习训练集/蓝色黄色小球/boll:/ultralytics/data/boll&quot; `
  ultralytics/ultralytics:latest" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #DCDCAA">docker</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">run</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">-it</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">--ipc=host</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">--gpus</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">all</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">`</span></span>
<span class="line"><span style="color: #CE9178">  </span><span style="color: #DCDCAA">-v</span><span style="color: #CE9178"> &quot;E:/机器学习训练集/蓝色黄色小球/boll:/ultralytics/data/boll&quot; `</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #DCDCAA">ultralytics/ultralytics:latest</span></span></code></pre></div>



<ul class="wp-block-list">
<li><code>-v</code> 参数用于挂载本地目录到容器内部。</li>



<li>挂载后，容器内的数据路径为 <code>/ultralytics/data/boll</code>。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">4. 准备 data.yaml 配置文件</h2>



<p>在本地 <code>E:/机器学习训练集/蓝色黄色小球/boll/</code> 下新建 <code>data.yaml</code> 文件，内容如下：</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="train: /ultralytics/data/boll/train/images
val: /ultralytics/data/boll/val/images

nc: 2
names: ['blue_ball', 'yellow_ball']" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">train</span><span style="color: #D4D4D4">: </span><span style="color: #CE9178">/ultralytics/data/boll/train/images</span></span>
<span class="line"><span style="color: #569CD6">val</span><span style="color: #D4D4D4">: </span><span style="color: #CE9178">/ultralytics/data/boll/val/images</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">nc</span><span style="color: #D4D4D4">: </span><span style="color: #B5CEA8">2</span></span>
<span class="line"><span style="color: #569CD6">names</span><span style="color: #D4D4D4">: [</span><span style="color: #CE9178">&#39;blue_ball&#39;</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&#39;yellow_ball&#39;</span><span style="color: #D4D4D4">]</span></span></code></pre></div>



<ul class="wp-block-list">
<li><code>nc</code>：类别数</li>



<li><code>names</code>：类别名称，顺序要和你的标注一致</li>



<li><code>train</code> 和 <code>val</code> 路径要用容器内的挂载路径</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">5. 在容器里开始训练</h2>



<p>进入容器后，执行以下命令开始训练：</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="yolo task=detect mode=train model=yolov8n.pt data=/ultralytics/data/boll/data.yaml epochs=100 imgsz=640" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #DCDCAA">yolo</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">task=detect</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">mode=train</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">model=yolov8n.pt</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">data=/ultralytics/data/boll/data.yaml</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">epochs=</span><span style="color: #B5CEA8">100</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">imgsz=</span><span style="color: #B5CEA8">640</span></span></code></pre></div>



<p>参数说明：</p>



<ul class="wp-block-list">
<li><code>model=yolov8n.pt</code>：使用 YOLOv8 nano 预训练模型</li>



<li><code>data</code>：指向 data.yaml 文件</li>



<li><code>epochs</code>：训练轮数</li>



<li><code>imgsz</code>：输入图片尺寸</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">6. 查看训练结果</h2>



<p>训练完成后，模型和日志会保存在 <code>/ultralytics/runs/detect/</code> 目录下。</p>



<p>可以通过如下命令查看：</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="ls /ultralytics/runs/detect/" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #DCDCAA">ls</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">/ultralytics/runs/detect/</span></span></code></pre></div>



<p>如果需要把结果拷贝回本地，可用 <code>docker cp</code> 命令。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">7. 常见问题总结</h2>



<ul class="wp-block-list">
<li><strong>路径中有中文或空格</strong>：建议尽量用英文路径，或确保 Docker Desktop 已授权对应盘符。</li>



<li><strong>labels 格式</strong>：务必是 YOLO 标准格式，类别编号从 0 开始。</li>



<li><strong>挂载后目录为空</strong>：请检查路径拼写和 Docker 权限设置。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">8. 参考资料</h2>



<ul class="wp-block-list">
<li><a href="https://docs.ultralytics.com/">Ultralytics YOLO 官方文档</a></li>



<li><a href="https://docs.docker.com/">Docker 官方文档</a></li>



<li></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">9. 用命令行直接导出 YOLO 模型为 ONNX</h2>



<p><code>best.pt</code> 路径确保正确：</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="yolo export model=/ultralytics/data/boll/train3/weights/best.pt format=onnx" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #DCDCAA">yolo</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">export</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">model=/ultralytics/data/boll/train3/weights/best.pt</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">format=onnx</span></span></code></pre></div>



<ul class="wp-block-list">
<li><code>model=...</code> 指定你的 .pt 文件路径</li>



<li><code>format=onnx</code> 指定导出格式为 ONNX</li>
</ul>



<p>导出后会在 <code>runs/</code> 目录下生成对应的 ONNX 文件。</p>



<p>还可以加其他参数，比如指定输出路径、导出的输入尺寸等：</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="yolo export model=/ultralytics/data/boll/train3/weights/best.pt format=onnx imgsz=640" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #DCDCAA">yolo</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">export</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">model=/ultralytics/data/boll/train3/weights/best.pt</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">format=onnx</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">imgsz=</span><span style="color: #B5CEA8">640</span></span></code></pre></div>



<p>更多参数可以用 <code>yolo export --help</code> 查看。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.mutadecheng.com/2025/12/18/%e4%bd%bf%e7%94%a8-docker-%e5%92%8c-ultralytics-yolov8-%e8%ae%ad%e7%bb%83%e8%87%aa%e5%ae%9a%e4%b9%89%e7%9b%ae%e6%a0%87%e6%a3%80%e6%b5%8b%e6%a8%a1%e5%9e%8b%e5%85%a8%e6%b5%81%e7%a8%8b/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
