EMZ-搭建DL模型的最简便的方式 | 附项目地址

前言:

在很多情况下,我们想实现一个模型来跑自己的一个任务,但不得不做很多重复的工作,例如图像预处理,搭建网络,可视化输出,计算推理时间等。

商汤贡献了MMdetection项目, Facebook开源了detectron项目,它们把搭建一个模型所需要的一系列工作进行整合,实现了较为简单的方式去搭建并训练一个模型,但对于想要运行某个模型去完成一个任务来说,它们仍然不够简便。


在本文,将介绍一个更为简单的github项目--Easy Model Zoo(简称EMZ),通过EMZ运行一个模型只需要不到十行代码。

emz 的目标是抽象出所有不需要的东西,如果您只想运行模型,则不需要这些东西。您不感兴趣,如果实际模型是在 Pytorch、Tensorflow 或 Caffee 中实现的。你只是想试试这个模型。您甚至不需要自己下载模型。Emz 将为您下载。

示例代码

from easy_model_zoo import ModelRunner

img_path = 'FULL PATH TO YOUR IMAGE'

device = 'GPU' # or CPU

# Choose a model from the list above
model_runner = ModelRunner('EfficientDet-d0', device)
model_runner.visualize(img_path, predictions)

就这么简单。

EMZ 有一个支持 CPU 或 GPU 推理的标准化 API。添加新模型很容易,只需创建一个新目录和一个从 Model 继承的新模型类。然后实现所有必要的方法。

EMZ还负责可视化预测。目的是不需要编写任何额外的代码。

下面是EMZ的Model 类。

图片

它具有针对不同任务的不同模型的目录。 

目前支持的任务有:物体检测、语义分割、实例分割。

随着时间的推移,后续会添加更多任务和更多模型。

下载安装方式

git clone https://github.com/SharifElfouly/easy-model-zoo
cd easy-model-zoo
pip3 install easy_model_zoo-0.2.4-py3-none-any.whl

其他文章

注意力机制总结

特征金字塔总结

数据增强方法总结

CNN可视化技术总结

CNN结构演变总结—经典模型

CNN结构演变总结—轻量化模型

CNN结构演变总结—设计原则

池化技术总结

非极大值抑制总结

英文文献阅读方法总结

论文创新的常见思路总结

本文来源于公众号CV技术指南的技术总结系列。

在公众号《CV技术指南》中回复“技术总结”可获取以上所有总结系列文章的汇总pdf

QR.png

原文地址:https://www.cnblogs.com/wxkang/p/14847452.html