Paddle.js icon indicating copy to clipboard operation
Paddle.js copied to clipboard

请问 paddlejs-models/detect/ 里用的是哪个模型,如何自己训练?

Open qiano opened this issue 2 years ago • 23 comments

qiano avatar Mar 04 '22 03:03 qiano

是在 easydl 上训练的目标检测模型 ssd640

https://ai.baidu.com/easydl/

选择 js sdk 就对应到了具体模型

249a9ee358d8bd65b70e73435b340183

JingyuanZhang avatar Mar 04 '22 04:03 JingyuanZhang

是否支持在 padddledetection 里训练,我试了几种模型都不能正常的使用

qiano avatar Mar 04 '22 09:03 qiano

是从paddle拿的开源模型 不过我们这边算法同学有做过调整 直接拿官方的训练的话 可能效果跟从dl上训的有差

JingyuanZhang avatar Mar 04 '22 09:03 JingyuanZhang

我用 paddledetectin 训练了模型 然后用 paddlejs-converter 转换,跑不起来

qiano avatar Mar 07 '22 02:03 qiano

麻烦提供一下模型和报错信息吧

JingyuanZhang avatar Mar 07 '22 03:03 JingyuanZhang

A、使用 paddledetection 的 picodet 训练 ,转换后模型地址:https://mp-assets.hofo.co/ai/receipt_model
在 paddlejs-models/detect 项目中运行,加载模型未报错,能返回结果,但全是NaN。。如下: 微信图片_20220307120554

B、使用 paddledetection 的 ssd 训练 ,转换后模型地址:https://mp-assets.hofo.co/ai/ssd 在 paddlejs-models/detect 项目中运行,加载模型报错。。如下:

微信图片_20220307120910

qiano avatar Mar 07 '22 04:03 qiano

收到 我们跟进一下

JingyuanZhang avatar Mar 07 '22 04:03 JingyuanZhang

已定位,需要 pool2d 算子升级,升级后 issue 回复,辛苦关注

JingyuanZhang avatar Mar 08 '22 10:03 JingyuanZhang

https://mp-assets.hofo.co/ai/ssd/model.json 这个模型转换的有问题,辛苦提供一下 原始模型

JingyuanZhang avatar Mar 08 '22 13:03 JingyuanZhang

https://mp-assets.hofo.co/ai/receipt_model 这个模型也提供一下 原始模型吧~ 我验证一下精度

JingyuanZhang avatar Mar 08 '22 13:03 JingyuanZhang

https://mp-assets.hofo.co/ai/ssd/model.json 这个模型转换的有问题,辛苦提供一下 原始模型

inference_model: https://mp-assets.hofo.co/ai/ssd/inference/

下面有四个文件 : infer_cfg.yml
model.pdiparams
model.pdiparams.info
model.pdmodel

qiano avatar Mar 09 '22 02:03 qiano

https://mp-assets.hofo.co/ai/receipt_model 这个模型也提供一下 原始模型吧~ 我验证一下精度

inference_model: https://mp-assets.hofo.co/ai/receipt_model /inference/

下面有四个文件 : infer_cfg.yml
model.pdiparams
model.pdiparams.info
model.pdmodel

qiano avatar Mar 09 '22 02:03 qiano

https://mp-assets.hofo.co/ai/receipt_model 这个模型也提供一下 原始模型吧~ 我验证一下精度

inference_model: https://mp-assets.hofo.co/ai/receipt_model /inference/

下面有四个文件 : infer_cfg.yml model.pdiparams model.pdiparams.info model.pdmodel

https://github.com/PaddlePaddle/Paddle.js/pull/395 使用最新版本 @paddlejs/[email protected] @paddlejs/[email protected]

JingyuanZhang avatar Mar 09 '22 03:03 JingyuanZhang

model.pdiparams

这个模型权重 90M,不适合放在 web上推理,单纯加载 模型文件时间 就非常长了;转换确实有问题,修复后issue 同步

JingyuanZhang avatar Mar 09 '22 03:03 JingyuanZhang

model.pdiparams

这个模型权重 90M,不适合放在 web上推理,单纯加载 模型文件时间 就非常长了;转换确实有问题,修复后issue 同步

了解,谢谢

https://mp-assets.hofo.co/ai/receipt_model 这个模型也提供一下 原始模型吧~ 我验证一下精度

inference_model: https://mp-assets.hofo.co/ai/receipt_model /inference/ 下面有四个文件 : infer_cfg.yml model.pdiparams model.pdiparams.info model.pdmodel

#395 使用最新版本 @paddlejs/[email protected] @paddlejs/[email protected]

