Google Colab中的Yolo V3

时间:2019-06-26 10:26:16

标签: deep-learning object-detection google-colaboratory setup.py yolo

由于它的免费,快速和开放源代码性质,我一直在尝试使用Google Colab上的Yolo v3而不是本地计算机开发对象检测系统。但是问题是,在遵循了有关Yolo V3的设置和开发的一些教程之后,我迷路了,但是这些教程都不是针对Google Colab的。现在,在Colab中安装了所有必需的依赖项后,我就库存了。

请转发给我有关开发过程的任何优秀教程,或指导我解决这个问题。

我遵循的一些教程是:

  1. How to implement a YOLO (v3) object detector from scratch in PyTorch
  2. Google Colab Free GPU Tutorial
  3. Using Pytourch
  4. YOLO on Google Colab

2 个答案:

答案 0 :(得分:0)

我写了一篇关于如何在Google Colab上使用Darknet训练Yolo的帖子。 它包含必要的步骤,一些技巧以及带有所有说明的笔记本。

Tutorial

注意:我认为这可以帮助您,但是在StackOverflow中链接到自己的教程可能不是一个好习惯。不好意思!

大卫

答案 1 :(得分:0)

**YOLO V3 - 15 分钟后 **

步骤 - 1

克隆存储库 !git clone https://github.com/pjreddie/darknet.git

设置当前目录!cd darknet

检查当前目录 - !pwd

注意 - 如果 !cd 不起作用,则使用,

import os
os.chdir("path")

步骤 - 2

双击打开 darknet/makefile。 编辑文件,更改值 GPU = 1

向下滚动

ARCH= -gencode arch=compute_30,code=sm_30 \
  -gencode arch=compute_35,code=sm_35 \
  -gencode arch=compute_50,code=[sm_50,compute_50] \
  -gencode arch=compute_52,code=[sm_52,compute_52]
  -gencode arch=compute_20,code=[sm_20,sm_21] \ This one is deprecated?

此处第一行将 compute_30,code=sm_30 更改为 compute_50,code=sm_50 通过 CTRL + S

保存此文件

步骤 - 3

现在创建一个文件夹 darknet/data/Image 并在其中移动您的数据集。 图像文件和注释文件。

<块引用>

示例 - image.jpg 和 image.txt

在不将数据移动到不同文件夹的情况下拆分数据集,只需创建两个 txt 文件并使用路径存储图像名称。 示例 - 数据/图像/image.jpg

您可以使用代码在txt文件中写入名称。 https://gist.github.com/sainisatish/1328a1d29273e32a5821cfbc38127fbe

<块引用>

train.txtvalid.txt 将这些文件放在 darknet/data 文件夹中

步骤 - 4

现在打开配置文件 darknet/cfg/yolov3.cfg 并对其进行编辑。(双击它)

这是模型架构。

<块引用>

首先更改起始参数,如 Batch = 64,subdivision = 16

max_batches = 2000*n ,这里 n 是类数 如果您有 2 个课程,则 max_batches = 4000

step 是 max_batches 的百分比,我们可以使用 80% 和 90%

step = 80% of max_batches, 90% of max batches
step = 3200,3600

向下滚动到底部并更改两个参数

[yolo] 层更改 - classes

[convolutional] 层(仅在 [yolo] 层之上)更改 filters

<块引用>

classes = (c) 你的类数

<块引用>

过滤器 = (c+5)*3

注意 - 这里只有 3 [yolo] 层

保存文件

步骤 - 5

现在创建两个文件 在 darknet/data 中创建一个扩展名为 .names 的文件并保存您的类名。

cat
dog

darknet/cfg 中创建另一个扩展名为 .data 的文件并保存以下详细信息。

classes= 2 
train  = data/train.txt
valid  = data/test.txt
names  = data/obj.names
backup = backup/

现在所有的工作都完成了。 只需运行此命令

!make

下载这个权重文件

!wget https://pjreddie.com/media/files/darknet53.conv.74

命令成功完成后 通过运行此命令训练暗网模型

!./darknet detector train cfg/obj.data cfg/yolov3.cfg darknet53.conv.74 | tee -a log.txt

测试你的模型

./darknet detector test cfg/obj.data cfg/yolov3.cfg backup/your weight file address

面对任何问题评论你的问题。