Ubuntu 20.04 LTS 安装 Docker 指南
- 前言
-
- [1. 前置检查](#1. 前置检查)
- [2. 标准安装步骤](#2. 标准安装步骤)
-
- 第一步:卸载旧版本(可选但推荐)
- 第二步:设置仓库
- [第三步:安装 Docker Engine](#第三步:安装 Docker Engine)
- [第四步:配置非 root 用户权限(重要!)](#第四步:配置非 root 用户权限(重要!))
- 第五步:启动并设置开机自启
- [3. 验证安装](#3. 验证安装)
- [4. 常见报错与解决方案 🚑](#4. 常见报错与解决方案 🚑)
-
- [❌ 问题 1:GPG 密钥错误或仓库签名无效](#❌ 问题 1:GPG 密钥错误或仓库签名无效)
- [❌ 问题 2:下载速度极慢或连接超时](#❌ 问题 2:下载速度极慢或连接超时)
- [❌ 问题 3:`permission denied while trying to connect to the Docker daemon socket`](#❌ 问题 3:
permission denied while trying to connect to the Docker daemon socket) - [❌ 问题 4:容器启动后立即退出 (`Exited (0)` 或 `Exited (127)`)](#❌ 问题 4:容器启动后立即退出 (
Exited (0)或Exited (127))) - [❌ 问题 5:`nvidia-smi` 在容器内无法运行](#❌ 问题 5:
nvidia-smi在容器内无法运行)
- [5. Docker 基础使用速查](#5. Docker 基础使用速查)
-
- [💡 终极建议](#💡 终极建议)
- [⚠️ 重要前提](#⚠️ 重要前提)
- [6. 额外提示:修改存储位置](#6. 额外提示:修改存储位置)
-
- 操作步骤
-
- [1. 停止 Docker 服务](#1. 停止 Docker 服务)
- [2. 创建新的数据目录](#2. 创建新的数据目录)
- [3. 迁移现有数据](#3. 迁移现有数据)
- [4. 验证迁移(可选但推荐)](#4. 验证迁移(可选但推荐))
- [5. 配置 Docker 使用新路径](#5. 配置 Docker 使用新路径)
- [6. 重载配置并重启 Docker](#6. 重载配置并重启 Docker)
- [7. 验证新配置](#7. 验证新配置)
- [8. 清理旧数据(释放系统盘空间)](#8. 清理旧数据(释放系统盘空间))
- [💡 额外提示:关于 AI 开发的存储规划](#💡 额外提示:关于 AI 开发的存储规划)
- 参考

前言
- 由于本人水平有限,难免出现错漏,敬请批评改正。
- 更多精彩内容,可点击进入Python日常小操作专栏、OpenCV-Python小应用专栏、YOLO系列专栏、自然语言处理专栏、人工智能混合编程实践专栏或我的个人主页查看
- YOLOs-CPP:一个免费开源的YOLO全系列C++推理库(以YOLO26为例)
- PaddleOCR:Win10上安装使用PPOCRLabel标注工具
- 目标检测:使用自己的数据集微调DEIMv2进行物体检测
- 图像分割:PyTorch从零开始实现SegFormer语义分割
- 图像超分:使用自己的数据集微调Real-ESRGAN-x4plus进行超分重建
- 图像生成:PyTorch从零开始实现一个简单的扩散模型
- Stable Diffusion:使用自己的数据集微调 Stable Diffusion 3.5 LoRA 文生图模型
- 图像超分:使用自己的数据集微调Real-ESRGAN-x2plus进行超分重建
- Anomalib:使用Anomalib 2.1.0训练自己的数据集进行异常检测
- Anomalib:在Linux服务器上安装使用Anomalib 2.1.0
- 人工智能混合编程实践:C++调用封装好的DLL进行异常检测推理
- 人工智能混合编程实践:C++调用封装好的DLL进行FP16图像超分重建(v3.0)
- 隔离系统Python:源码编译3.11.8到自定义目录(含PGO性能优化)
- 在线机的Python环境迁移到离线机上
- Nuitka 将 Python 脚本封装为 .pyd 或 .so 文件
- Ultralytics:使用 YOLO11 进行速度估计
- Ultralytics:使用 YOLO11 进行物体追踪
- Ultralytics:使用 YOLO11 进行物体计数
- Ultralytics:使用 YOLO11 进行目标打码
- 人工智能混合编程实践:C++调用Python ONNX进行YOLOv8推理
- 人工智能混合编程实践:C++调用封装好的DLL进行YOLOv8实例分割
- 人工智能混合编程实践:C++调用Python ONNX进行图像超分重建
- 人工智能混合编程实践:C++调用Python AgentOCR进行文本识别
- 通过计算实例简单地理解PatchCore异常检测
- Python将YOLO格式实例分割数据集转换为COCO格式实例分割数据集
- YOLOv8 Ultralytics:使用Ultralytics框架训练RT-DETR实时目标检测模型
- 基于DETR的人脸伪装检测
- YOLOv7训练自己的数据集(口罩检测)
- YOLOv8训练自己的数据集(足球检测)
- YOLOv5:TensorRT加速YOLOv5模型推理
- YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU
- 玩转Jetson Nano(五):TensorRT加速YOLOv5目标检测
- YOLOv5:添加SE、CBAM、CoordAtt、ECA注意力机制
- YOLOv5:yolov5s.yaml配置文件解读、增加小目标检测层
- Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集
- YOLOv5:使用7.0版本训练自己的实例分割模型(车辆、行人、路标、车道线等实例分割)
- 使用Kaggle GPU资源免费体验Stable Diffusion开源项目
- Stable Diffusion:在服务器上部署使用Stable Diffusion WebUI进行AI绘图(v2.0)
- Stable Diffusion:使用自己的数据集微调训练LoRA模型(v2.0)
1. 前置检查
适用系统 :Ubuntu 20.04 LTS (Focal Fossa)
更新时间 :2026年3月
目标:从零开始安装最新稳定版 Docker,并解决常见报错。
在开始之前,请确保你的系统满足以下条件:
-
系统版本 :必须是 64 位 Ubuntu 20.04 LTS。
bashlsb_release -a # 确认 Codename 为 focal -
内核版本 :Docker 需要 4.15 或更高版本的内核。
bashuname -r -
权限 :你需要拥有
sudo权限的账户。 -
网络:确保服务器可以访问互联网(如果无法访问官方源,请参考下文"国内源加速"部分)。
2. 标准安装步骤
第一步:卸载旧版本(可选但推荐)
如果你之前安装过旧版本的 Docker(如 docker, docker.io, containerd),建议先卸载以避免冲突。
bash
sudo apt-get remove docker docker-engine docker.io containerd runc
第二步:设置仓库
Docker 官方推荐使用自己的仓库来获取最新版本,而不是 Ubuntu 默认仓库(通常版本较旧)。
-
更新软件包索引并安装依赖:
bashsudo apt-get update sudo apt-get install -y ca-certificates curl gnupg lsb-release -
添加 Docker 官方 GPG 密钥:
bashsudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg -
设置稳定的仓库源:
bashecho \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
第三步:安装 Docker Engine
-
再次更新索引(让系统识别新的 Docker 仓库):
bashsudo apt-get update -
安装最新版 Docker:
bashsudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin注:如果需要安装特定版本,可以使用
apt-cache madison docker-ce查看可用版本,然后指定版本号安装。
第四步:配置非 root 用户权限(重要!)
默认情况下,Docker 命令需要 sudo 权限。为了方便,可以将当前用户加入 docker 用户组。
bash
sudo usermod -aG docker $USER
注意 :执行完此命令后,你必须注销并重新登录 (或运行 newgrp docker)才能生效,否则可能会遇到 permission denied 错误。
第五步:启动并设置开机自启
bash
sudo systemctl start docker
sudo systemctl enable docker
3. 验证安装
运行经典的 "Hello World" 镜像来验证安装是否成功:
bash
sudo docker run hello-world
如果看到类似 Hello from Docker! 的欢迎信息,说明安装成功!

bash
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
4. 常见报错与解决方案 🚑
这是本教程的核心部分,总结了在实际操作中容易遇到的坑。
❌ 问题 1:GPG 密钥错误或仓库签名无效
现象 :执行 apt-get update 时报错 NO_PUBKEY 或 The following signatures were invalid。
原因 :密钥文件路径错误或权限不对,或者官方密钥更新。
解决 :
严格按照上述"第二步"重新执行添加密钥的命令。特别是新版 Docker 推荐使用 /etc/apt/keyrings/ 目录。
bash
# 强制重新下载并转换密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 重新生成源列表
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
❌ 问题 2:下载速度极慢或连接超时
现象 :curl 下载密钥或 apt-get update 时卡住不动,提示 Connection timed out。
原因 :无法直接访问 Docker 官方源(位于国外)。
解决 :使用国内镜像源(阿里云/腾讯云/清华源) 。
在安装步骤的"设置仓库源"环节,替换为阿里云的源:
bash
# 删除之前可能添加的官方源
sudo rm /etc/apt/sources.list.d/docker.list
# 添加阿里云源
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
配置镜像加速器(可选) :编辑 /etc/docker/daemon.json(如果没有则创建):
json
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.1panel.live",
"https://hub.rat.dev",
"https://docker.aityp.com/r/docker.io"
]
}
bash
sudo systemctl daemon-reload
sudo systemctl restart docker
❌ 问题 3:permission denied while trying to connect to the Docker daemon socket
现象 :运行 docker ps 或 docker run 时报错,提示权限被拒绝。
原因 :当前用户不在 docker 用户组中,或者组变更未生效。
解决:
- 确认已执行
sudo usermod -aG docker $USER。 - 必须重新登录终端 ,或者执行
newgrp docker刷新组权限。 - 临时方案:在命令前加
sudo(如sudo docker ps),但这只是权宜之计。
❌ 问题 4:容器启动后立即退出 (Exited (0) 或 Exited (127))
现象 :运行 docker run -it ubuntu bash 后,容器瞬间停止,或者进入后提示 command not found。
原因:
-
Exited (0) :容器内的主进程(如 bash)没有前台任务,执行完就退出了。通常是因为没有加
-it参数,或者脚本执行完毕。 -
Exited (127) :找不到命令。可能是镜像里根本没有
/bin/bash(极简镜像),或者路径写错了。
解决: -
务必加上
-it参数 :docker run -it <镜像名> /bin/bash。 -
如果 bash 不存在 :尝试使用
sh进入:docker run -it <镜像名> /bin/sh。 -
进入后立刻安装工具 :纯净的 Ubuntu 镜像非常小,很多命令(如
vim,ping,apt有时甚至需要更新源后才能用)都没有。进入后第一时间执行:bashapt-get update apt-get install -y vim net-tools curl -
复用已创建的容器 :如果容器已经退出了,不要重新 run,用
start命令把它拉起来:bashdocker start -ai <容器ID或名称>
❌ 问题 5:nvidia-smi 在容器内无法运行
现象 :宿主机有显卡,但在容器内运行 nvidia-smi 提示找不到命令或驱动。
原因 :普通的 Docker 镜像不包含 NVIDIA 驱动库,且启动时未挂载 GPU。
解决:
-
确保宿主机安装了 NVIDIA Container Toolkit。
-
Docker拉取命令
bashdocker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nvidia/cuda:11.1.1-base docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nvidia/cuda:11.1.1-base docker.io/nvidia/cuda:11.1.1-base -
启动容器时必须加上
--gpus all参数:bashdocker run -it --gpus all nvidia/cuda:11.1.1-base /bin/bash -
不要使用纯
ubuntu镜像跑 GPU 任务,请使用nvidia/cuda系列镜像。
5. Docker 基础使用速查
安装完成后,这些命令你最常用:
| 功能 | 命令示例 | 说明 |
|---|---|---|
| 查看镜像 | docker images |
列出本地下载的所有镜像 |
| 拉取镜像 | docker pull ubuntu:20.04 |
从网上下载镜像 |
| 启动容器 | docker run -it --name my-test ubuntu:20.04 /bin/bash |
创建并启动一个新容器 |
| 重启容器 | docker start -ai my-test |
启动一个已停止的容器并连入 |
| 查看运行中 | docker ps |
只看正在运行的容器 |
| 查看所有 | docker ps -a |
看所有容器(包括已停止的) |
| 进入容器 | docker exec -it my-test /bin/bash |
在一个正在运行的容器里开新终端 |
| 删除容器 | docker rm <容器ID> |
删除已停止的容器(运行中的需加 -f) |
| 删除镜像 | docker rmi <镜像ID> |
删除本地镜像 |
| 查看日志 | docker logs <容器ID> |
查看容器输出日志 |
💡 终极建议
对于深度学习用户,不要纠结于纯净的 ubuntu 镜像 。
请直接使用 NVIDIA 官方提供的 CUDA 镜像,它们已经基于 Ubuntu 配置好了大部分环境:
bash
# 推荐:直接启动一个带 GPU 支持的环境
docker run -it --gpus all --name gpu-dev nvidia/cuda:11.1.1-base /bin/bash
这样你可以跳过繁琐的驱动配置,直接进入开发状态!
这是一个非常关键的操作!对于 AI 开发来说,镜像(Image)和容器层(Container Layer)往往非常大(例如 PyTorch 或 CUDA 镜像动辄 10GB+),如果不迁移,系统盘很快就会爆满导致服务器无法启动或 Docker 崩溃。
以下是将 Docker 数据目录(默认 /var/lib/docker)迁移到大容量数据盘(假设挂载在 /data)的标准操作步骤。
⚠️ 重要前提
- 停止 Docker 服务:迁移过程中 Docker 必须处于停止状态。
- 确认大盘路径 :假设你的大容量磁盘已挂载到
/data目录。如果不是,请替换为你实际的大盘路径(如/mnt/sda1)。 - 备份意识:虽然此操作通常安全,但在生产环境操作前建议对重要数据进行快照或备份。
6. 额外提示:修改存储位置
- 将 Docker 数据目录迁移到大容量数据盘。
- 这是一个非常关键的操作!对于 AI 开发来说,镜像(Image)和容器层(Container Layer)往往非常大(例如 PyTorch 或 CUDA 镜像动辄 10GB+),如果不迁移,系统盘很快就会爆满导致服务器无法启动或 Docker 崩溃。
- 以下是将 Docker 数据目录(默认 /var/lib/docker)迁移到大容量数据盘(假设挂载在 /data)的标准操作步骤。
操作步骤
1. 停止 Docker 服务
bash
sudo systemctl stop docker
# 可选:确认是否还有容器在运行
docker ps
# (此时应该报错或无输出,因为服务已停)
2. 创建新的数据目录
在大盘上创建新的 docker 目录:
bash
# 假设大盘挂载在 /data
sudo mkdir -p /data/docker-data
3. 迁移现有数据
使用 rsync 命令将原有数据完整复制到新目录。
-a: 归档模式,保留权限、软链接等所有属性。-v: 显示进度。-P: 显示进度并支持断点续传(如果数据量大,这个很重要)。
bash
sudo rsync -avP /var/lib/docker/ /data/docker-data/
> 注意:命令末尾的斜杠 / 很重要,它表示复制目录下的内容,而不是复制目录本身。
4. 验证迁移(可选但推荐)
简单检查一下新目录下是否有文件,且大小看起来正常:
bash
ls -lh /data/docker-data
# 你应该能看到 containers, image, volumes 等文件夹
5. 配置 Docker 使用新路径
有两种方法,推荐使用 daemon.json 方法,因为它更规范且不易出错。
方法 A:修改 /etc/docker/daemon.json (推荐)
编辑配置文件:
bash
sudo nano /etc/docker/daemon.json
添加或修改 "data-root" 字段(注意:旧版本 Docker 叫 "graph",新版本推荐用 "data-root"):
json
{
"data-root": "/data/docker-data",
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://huecker.io"
]
}
(如果你之前配置过镜像加速器,请保留 registry-mirrors 部分,只新增 data-root)
保存并退出 (Ctrl+O, Enter, Ctrl+X)。
方法 B:修改 systemd 服务文件 (备选,不推荐除非 A 失效)
如果需要,可以编辑 /etc/systemd/system/docker.service.d/docker.conf 添加 --data-root /data/docker-data,但通常方法 A 足够。
6. 重载配置并重启 Docker
bash
sudo systemctl daemon-reload
sudo systemctl start docker
7. 验证新配置
运行以下命令查看 Docker 信息:
bash
docker info | grep "Docker Root Dir"
预期输出:
text
Docker Root Dir: /data/docker-data
如果显示的是你的新路径,说明迁移成功!
8. 清理旧数据(释放系统盘空间)
确认 Docker 正常运行,且能拉取镜像、运行容器无误后,再删除旧目录以释放系统盘空间:
bash
# 再次确认新路径工作正常
docker run --rm hello-world
# 如果上面成功,删除旧数据
sudo rm -rf /var/lib/docker
💡 额外提示:关于 AI 开发的存储规划
既然你在做 AI 开发,除了 Docker 目录,还有两个地方容易爆满,建议一并规划到大盘:
-
模型权重文件 (Model Weights):
- HuggingFace 下载的模型 (
~/.cache/huggingface) - PyTorch Hub 缓存 (
~/.cache/torch) - 建议:在代码中设置环境变量,将这些缓存指向大盘。
bashexport HF_HOME=/data/huggingface_cache export TORCH_HOME=/data/torch_cache # 写入 ~/.bashrc 以便永久生效 echo "export HF_HOME=/data/huggingface_cache" >> ~/.bashrc echo "export TORCH_HOME=/data/torch_cache" >> ~/.bashrc source ~/.bashrc - HuggingFace 下载的模型 (
-
数据集 (Datasets):
- 不要将大型数据集放在容器内部(容器删除数据就没了),也不要放在系统盘。
- 最佳实践 :将数据存放在大盘(如
/data/datasets),然后在运行容器时通过-v挂载进去。
bashdocker run -v /data/datasets:/datasets -v /data/models:/models ...
这样配置后,你的系统盘将只保留操作系统和日志,所有重型数据都在数据盘,服务器会更加稳定。
参考
1\] https://docs.docker.com/desktop/setup/install/linux/ubuntu/ \[2\] https://docs.ultralytics.com/guides/docker-quickstart/ \[3\] https://blog.csdn.net/qq_27370437/article/details/124945605 > * 由于本人水平有限,难免出现错漏,敬请批评改正。 > * 更多精彩内容,可点击进入[Python日常小操作](https://blog.csdn.net/friendshiptang/category_11653584.html)专栏、[OpenCV-Python小应用](https://blog.csdn.net/friendshiptang/category_11975851.html)专栏、[YOLO系列](https://blog.csdn.net/friendshiptang/category_12168736.html)专栏、[自然语言处理](https://blog.csdn.net/friendshiptang/category_12396029.html)专栏、[人工智能混合编程实践](https://blog.csdn.net/friendshiptang/category_12915912.html)专栏或我的[个人主页](https://blog.csdn.net/FriendshipTang)查看 > * [YOLOs-CPP:一个免费开源的YOLO全系列C++推理库(以YOLO26为例)](https://blog.csdn.net/FriendshipTang/article/details/158886725) > * [PaddleOCR:Win10上安装使用PPOCRLabel标注工具](https://blog.csdn.net/FriendshipTang/article/details/156572297) > * [目标检测:使用自己的数据集微调DEIMv2进行物体检测](https://blog.csdn.net/FriendshipTang/article/details/153635354) > * [图像分割:PyTorch从零开始实现SegFormer语义分割](https://blog.csdn.net/FriendshipTang/article/details/152268871) > * [图像超分:使用自己的数据集微调Real-ESRGAN-x4plus进行超分重建](https://blog.csdn.net/FriendshipTang/article/details/153331274) > * [图像生成:PyTorch从零开始实现一个简单的扩散模型](https://blog.csdn.net/FriendshipTang/article/details/154358228) > * [Stable Diffusion:使用自己的数据集微调 Stable Diffusion 3.5 LoRA 文生图模型](https://blog.csdn.net/FriendshipTang/article/details/153737733) > * [图像超分:使用自己的数据集微调Real-ESRGAN-x2plus进行超分重建](https://blog.csdn.net/FriendshipTang/article/details/153314081) > * [Anomalib:使用Anomalib 2.1.0训练自己的数据集进行异常检测](https://blog.csdn.net/FriendshipTang/article/details/150561799) > * [Anomalib:在Linux服务器上安装使用Anomalib 2.1.0](https://blog.csdn.net/FriendshipTang/article/details/150499849) > * [人工智能混合编程实践:C++调用封装好的DLL进行异常检测推理](https://blog.csdn.net/FriendshipTang/article/details/153200335) > * [人工智能混合编程实践:C++调用封装好的DLL进行FP16图像超分重建(v3.0)](https://blog.csdn.net/FriendshipTang/article/details/154637411) > * [隔离系统Python:源码编译3.11.8到自定义目录(含PGO性能优化)](https://blog.csdn.net/FriendshipTang/article/details/154641702) > * [在线机的Python环境迁移到离线机上](https://blog.csdn.net/FriendshipTang/article/details/151580480) > * [Nuitka 将 Python 脚本封装为 .pyd 或 .so 文件](https://blog.csdn.net/FriendshipTang/article/details/151617965) > * [Ultralytics:使用 YOLO11 进行速度估计](https://blog.csdn.net/FriendshipTang/article/details/151989345) > * [Ultralytics:使用 YOLO11 进行物体追踪](https://blog.csdn.net/FriendshipTang/article/details/151988142) > * [Ultralytics:使用 YOLO11 进行物体计数](https://blog.csdn.net/FriendshipTang/article/details/151866467) > * [Ultralytics:使用 YOLO11 进行目标打码](https://blog.csdn.net/FriendshipTang/article/details/151868450) > * [人工智能混合编程实践:C++调用Python ONNX进行YOLOv8推理](https://blog.csdn.net/FriendshipTang/article/details/146188546) > * [人工智能混合编程实践:C++调用封装好的DLL进行YOLOv8实例分割](https://blog.csdn.net/FriendshipTang/article/details/149050653) > * [人工智能混合编程实践:C++调用Python ONNX进行图像超分重建](https://blog.csdn.net/FriendshipTang/article/details/146210258) > * [人工智能混合编程实践:C++调用Python AgentOCR进行文本识别](https://blog.csdn.net/FriendshipTang/article/details/146336798) > * [通过计算实例简单地理解PatchCore异常检测](https://blog.csdn.net/FriendshipTang/article/details/148877810) > * [Python将YOLO格式实例分割数据集转换为COCO格式实例分割数据集](https://blog.csdn.net/FriendshipTang/article/details/149101072) > * [YOLOv8 Ultralytics:使用Ultralytics框架训练RT-DETR实时目标检测模型](https://blog.csdn.net/FriendshipTang/article/details/132498898) > * [基于DETR的人脸伪装检测](https://blog.csdn.net/FriendshipTang/article/details/131670277) > * [YOLOv7训练自己的数据集(口罩检测)](https://blog.csdn.net/FriendshipTang/article/details/126513426) > * [YOLOv8训练自己的数据集(足球检测)](https://blog.csdn.net/FriendshipTang/article/details/129035180) > * [YOLOv5:TensorRT加速YOLOv5模型推理](https://blog.csdn.net/FriendshipTang/article/details/131023963) > * [YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU](https://blog.csdn.net/FriendshipTang/article/details/129969044) > * [玩转Jetson Nano(五):TensorRT加速YOLOv5目标检测](https://blog.csdn.net/FriendshipTang/article/details/126696542) > * [YOLOv5:添加SE、CBAM、CoordAtt、ECA注意力机制](https://blog.csdn.net/FriendshipTang/article/details/130396540) > * [YOLOv5:yolov5s.yaml配置文件解读、增加小目标检测层](https://blog.csdn.net/FriendshipTang/article/details/130375883) > * [Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集](https://blog.csdn.net/FriendshipTang/article/details/131979248) > * [YOLOv5:使用7.0版本训练自己的实例分割模型(车辆、行人、路标、车道线等实例分割)](https://blog.csdn.net/FriendshipTang/article/details/131987249) > * [使用Kaggle GPU资源免费体验Stable Diffusion开源项目](https://blog.csdn.net/FriendshipTang/article/details/132238734) > * [Stable Diffusion:在服务器上部署使用Stable Diffusion WebUI进行AI绘图(v2.0)](https://blog.csdn.net/FriendshipTang/article/details/150287538) > * [Stable Diffusion:使用自己的数据集微调训练LoRA模型(v2.0)](https://blog.csdn.net/FriendshipTang/article/details/150283800)