写在前面

借助 Colaboratory(简称 Colab),您可在浏览器中编写和执行 Python 代码,并且:

  • 无需任何配置
  • 免费使用 GPU
  • 轻松共享
    无论您是一名学生、数据科学家还是 AI 研究员,Colab 都能够帮助您更轻松地完成工作。您可以观看 Colab 简介了解详情,或查看下面的入门指南!
    不会使用Google Colab的可以参考此文章

1、前提条件

首先需要有Google浏览器,注册谷歌账号,并且可以访问网站。(具有登登登的能力,有某种原因,不便说明,请自行百度)

2、登录Colab

1、登录网站

[https://colab.research.google.com/notebooks/welcome.ipynb] 这里是Google Colab的使用指南,有好多内容,自行阅读。

2、新建笔记本,命名随意(这里命名YOLOv4)

如何让gpu分担cpu的工作_github


名字可以直接在这里修改

如何让gpu分担cpu的工作_机器学习_02

3、检查GPU

在代码执行程序里面更改运行时类型,选择GPU即可。

如何让gpu分担cpu的工作_gpu_03


如何让gpu分担cpu的工作_计算机视觉_04


添加代码,输入

! nvidia-smi

(注意‘!’不要忽略)点击运行

如何让gpu分担cpu的工作_gpu_05


服务器会自动分配一个GPU供你使用

如何让gpu分担cpu的工作_github_06

4、装载YOLOv4

1、下载Darknet(AlexeyAB)

添加代码块,输入

! git clone https://github.com/AlexeyAB/darknet.git

后面的网址就是GitHub里的地址

如何让gpu分担cpu的工作_github_07


下载完成后,刷新一下左面的文件目录就出现了一个darknet的文件夹

如何让gpu分担cpu的工作_github_08

2、更改Makefile参数以使用GPU

我们可以先查看Makefile中的参数

! head darknet/Makefile

如何让gpu分担cpu的工作_机器学习_09


修改参数说明

GPU=1 调用GPU CUDA

CUDNN=1 加速GPU训练

CUDNN_HALF=1 侦测加速3倍,训练加速两倍

OPENCV=1 用于摄影侦测试用

使用sed修改参数

! sed -i 's/GPU=0/GPU=1/g' /content/darknet/Makefile
! sed -i 's/CUDNN=0/CUDNN=1/g' /content/darknet/Makefile
! sed -i 's/OPENCV=0/OPENCV=1/g' /content/darknet/Makefile

再次查看参数是否已修改

如何让gpu分担cpu的工作_gpu_10

3、编译YOLOv4

! cd darknet; make

(等待编译完成,可能需要一小会时间)

5、使用YOLOv4

1、下载权重

! cd darknet; make
! gdown https://drive.google.com/uc?id=1cewMfusmPjYWbrnuJRuKhPMwRe_b9PaT

权重下载地址在 GitHub里也有,需要注意的是将地址里的open改成uc(当然也可以直接复制代码块,但是建议自己看看GitHub里的东西)

如何让gpu分担cpu的工作_如何让gpu分担cpu的工作_11


在这下载文件还是很快的,一秒钟就可以下载完成(应该也会取决于网速),下载完成我们可以在文件夹目录看到这个文件(刷新一下)

如何让gpu分担cpu的工作_如何让gpu分担cpu的工作_12

2、使用yolov4辨识

进入data文件夹可以查看自带的示例图片(这一步也可以不需要)

! ls darknet/data
from PIL import Image
Image.open('darknet/data/person.jpg')

辨识

! cd darknet; ./darknet detect /content/darknet/cfg/yolov4.cfg /content/yolov4.weights /content/darknet/data/person.jpg

辨识结束

如何让gpu分担cpu的工作_gpu_13


辨识图片放在darknet目录下,可以查看一下

from PIL import Image
Image.open('/content/darknet/predictions.jpg')

如何让gpu分担cpu的工作_机器学习_14