郑启航

Results 90 comments of 郑启航

maixpy的dvp我没有去试过,你可以参考他们官方的dvp代码.应该差别不大.

模型是yolov3的,因为他是多个输出层,训练方式也是yolov3的. 只是我在这里放的后处理代码是官方yolov2改过去的,无法实时运行. gif里面实时运行的后处理代码是我重新写的,没有开源.

目前是使用更小的模型,比如使用的mbnet-0.75。剪枝只是把某些权重设置为0,稀疏的模型对于k210没有加速和减少内存消耗。更好的缩小模型参数方法是使用模型蒸馏。

不用换,mbnetv1-0.75通过之前的nncase转换为kmodel是可以在k210运行的

Please use nncase v0.1.0-rc5. The quantized mobilenet-v1 0.75 model can be used on k210.

你说的预训练模型指的是使用我这个项目生成的h5文件吗? 如果你想用pytorch加载keras生成的模型权重,你可以找一些关于模型权重转换的工具. 这个项目就是简单的自定义模型结构,然后训练yolov3模型. 使用pytroch的话,你可以直接用现成的一些训练yolo的框架,比如yolov5, 然后添加一个适配k210的模型结构进行训练/转换即可.

1. 我使用的预训练模型是mobilenet base 0.75, 是keras官方提供的,如果使用pytorch, 也可以在pytorch官方找到对应的预训练权重. 2. 对于大部分的深度学习算法(比如yolov5), 模型结构主要是为了和他的损失函数相耦合, 我们可以简单的在修改非耦合处模型结构来适配自己需要的场景. 3. 对于yolo来说,与损失函数强耦合的是他的输出(encoder head), 对于他的body(backbone)来说可以任意替换, 我这个项目主要是用mobilenet替换了darknet53的backbone, 然后还修改了一部分mobilenet的[channel参数](https://github.com/zhen8838/K210_Yolo_framework/blob/e5350c0166e1c9d9acb63166c31a17c514b31f04/models/mobilenet.py#L286). 4. 网络模型结构其实都是代码控制的, 因此你可以参考[yolo_mobilenetv1](https://github.com/zhen8838/K210_Yolo_framework/blob/e5350c0166e1c9d9acb63166c31a17c514b31f04/models/yolonet.py#L12)的定义, 在另一个pytorch项目里进行修改.

这个暂时没开源,你可以参考基于mobilenet的retinaface