机器视觉 - YoloV8 命令行安装
创建python 环境
参考 https://zhuanlan.zhihu.com/p/570822583
- 下载并安装 miniconda 安装包, 注意miniconda和 python 版本对应关系, 不要选择python最新的版本, 以免yolo或pytorch不能兼容最新版python.
这里到安装到C:\miniconda3
- 配置 conda 环境, 修改conda配置文件内容, 文件名为
C:\Users\myuser\.condarc
py 虚拟环境目录应该安装到C盘, 否则有后期模型训练可能会报缓存不够.
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- defaults
show_channel_urls: true
envs_dirs:
- c:\miniconda_data\envs
pkgs_dirs:
- c:\miniconda_data\pkgs
- 创建虚拟环境 yolo8
## create env
C:\miniconda3\Scripts\conda.exe create --name yolo8 python=3.9
## clone 已有的virtual env
conda create -n yolo8test --clone yolo8
## list env
conda env list
新venv路径为: environment location: D:\miniconda_data\envs\yolo8
- 激活新的虚拟环境
使用 powerShell无法完成激活, 可使用 cmd 或者 conda prompt 激活.
注意激活命令在 miniconda 安装路径, 并不是在 virtual env 的scripts目录下.
conda.exe activate yolo8
- 安装 pytorch (包名为 torch)
安装包, 需要先进入 virtual env 的scripts目录下.
## 如果有 N卡 GPU
# 检查N卡版本以及支持的cuda版本
# nvidia-smi
# 安装 pytorch
# conda install pytorch torchvision torchaudio cudatoolkit -c pytorch
# 如果没有GPU, 安装 cpu 版, 也可以跳过这步, install ultralytics 将自动安装 pytorch CPU版
# conda install pytorch torchvision torchaudio cpuonly -c pytorch
# 安装指定的 pytorch 版本
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 cpuonly -c pytorch
# pip install torch==1.13.1+cpu torchvision==0.14.1+cpu torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cpu
验证 Pytorch 是否是GPU版本:
import torch
torch.cuda.is_available()
- 安装 yolo8
.\pip install ultralytics
- 验证安装
import ultralytics
ultralytics.checks()
认识 yolo 软件的目录结构
Script和工作目录:
# yolo命令行
myEnv\Scripts\yolo.exe
# 模型权重存放路径, 执行该命令的pwd路径, 所以这个路径是不确定的.
# 如果yolo.exe 命令行中指定了预训练权重文件, 第一次训练时候将会自动下载模型文件, 我们最好是将 pretrained 模型文件手动下载到一个专门的目录下, 比如 `myEnv\Scripts\`. 以后训练都可直接指定该pt路径, 避免再次下载. pt文件下载路径: https://github.com/ultralytics/assets/releases
# 数据集图像的存放路径
myEnv\Scripts\datasets
# training/predict结果存放路径
myEnv\Scripts\runs
包目录:
# yolov8 包安装目录
myEnv\site-packages\ultralytics\
# yolo 命令行的所有参数以及缺省值
myEnv\site-packages\ultralytics\cfg\default.yaml
# 数据定义yaml文件的默认存放路径, 需要自定义数据集文件, 可以参考软件包自带的 coco8.yaml 格式
myEnv\site-packages\ultralytics\cfg\datasets\coco8.yaml
# object detection和 cls 模型结构定义文件
myEnv\site-packages\ultralytics\cfg\models\v8\yolov8.yaml
myEnv\site-packages\ultralytics\cfg\models\v8\yolov8-cls.yaml
需要说明的是, v8 软件包虽然只带有 yolov8.yaml 文件, 但我们可以传类似 model=yolov8n.yaml, yolo 程序将基于 yolov8.yaml, 自动通过调整 yolov8.yaml 的 scale 为 n 或 s 或 m 或 l 或 x, 形成 yolov8n.yaml .