复现YOLOv2-Tiny

YOLOv2-Tiny(修改过)纯tensorflow2实现,支持自定义数据集。

背景

由于最近用到K210单片机,其自带KPU可以加速卷积神经网络的运行,但是由于成本限制,片内RAM不大,对于大型的目标检测网络简直是噩梦。Github上有开源的yolo-for-k210,但是基于tensorflow-1.3实现的,所以我用tensorflow-2.3复现了yolov2-tiny。

此复现在yunyang1994对yolov3的tensorflow2基础上进行。

最终目的是可以使用K210官方工具NNCASE进行量化并转化成K210支持的Kmodel格式。(由于K210支持的op太少,很多用到的tflite的操作不支持,所以此目标暂时未达成)

准备工作

版本

  • python-3.7
  • Tensorflow-2.3.0-rc0

硬件

  • Tesla P100(借用学校服务器,当然也可以用cpu训练)
  • CUDA-10.1 cuDNN-7.6

为什么是YOLOv2-Tiny

  1. YOLOv2没有多尺度变换,网络结构比较简单,模型较小

  2. k210的sipeed-mirco python固件提供运行yolov2的接口,可以方便快速进行部署。

网络结构

官方网络结构cfg

不做修改的话对于k210来说还是太大。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注