YOLO v8 环境搭建

xiacuncun / 2024-04-25 / 原文

1. Anaconda3安装:

  • 下载:anaconda download
    默认:

    安装到根目录下:

    默认:

    下面一路默认,直至安装完成。
  • 配置anaconda环境变量:


    我的安装路径是C盘,所以这么写,如果anaconda安装路径不是C盘,请按照实际更换。

2. 安装VScode并在vscode中配置anaconda

  • 安装,我有vscode所以不用重新安装了,去官网安装即可。
  • 配置anaconda
    • Vscode中使用Ctrl+P打开搜索
    • 搜索栏里输入:>select interpreter
    • 找到自己想要的anaconda路径下来的python.exe,如果找不到的话自己去anaconda的安装路径下把python.exe的路径复制过来 最好等确定了anaconda虚拟环境后再来做这个工作,不然基于虚拟环境的python在这里也用不了。
    • 终端最好使用anaconda自带的终端,因为可以在anaconda建立虚拟环境,使用的python环境也是基于虚拟环境的

3. 配置镜像源:

  • pip配置镜像源(这里是清华镜像源)
//复制到终端执行,或者复制到anaconda的终端运行
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  • 检查配置是否OK
    • 只要终端输出pip.ini就装好了
    • 去文件管理器路径下输入%APPDATE%,找到pip.ini的文件,记事本打开,看是否是我们使用的源。
  • conda配置镜像源:
    • 在终端输入conda config --set show_channel_urls yes,执行后会在用户里面生成一个后缀名为.condarc的文件

    • 使用记事本打开,复制以下镜像源并保存

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
//上述完成后,在终端清除索引缓存,保证用的是镜像索引
conda clean -i

4. 安装pytorch

  • 创建conda虚拟环境
    因为在创建虚拟环境的时候会顺带下载一个python,所以接下来在虚拟环境里面写的一切代码其实都是在虚拟环境的python中
    虚拟环境python请指定3.9!!!
    虚拟环境python请指定3.9!!!
    虚拟环境python请指定3.9!!!
//查看安装的conda包
conda list
//查看已有的conda环境
conda env list
//查看conda版本
conda --version
//查看conda信息
conda info
//python创建虚拟环境
conda create -n your_env_name python=x.x
//删除虚拟环境
conda remove -n your_env_name --all
//激活环境
conda activate your_env_name
  • 在线安装:我的电脑没有显卡,所以选择CPU加速安装,在终端输入如下命令:
    (有坑,这里不要去带版本,网上教程要求的版本可能你看到的时间已经不适用于你现在的python了)
    (conda install pytorch== 1.8.1 torchvision== 0.9.1 torchaudio== 0.8.1 cpuonly -c pytorch)
    (指定pyhon版本3.9,并用这个版本安装pytorach:conda install pytorch== 1.8.1 torchvision== 0.9.1 torchaudio== 0.8.1 cpuonly -c pytorch)
conda install pytorch torchvision torchaudio cpuonly -c pytorch

下载如图所示,选择Y就行:


因为是国内的源,下载速度还是很快的,完成会出现done

  • 若卡在solving environment或有其他问题( 问题可能是python版本导致的,如果确定不是因为版本问题引起的可以折腾下面的内容,没有这个问题的不用折腾下面的内容),可以选择从pytorch官网安装:
    • 下载:pytorch online downlaod
    • 选择版本,OS,package,等等信息,最后生成了一个command。
    • 将command复制到终端或者conda中下载(看你怎么选的package);如下图,包很大,但是因为上面配置了镜像源,所以下起来还挺快(包特别大,下了个开头我心疼流量直接取消了)。
  • 除了在线下载之后,还可以选择去镜像源离线下载,下载后用命令安装
    • 下载:pytorch offline downlaod
    • 查看自己处理器架构,在终端输入systeminfo
    • 下载pytorchtorchivisiontorchaudio
    • 下载好后,终端输入cd 包位置
    • 输入安装命令conda install --offline pytorch包名
    • 输入安装命令conda install --offline torchvision包名
    • 输入安装命令conda install --offline torchaudio包名
    • 安装好后,在终端输入import torchtorch.cuda.is_available(),不管返回true或者false,不报错就证明装好了。

5. CV2安装
对于python3.9,CV2指定版本4.5.5,用pip install opencv-python-4.5.5

pip install opencv-python

6. YOLO v8代码库下载安装:
默认

pip install ultralytics  --user

7. yolo数据集
默认

pip install labelImg
  • 终端敲labelImg使用
    • open:打开单张图片
    • open Dir:打开文件夹中的所有图片
    • Change Save Dir:更改标签存放路径
    • 格式选择yolo格式

8. yolo文件夹建立
yolo默认的文件夹建立方式尽量不要随便改名字,按如下层级和命名建立文件夹

  • dataset
    • images
      • test
      • train
      • val
    • labels
      • test
      • train
      • val

9. 标注/训练图片

  • 原始图集放dataset-images里面。

  • 启动LabelImg,找到图片路径

  • 点击Change Save Dir选择保存标签的路径,保存标签路径为dataset-labels

  • 设置自动保存图片和标签

  • 有坑:python版本太高(本来装的3.11)会导致LabelLmg闪退,报错如下:
    最好把之前安装的环境统一降到兼容python3.9的环境

TypeError: arguments did not match any overloaded call:
  drawLine(self, l: QLineF): argument 1 has unexpected type 'float'
  drawLine(self, line: QLine): argument 1 has unexpected type 'float'
  drawLine(self, x1: int, y1: int, x2: int, y2: int): argument 1 has unexpected type 'float'
  drawLine(self, p1: QPoint, p2: QPoint): argument 1 has unexpected type 'float'
  drawLine(self, p1: Union[QPointF, QPoint], p2: Union[QPointF, QPoint]): argument 1 has unexpected type 'float'

# 总体来说,就是python版本没有对应上导致闪退
# 解决方案,如下代码:
conda create -n labelimag python=3.9

conda create -n labelimag python=3.9