初入深度学习2——如何使用一个深度学习库
- 学习前言
- 使用一个深度学习仓库
-
- 一、环境配置
-
- 1、仓库包含requirements.txt
- 2、仓库不包含requirements.txt
- 二、训练
-
- 1、训练通用数据集
- 2、训练自己的数据集
- 三、预测
- 总结
学习前言 在完成仓库的下载与打开后,下一步就要开始使用这个仓库了,使用仓库的要求并不高,一般只需要按环境配置好,然后按照Readme运行就可以了。
文章图片
使用一个深度学习仓库 一般来讲,使用深度学习仓库包含三个部分,第一部分是环境配置,第二部分是训练,第三部分是预测。
一、环境配置 环境配置部分需要仓库提供者提供使用的环境,有些开发者会提供这个requirements.txt,有些开发者可能只在Readme里面简单提及,各位同学在下载库的时候就要注意。
1、仓库包含requirements.txt
如果开发者提供了requirements.txt,事情就会变得简单起来。requirements.txt里面包括了所需要用到的python库,以YoloV5为例,它提供的requirements.txt是这样的。https://github.com/ultralytics/yolov5
文章图片
如果各位想使用YoloV5的官方库的话,就直接利用pip来安装这个requirements就可以了。YoloV5提供的步骤是这样的。
git clone https://github.com/ultralytics/yolov5# clone
cd yolov5
pip install -r requirements.txt# install
利用pip install -r就可以直接安装requirements.txt。
由于深度学习需要考虑CUDA和CUDNN的版本,各位在安装前需要注意配置所需的CUDA和CUDNN呀,不可一味只是配置python库,系统的深度学习环境同样重要,这个地方只能靠各位百度或者Google了。
2、仓库不包含requirements.txt
如果开发者不提供requirements.txt,事情会变得稍微复杂起来,不过大多数开发者还是会比较良心的在Readme里面写好所需要的环境,以qqwweee的keras-yolo3库为例,尽管它没有提供requirements.txt,但在Readme的最下部分提供了所需要的最重要的环境。
https://github.com/qqwweee/keras-yolo3
文章图片
这种库就需要各位自己耐心去寻找了,没有定式了,找到所需的必要环境后,就去百度或者Google,寻找对应的环境配置教程进行安装即可,中间不免会踩坑,所以要多查查。
如果开发者不提供requirements.txt,也不在Readme里提供环境,那这个库的开发者一般比较不靠谱(虽然我曾经也是这样…不过现在基本上都提供了)。新手的话,我的建议是放弃这个库,多搜搜,同一个模型一般会有多个复现,看看别人的吧。老手的话,可以自己看看~
二、训练 1、训练通用数据集
训练部分其实主要也是看Readme,Readme一般会有个上手指南,关键词一般是train,需要搜一下。如果没有上手指南,那么还是同样的话,这个库的开发者一般比较不靠谱。新手的话,我的建议是放弃这个库。
还是以YoloV5为例,它提供的训练的方案。https://github.com/ultralytics/yolov5。
训练其实只需要这样一个指令,这个指令运行后,如果环境配置无误,应该会自动下载数据集并且开始训练。但由于都是自动配置,可能并不适合本身。熟悉仓库后可以尝试进行修改,不熟悉的话建议还是按默认来。
python train.py --data coco.yaml --cfg yolov5n.yaml --weights '' --batch-size 128
yolov5s64
yolov5m40
yolov5l24
yolov5x16
文章图片
YoloV5的自动化程度很高,只需要配置好环境,基本上运行就没什么压力了。
以我提供的仓库为例,自动化程度就没有YoloV5官方库来的高,以我提供的YoloV4为例,https://github.com/bubbliiiing/yolov4-pytorch,就需要自己下载训练集,然后按照训练步骤进行。
文章图片
文章图片
这两种方式有利有弊,各位自己斟酌就好。
2、训练自己的数据集
训练自己的数据集的话,其实主要也是看Readme,Readme一般会有个上手指南,关键词一般还是train,需要搜一下。如果没有上手指南,那么还是同样的话,这个库的开发者一般比较不靠谱。新手的话,我的建议是放弃这个库。
还是以YoloV5为例,它提供了训练自己数据集的方案。https://github.com/ultralytics/yolov5。图上的Train Custom Data 就是训练自定义数据集。它给的训练过程非常齐全,按步骤走就能完成训练。
文章图片
文章图片
YoloV5的自动化程度很高,且Readme非常齐全,使用起来还是很简单的。
以我提供的仓库为例,自动化程度就没有YoloV5官方库来的高,步骤没有YoloV5来的齐全,可以结合视频进行标注与训练。
文章图片
三、预测 预测部分其实主要也是看Readme,Readme一般会有个上手指南,关键词一般是predict或者Inference(当然也有别的,比如detect、image等),需要搜一下。如果没有上手指南,那么还是同样的话,这个库的开发者一般比较不靠谱。新手的话,我的建议是放弃这个库。
还是以YoloV5为例,它提供预测的方案。https://github.com/ultralytics/yolov5。预测同样只需要一个指令
python detect.py --source 0# webcam
img.jpg# image
vid.mp4# video
path/# directory
path/*.jpg# glob
'https://youtu.be/Zgi9g1ksQHc'# YouTube
'rtsp://example.com/media.mp4'# RTSP, RTMP, HTTP stream
还是非常容易理解的。
文章图片
YoloV5的自动化程度很高,只需要配置好环境,基本上运行就没什么压力了。
以我提供的仓库为例,自动化程度就没有YoloV5官方库来的高,以我提供的YoloV4为例,https://github.com/bubbliiiing/yolov4-pytorch,就需要自己下载权值,然后运行predict.py进行预测。
文章图片
总结 对于Github上的仓库而言,Readme绝对是非常重要的,毕竟人家的名字就叫做 看我。那为什么不看它呢,好好阅读Readme,有利于各位使用各种深度学习仓库。
【初入深度学习|初入深度学习2——如何使用一个深度学习库】当然使用别人的是轻松的,如果各位自己上传深度学习仓库的话,也要写好Readme呢。
推荐阅读
- 初入深度学习|初入深度学习4——如何修改一个深度学习库
- 初入深度学习|初入深度学习3——如何分解与学习一个深度学习库
- day1-python简介+安装
- python 调用zabbix api实现查询主机信息,输出所有主机ip
- day5-python数据类型
- 分布式|手把手推导分布式矩阵乘的最优并行策略
- c++|拯救工程师,远程开发C++的四大秘笈|视频教程
- 业界观点|最优的纯文本模型(GPT-4蓄势待发)
- 社区之星|刘馨蔓(“她是行走的发光体”|OneFlow U)