diffusiondet运行过程碰到的问题
1 loss报错:
cls_loss = sigmoid_focal_loss_jit(src_logits, target_classes_onehot, alpha=self.focal_loss_alpha, gamma=self.focal_loss_gamma, reduction="none")
RuntimeError: The following operation failed in the TorchScript interpreter.
Traceback of TorchScript (most recent call last):
RuntimeError: __nv_nvrtc_builtin_header.h(78048): error: function "operator delete(void *, size_t)" has already been defined
__nv_nvrtc_builtin_header.h(78049): error: function "operator delete[](void *, size_t)" has already been defined
2 errors detected in the compilation of "default_program".
修改方法:就能到loss.py函数,把sigmoid_focal_loss_jit改成sigmoid_focal_loss。
2 loss_bbox一直是0
数据集制作有问题。其中segmentation字段应该为[],而不是[[]]。此外,注意类别标签应从0开始(官网说的):
3 训练自己的数据集
通过set_cfg设置,参考https://blog.csdn.net/qq_29750461/article/details/106761382。主要需要写的代码是在diffusiondet里train_net.py,在cfg里加上自己的数据集
cfg.DATASETS.TRAIN = ("coco_my_train",) # 训练数据集名称
cfg.DATASETS.TEST = ("coco_my_val",)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)