unet训练与编译

在训练上使用的官方的cityscapes数据集,想要替换成自己的分割数据集也去自己标了一些数据集去按照cityscapes制作方法去做了打包但是还是会报错,不知道有没有一些详细的参考,因为总要有方法方便我们去替换数据集的,然后float方式训练了一次cityscapes就去了编译的过程直接调用python3 tools/compile_perf.py -c configs/segmentation/unet.py --opt 2会报错,现在是想要使用gpu docker内的unet-mobilenet网络直接训练来测试效果的

1.芯片型号:X3派

2.天工开物开发包OpenExplorer版本:XJ3_OE_2.6.2

3.问题定位:模型转换、板端部署

4.问题具体描述:先是报错设置allow_miss: bool=False,改成allow_miss:True,于是又出现了nn.Module的报错,还有fcos的训练最新的镜像内已经移除了最后的Transpose处理,所以转换后的模型放到板子最新的desktop镜像里的usb_camera_fcos的代码也有会有报错,因为代码是没有更新的还是用的原来的有mul和transpose的fcos_efficientnet的结构,把转置的部分放在代码里没有实现成功,现在有点卡住希望大佬可以给些建议,现在遇到的问题倒是蛮多的,按照官方流程来的也总是会报错

你好,我现在也在尝试训练mobilenet-unet,想问问你怎么打包自己的数据集呢,我每次打包自己的数据集再训练就报错。

还有为什么你的unet输出有5个层,我这边的跟官方的unet_mobilenet模型一样,只有一个输出层,你是用了其它的网络来训练吗

你好,1.从log看编译报错是load ckpt引起的,麻烦查看一下config文件中int_infer_trainer字段中配置的qat模型(量化训练生成的ckpt)ckpt的路径是否正确;-
2. 修改模型的输出比较麻烦,建议根据focs的输出属性修改usb_camera_fcos的处理代码。

上面是官方的unet_mobilenet模型,下面是新在gpu docker训练的unet导出onnx转换的bin,看了下onnx变动还是挺多的,这五个输出怎么再融到一起出结果

现在虽然读onnx只用其中一个然后能够得到一个大致的图像,不知道怎么 能将这正确的分割结果融到一起而且能保证效果,希望能有些详细的处理建议

您好,如果你这边觉得单个分支的分割结果精度不够,建议参考一下学术界多尺度融合的相关做法,比如fpn,bifpn等,将模型尾部的5个分支的输出进行融合,从而输出最终结果。