现在返回的值不是NaN了。。还有一个问题请教,结果如何换成和demo模型一样的, 标签,置信度,坐标 的6位数组的形式?

qiano avatar Mar 09 '22 03:03 qiano

model.pdiparams

这个模型权重 90M,不适合放在 web上推理,单纯加载 模型文件时间 就非常长了;转换确实有问题,修复后issue 同步 了解,谢谢

qiano avatar Mar 09 '22 03:03 qiano

model.pdiparams

这个模型权重 90M,不适合放在 web上推理,单纯加载 模型文件时间 就非常长了;转换确实有问题,修复后issue 同步

了解,谢谢

https://mp-assets.hofo.co/ai/receipt_model 这个模型也提供一下 原始模型吧~ 我验证一下精度

inference_model: https://mp-assets.hofo.co/ai/receipt_model /inference/ 下面有四个文件 : infer_cfg.yml model.pdiparams model.pdiparams.info model.pdmodel

#395 使用最新版本 @paddlejs/[email protected] @paddlejs/[email protected]

现在返回的值不是NaN了。。还有一个问题请教,结果如何换成和demo模型一样的, 标签,置信度,坐标 的6位数组的形式? model.zip 试一下这个,然后参考 detect 模型后处理

JingyuanZhang avatar Mar 09 '22 04:03 JingyuanZhang

model.pdiparams

这个模型权重 90M,不适合放在 web上推理,单纯加载 模型文件时间 就非常长了;转换确实有问题,修复后issue 同步

了解,谢谢

https://mp-assets.hofo.co/ai/receipt_model 这个模型也提供一下 原始模型吧~ 我验证一下精度

inference_model: https://mp-assets.hofo.co/ai/receipt_model /inference/ 下面有四个文件 : infer_cfg.yml model.pdiparams model.pdiparams.info model.pdmodel

#395 使用最新版本 @paddlejs/[email protected] @paddlejs/[email protected]

现在返回的值不是NaN了。。还有一个问题请教,结果如何换成和demo模型一样的, 标签,置信度,坐标 的6位数组的形式? model.zip 试一下这个,然后参考 detect 模型后处理

可能 是我没说清楚吧。。。

在原demo中返回值格式如下,是包含 标签,置信度,坐标 的6位数组列表: 微信图片_20220309142927

其他模型的返回值格式是 微信图片_20220309142918

在demo 后续只有显示输出的处理,不太明白您指的模型后处理是哪部分?

qiano avatar Mar 09 '22 06:03 qiano

就是 你训练 paddleDetection 模型应该在 paddleDetect 里有对应的 模型预测数据处理,也就是怎么处理 你上图 输出的数据;这个模型和 detect 模型 输出的值结构不一样,所以需要从 paddleDetect 源码库里确认 处理方式

image

detect 模型最后会有一个 multiclass_nms 算子 你的模型里面没有

JingyuanZhang avatar Mar 09 '22 09:03 JingyuanZhang

就是 你训练 paddleDetection 模型应该在 paddleDetect 里有对应的 模型预测数据处理,也就是怎么处理 你上图 输出的数据;这个模型和 detect 模型 输出的值结构不一样,所以需要从 paddleDetect 源码库里确认 处理方式

image

detect 模型最后会有一个 multiclass_nms 算子 你的模型里面没有

明白了,谢谢

qiano avatar Mar 09 '22 09:03 qiano

@qiano 是 picodet吗,我也遇到同样的问题,现在模型转换前后的精度对齐了,但是同一张图片输出的预测值还有有偏差,在js里面bbox画出来的预测框和 paddledetection预测的位置大致一致,但是明显边界上差很多,你有遇到吗

luxu1220 avatar Mar 24 '22 03:03 luxu1220

@qiano 是 picodet吗,我也遇到同样的问题,现在模型转换前后的精度对齐了,但是同一张图片输出的预测值还有有偏差,在js里面bbox画出来的预测框和 paddledetection预测的位置大致一致,但是明显边界上差很多,你有遇到吗

最近一段时间都在做别的项目,没有再跟进。。可以把你的项目git地址给我吗。。我测试一下是否有这个问题。 @luxu1220

qiano avatar Mar 24 '22 08:03 qiano

@qiano 是 picodet吗,我也遇到同样的问题,现在模型转换前后的精度对齐了,但是同一张图片输出的预测值还有有偏差,在js里面bbox画出来的预测框和 paddledetection预测的位置大致一致,但是明显边界上差很多,你有遇到吗

请问一下你的picodet模型的输出是带nms的后处理吗,还是后处理部分自己在工程里面实现的呀?

sp-ljw avatar Apr 27 '22 11:04 sp-ljw