PyTorch-YOLOv3(eriklindernoren)训练教程

笔记教程,方便自己回忆,纯小白,目前啥也不懂,只知道步骤
系统:Ubuntu 18.04

1、准备工作

1.1、克隆项目

  1. 为了防止文件夹混乱,自己在主目录下cd ~创建一个文件夹mkdir YOLOv3,专门用于存放关于YOLOv3的一些工作。
  2. 进入YOLOv3cd YOLOv3
  3. 克隆git clone https://github.com/eriklindernoren/PyTorch-YOLOv3
    在这里插入图片描述

1.2、安装模块

  1. 创建虚拟环境conda create -n yolov3-pytorch python=3.6,之前安装的虚拟环境python版本为3.8,这个版本的python安装的tensorflow版本为2.0+,高版本的tensorflow对此版本到yolov3有许多不适配的地方,所以最好安装3.6版本到python.
  2. 激活虚拟环境并进入conda activate yolov3-pytorch
  3. 通过项目下面的 requirements.txt 安装项目需要的模块pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt,如果设置过了pip源,就直接使用pip3 install -r requirements.txt -i,否则下载速度会很慢。

pip国内的一些镜像:

  • 阿里云 http://mirrors.aliyun.com/pypi/simple/
  • 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
  • 豆瓣(douban) http://pypi.douban.com/simple/
  • 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
  • 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

在这里插入图片描述
在这里插入图片描述

1.3、下载预训练权重

  1. 进入项目目录下,进入权重文件夹cd weights/
  2. 下载bash download_weights.sh。下载慢的话,可以直接将下面的链接通过迅雷下载或者IDM下载下来。在这里插入图片描述
    在这里插入图片描述

1.4、下载coco数据集

  1. cd ..
  2. cd data/
  3. bash get_coco_dataset.sh在这里插入图片描述

2、测试

  1. 进入test.py同级目录下
  2. 在COCO测试中评估模型python3 test.py --weights_path weights/yolov3.weights

3、预测

  1. 进入detect.py同级目录下
  2. 使用预训练的权重对图像进行预测python3 detect.py --image_folder data/samples/
  3. 输出结果可以在output看到

4、训练

train.py [-h] [--epochs EPOCHS] [--batch_size BATCH_SIZE]
              [--gradient_accumulations GRADIENT_ACCUMULATIONS]
              [--model_def MODEL_DEF] [--data_config DATA_CONFIG]
              [--pretrained_weights PRETRAINED_WEIGHTS] [--n_cpu N_CPU]
              [--img_size IMG_SIZE]
              [--checkpoint_interval CHECKPOINT_INTERVAL]
              [--evaluation_interval EVALUATION_INTERVAL]
              [--compute_map COMPUTE_MAP]
              [--multiscale_training MULTISCALE_TRAINING]
  1. 要使用在ImageNet上预训练的Darknet-53在COCO上进行训练,请运行(根据自己需求更改):
    python3 train.py --data_config config/coco.data  --pretrained_weights weights/darknet53.conv.74
    

4.1、遇到的问题

  • UserWarning: indexing with dtype torch.uint8 is now deprecated, please use a dtype torch.bool instead.
  1. 找到model.py
  2. 添加如下标记的两行代码
obj_mask = obj_mask.bool()  # convert int8 to bool
noobj_mask = noobj_mask.bool()  # convert int8 to bool

在这里插入图片描述


  • RuntimeError: CUDA out of memory. Tried to allocate 32.00 MiB (GPU 0; 7.79 GiB total capacity; 6.61 GiB already allocated; 29.38 MiB free; 94.51 MiB cached)
  1. 显存溢出,可更据电脑配置调整batch_size大小,默认为8,如下
parser.add_argument("--epochs", type=int, default=100, help="number of epochs")
parser.add_argument("--batch_size", type=int, default=8, help="size of each image batch")
parser.add_argument("--gradient_accumu
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值