From 537ffddb7b20692d19cd86487bc69570c321fa19 Mon Sep 17 00:00:00 2001 From: liujiang Date: Tue, 29 Oct 2024 15:06:03 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=BC=80=E6=BA=90=E4=B9=8B=E5=A4=8F?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=EF=BC=8CShipWise=20=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- community/cv/ShipWise/.gitignore | 102 ++ community/cv/ShipWise/README.md | 282 +++++ community/cv/ShipWise/assets/pic-1.png | Bin 0 -> 1461805 bytes community/cv/ShipWise/assets/pic-2.png | Bin 0 -> 225137 bytes community/cv/ShipWise/mindyolo/__init__.py | 12 + .../cv/ShipWise/mindyolo/csrc/__init__.py | 3 + community/cv/ShipWise/mindyolo/csrc/build.sh | 3 + .../mindyolo/csrc/fast_coco_eval/__init__.py | 3 + .../csrc/fast_coco_eval/cocoeval/cocoeval.cpp | 504 ++++++++ .../csrc/fast_coco_eval/cocoeval/cocoeval.h | 100 ++ .../fast_coco_eval.cp38-win_amd64.pyd | Bin 0 -> 185856 bytes .../csrc/fast_coco_eval/fast_coco_eval_api.py | 149 +++ .../cv/ShipWise/mindyolo/models/__init__.py | 28 + .../mindyolo/models/heads/__init__.py | 17 + .../mindyolo/models/heads/yolov3_head.py | 92 ++ .../mindyolo/models/heads/yolov4_head.py | 121 ++ .../mindyolo/models/heads/yolov5_head.py | 105 ++ .../mindyolo/models/heads/yolov7_head.py | 207 ++++ .../mindyolo/models/heads/yolov8_head.py | 155 +++ .../mindyolo/models/heads/yolox_head.py | 127 ++ .../ShipWise/mindyolo/models/initializer.py | 45 + .../mindyolo/models/layers/__init__.py | 37 + .../mindyolo/models/layers/activation.py | 17 + .../mindyolo/models/layers/bottleneck.py | 138 +++ .../ShipWise/mindyolo/models/layers/common.py | 73 ++ .../ShipWise/mindyolo/models/layers/conv.py | 168 +++ .../mindyolo/models/layers/implicit.py | 42 + .../ShipWise/mindyolo/models/layers/pool.py | 44 + .../cv/ShipWise/mindyolo/models/layers/spp.py | 57 + .../mindyolo/models/layers/upsample.py | 29 + .../ShipWise/mindyolo/models/layers/utils.py | 106 ++ .../mindyolo/models/losses/__init__.py | 17 + .../mindyolo/models/losses/focal_loss.py | 98 ++ .../mindyolo/models/losses/iou_loss.py | 152 +++ .../mindyolo/models/losses/loss_factory.py | 15 + .../mindyolo/models/losses/yolov3_loss.py | 249 ++++ .../mindyolo/models/losses/yolov4_loss.py | 278 +++++ .../mindyolo/models/losses/yolov5_loss.py | 231 ++++ .../mindyolo/models/losses/yolov7_loss.py | 1018 +++++++++++++++++ .../mindyolo/models/losses/yolov8_loss.py | 595 ++++++++++ .../mindyolo/models/losses/yolox_loss.py | 306 +++++ .../ShipWise/mindyolo/models/model_factory.py | 214 ++++ .../cv/ShipWise/mindyolo/models/registry.py | 106 ++ .../cv/ShipWise/mindyolo/models/yolov3.py | 66 ++ .../cv/ShipWise/mindyolo/models/yolov4.py | 55 + .../cv/ShipWise/mindyolo/models/yolov5.py | 69 ++ .../cv/ShipWise/mindyolo/models/yolov7.py | 71 ++ .../cv/ShipWise/mindyolo/models/yolov8.py | 70 ++ .../cv/ShipWise/mindyolo/models/yolox.py | 65 ++ .../cv/ShipWise/mindyolo/optim/__init__.py | 11 + community/cv/ShipWise/mindyolo/optim/ema.py | 51 + .../ShipWise/mindyolo/optim/group_params.py | 284 +++++ .../ShipWise/mindyolo/optim/optim_factory.py | 64 ++ .../cv/ShipWise/mindyolo/optim/scheduler.py | 237 ++++ .../cv/ShipWise/mindyolo/utils/__init__.py | 7 + .../cv/ShipWise/mindyolo/utils/callback.py | 381 ++++++ .../mindyolo/utils/checkpoint_manager.py | 123 ++ .../cv/ShipWise/mindyolo/utils/config.py | 150 +++ .../utils/convert_weight_cspdarknet53.py | 167 +++ .../utils/convert_weight_darknet53.py | 66 ++ .../cv/ShipWise/mindyolo/utils/logger.py | 182 +++ .../cv/ShipWise/mindyolo/utils/metrics.py | 355 ++++++ .../cv/ShipWise/mindyolo/utils/modelarts.py | 53 + community/cv/ShipWise/mindyolo/utils/poly.py | 58 + .../cv/ShipWise/mindyolo/utils/registry.py | 88 ++ .../mindyolo/utils/train_step_factory.py | 120 ++ .../mindyolo/utils/trainer_factory.py | 518 +++++++++ community/cv/ShipWise/mindyolo/utils/utils.py | 223 ++++ community/cv/ShipWise/mindyolo/version.py | 2 + community/cv/ShipWise/requirements.txt | 16 + community/cv/ShipWise/workspace/__init__.py | 11 + .../cv/ShipWise/workspace/flask/__init__.py | 11 + .../cv/ShipWise/workspace/flask/index.py | 38 + .../workspace/flask/model/__init__.py | 11 + .../workspace/flask/model/ship_wise.py | 78 ++ community/cv/ShipWise/workspace/predict.py | 346 ++++++ .../cv/ShipWise/workspace/script/__init__.py | 11 + .../script/dataset_tools/HRSC/__init__.py | 11 + ...06\346\225\260\346\215\256\351\233\206.py" | 66 ++ ...44\270\272YOLO\346\240\274\345\274\217.py" | 79 ++ .../script/dataset_tools/__init__.py | 11 + community/cv/ShipWise/workspace/train.py | 320 ++++++ 82 files changed, 10590 insertions(+) create mode 100644 community/cv/ShipWise/.gitignore create mode 100644 community/cv/ShipWise/README.md create mode 100644 community/cv/ShipWise/assets/pic-1.png create mode 100644 community/cv/ShipWise/assets/pic-2.png create mode 100644 community/cv/ShipWise/mindyolo/__init__.py create mode 100644 community/cv/ShipWise/mindyolo/csrc/__init__.py create mode 100644 community/cv/ShipWise/mindyolo/csrc/build.sh create mode 100644 community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/__init__.py create mode 100644 community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/cocoeval/cocoeval.cpp create mode 100644 community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/cocoeval/cocoeval.h create mode 100644 community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/fast_coco_eval.cp38-win_amd64.pyd create mode 100644 community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/fast_coco_eval_api.py create mode 100644 community/cv/ShipWise/mindyolo/models/__init__.py create mode 100644 community/cv/ShipWise/mindyolo/models/heads/__init__.py create mode 100644 community/cv/ShipWise/mindyolo/models/heads/yolov3_head.py create mode 100644 community/cv/ShipWise/mindyolo/models/heads/yolov4_head.py create mode 100644 community/cv/ShipWise/mindyolo/models/heads/yolov5_head.py create mode 100644 community/cv/ShipWise/mindyolo/models/heads/yolov7_head.py create mode 100644 community/cv/ShipWise/mindyolo/models/heads/yolov8_head.py create mode 100644 community/cv/ShipWise/mindyolo/models/heads/yolox_head.py create mode 100644 community/cv/ShipWise/mindyolo/models/initializer.py create mode 100644 community/cv/ShipWise/mindyolo/models/layers/__init__.py create mode 100644 community/cv/ShipWise/mindyolo/models/layers/activation.py create mode 100644 community/cv/ShipWise/mindyolo/models/layers/bottleneck.py create mode 100644 community/cv/ShipWise/mindyolo/models/layers/common.py create mode 100644 community/cv/ShipWise/mindyolo/models/layers/conv.py create mode 100644 community/cv/ShipWise/mindyolo/models/layers/implicit.py create mode 100644 community/cv/ShipWise/mindyolo/models/layers/pool.py create mode 100644 community/cv/ShipWise/mindyolo/models/layers/spp.py create mode 100644 community/cv/ShipWise/mindyolo/models/layers/upsample.py create mode 100644 community/cv/ShipWise/mindyolo/models/layers/utils.py create mode 100644 community/cv/ShipWise/mindyolo/models/losses/__init__.py create mode 100644 community/cv/ShipWise/mindyolo/models/losses/focal_loss.py create mode 100644 community/cv/ShipWise/mindyolo/models/losses/iou_loss.py create mode 100644 community/cv/ShipWise/mindyolo/models/losses/loss_factory.py create mode 100644 community/cv/ShipWise/mindyolo/models/losses/yolov3_loss.py create mode 100644 community/cv/ShipWise/mindyolo/models/losses/yolov4_loss.py create mode 100644 community/cv/ShipWise/mindyolo/models/losses/yolov5_loss.py create mode 100644 community/cv/ShipWise/mindyolo/models/losses/yolov7_loss.py create mode 100644 community/cv/ShipWise/mindyolo/models/losses/yolov8_loss.py create mode 100644 community/cv/ShipWise/mindyolo/models/losses/yolox_loss.py create mode 100644 community/cv/ShipWise/mindyolo/models/model_factory.py create mode 100644 community/cv/ShipWise/mindyolo/models/registry.py create mode 100644 community/cv/ShipWise/mindyolo/models/yolov3.py create mode 100644 community/cv/ShipWise/mindyolo/models/yolov4.py create mode 100644 community/cv/ShipWise/mindyolo/models/yolov5.py create mode 100644 community/cv/ShipWise/mindyolo/models/yolov7.py create mode 100644 community/cv/ShipWise/mindyolo/models/yolov8.py create mode 100644 community/cv/ShipWise/mindyolo/models/yolox.py create mode 100644 community/cv/ShipWise/mindyolo/optim/__init__.py create mode 100644 community/cv/ShipWise/mindyolo/optim/ema.py create mode 100644 community/cv/ShipWise/mindyolo/optim/group_params.py create mode 100644 community/cv/ShipWise/mindyolo/optim/optim_factory.py create mode 100644 community/cv/ShipWise/mindyolo/optim/scheduler.py create mode 100644 community/cv/ShipWise/mindyolo/utils/__init__.py create mode 100644 community/cv/ShipWise/mindyolo/utils/callback.py create mode 100644 community/cv/ShipWise/mindyolo/utils/checkpoint_manager.py create mode 100644 community/cv/ShipWise/mindyolo/utils/config.py create mode 100644 community/cv/ShipWise/mindyolo/utils/convert_weight_cspdarknet53.py create mode 100644 community/cv/ShipWise/mindyolo/utils/convert_weight_darknet53.py create mode 100644 community/cv/ShipWise/mindyolo/utils/logger.py create mode 100644 community/cv/ShipWise/mindyolo/utils/metrics.py create mode 100644 community/cv/ShipWise/mindyolo/utils/modelarts.py create mode 100644 community/cv/ShipWise/mindyolo/utils/poly.py create mode 100644 community/cv/ShipWise/mindyolo/utils/registry.py create mode 100644 community/cv/ShipWise/mindyolo/utils/train_step_factory.py create mode 100644 community/cv/ShipWise/mindyolo/utils/trainer_factory.py create mode 100644 community/cv/ShipWise/mindyolo/utils/utils.py create mode 100644 community/cv/ShipWise/mindyolo/version.py create mode 100644 community/cv/ShipWise/requirements.txt create mode 100644 community/cv/ShipWise/workspace/__init__.py create mode 100644 community/cv/ShipWise/workspace/flask/__init__.py create mode 100644 community/cv/ShipWise/workspace/flask/index.py create mode 100644 community/cv/ShipWise/workspace/flask/model/__init__.py create mode 100644 community/cv/ShipWise/workspace/flask/model/ship_wise.py create mode 100644 community/cv/ShipWise/workspace/predict.py create mode 100644 community/cv/ShipWise/workspace/script/__init__.py create mode 100644 community/cv/ShipWise/workspace/script/dataset_tools/HRSC/__init__.py create mode 100644 "community/cv/ShipWise/workspace/script/dataset_tools/HRSC/\345\210\207\345\210\206\346\225\260\346\215\256\351\233\206.py" create mode 100644 "community/cv/ShipWise/workspace/script/dataset_tools/HRSC/\350\275\254\346\215\242\346\225\260\346\215\256\351\233\206\344\270\272YOLO\346\240\274\345\274\217.py" create mode 100644 community/cv/ShipWise/workspace/script/dataset_tools/__init__.py create mode 100644 community/cv/ShipWise/workspace/train.py diff --git a/community/cv/ShipWise/.gitignore b/community/cv/ShipWise/.gitignore new file mode 100644 index 000000000..958108fe8 --- /dev/null +++ b/community/cv/ShipWise/.gitignore @@ -0,0 +1,102 @@ +# MindSpore +*.ir +kernel_meta/ +somas_meta/ +trace_code_graph_* + +# Cmake files +CMakeFiles/ +cmake_install.cmake +CMakeCache.txt +Makefile +cmake-build-debug + +# Dynamic libraries +*.so +*.so.* +*.dylib + +# Static libraries +*.la +*.lai +*.a +*.lib + +# Protocol buffers +*_pb2.py +*.pb.h +*.pb.cc +*.pb +*_grpc.py + +# Object files +*.o + +# Editor +.vscode +.idea/ + +# Cquery +.cquery_cached_index/ +compile_commands.json + +# Ctags and cscope +tags +TAGS +CTAGS +GTAGS +GRTAGS +GSYMS +GPATH +cscope.* + +# Python files +*__pycache__* +.pytest_cache + +# Mac files +*.DS_Store + +# Test results +test_temp_summary_event_file/ +*.dot +*.dat +*.svg +*.perf +*.info +*.ckpt +*.shp +*.pkl +*.pb +.clangd + +# lite opencl compile file +*.cl.inc + +# Custom +build/ +configs/ +data/ +demo/ +deploy/ +docs/ +examples/ +mindinsight/ +mindyolo.egg-info/ +requirements/ +runs/ +runs_infer/ +tests/ +tutorials/ +datasets +benchmark_results.md +CONTRIBUTING.md +GETTING_STARTED.md +GETTING_STARTED_CN.md +LICENSE.md +ma-pre-start.sh +mkdocs.yml +package.sh +setup.py +test.py + diff --git a/community/cv/ShipWise/README.md b/community/cv/ShipWise/README.md new file mode 100644 index 000000000..c4d9c999c --- /dev/null +++ b/community/cv/ShipWise/README.md @@ -0,0 +1,282 @@ +# 目录 + +- [1. ShipWiseNet 描述](#1-shipwisenet-描述) +- [2. 模型架构](#2-模型架构) +- [3. 数据集](#3-数据集) + - [3.1 预训练数据集](#31-预训练数据集) + - [3.2 项目任务数据集](#32-项目任务数据集) + - [3.3 数据处理](#33-数据处理) +- [4. 快速使用](#4-快速使用) + - [4.1 模型训练](#41-模型训练) + - [4.2 模型推理](#42-模型推理) +- [5. 脚本说明](#5-脚本说明) + - [5.1 脚本及样例代码](#51-脚本及样例代码) + - [5.2 脚本参数](#52-脚本参数) +- [6. 模型说明](#6-模型说明) + - [6.1 评估性能](#61-评估性能) + - [6.2 推理性能](#62-推理性能) +- [7. 项目展示](#7-项目展示) + +# 1. ShipWiseNet 描述 + +ShipWiseNet +是一个高效、轻量级的目标检测网络,专门设计用于检测海上船只和航行目标,适应复杂的海洋环境和实时需求。该模型基于先进的深度学习架构,结合特定的优化技术,实现了在高精度和低计算资源需求间的平衡,适用于嵌入式设备和无人系统等资源受限的场景。ShipWiseNet +提供了卓越的检测速度和鲁棒性,即使在天气恶劣、光照变化大或背景复杂的情况下,依旧能准确识别和定位船只目标。 + +# 2. 模型架构 + +ShipWiseNet 的架构设计聚焦于海上目标检测的特定需求。模型由特征提取、检测头、以及优化模块组成,以实现对船只的精准识别和高效检测: + +1. 特征提取模块:采用多层卷积神经网络(CNN)构建的特征提取层,经过优化以捕获船只的边缘特征和形态细节,确保在复杂背景中提取有效信息。该模块能够在多尺度上进行特征表达,增强了模型的适应性。 +2. 检测头:在检测层中,ShipWiseNet 使用了基于自适应锚框的检测策略,使其能够灵活应对不同尺寸、不同距离的目标。检测头采用了轻量级设计,进一步降低了计算复杂度。 +3. 优化模块:通过引入特定的正则化和损失函数优化策略,ShipWiseNet + 可以在保持检测精度的同时减少模型体积。此外,该模块还包含了精细化的背景抑制技术,能够有效过滤无关信息,从而提升海上复杂场景中的鲁棒性。 + +该架构使 ShipWiseNet 能够在低算力设备上流畅运行,同时保持高精度检测能力,非常适合海洋环境中的实时船只检测需求。 + +# 3. 数据集 + +## 3.1 预训练数据集 + +COCO 2017 数据集 是一个广泛用于目标检测、分割和关键点检测的通用大型数据集,包含了多样化的场景和对象类别。COCO 2017 +拥有超过20万张图像,涵盖了80类物体,为 ShipWiseNet 提供了丰富的预训练数据,使其具备较强的目标检测基础能力。 + +- 数据集规模:COCO 2017 数据集包括约118,000张训练图像和5,000张验证图像,图像内容涵盖了大量自然场景,帮助模型在预训练阶段学到丰富的特征表达。 +- 物体多样性:数据集中的物体种类和姿态多样,为 ShipWiseNet 模型在进行船只检测前提供了广泛的视觉先验知识,提升了模型的泛化能力。 +- 标注信息:COCO 2017 提供了精准的标注信息,支持边界框和分割等多种检测任务,使得模型能够在多尺度、多姿态下的检测任务中保持稳健的性能。 + +通过在 COCO 2017 数据集上进行预训练,ShipWiseNet 的基础特征提取能力得到强化,有助于其在 HRSC2016 +等专用数据集上进行微调时,更快适应海上目标检测的需求。 + +## 3.2 项目任务数据集 + +HRSC2016 数据集 是一个专门用于船只检测的高分辨率遥感图像数据集,广泛应用于海上目标检测和识别任务。该数据集包含了多种尺度、角度、姿态的船只目标,能够很好地模拟实际海上场景的复杂性,是训练和评估 +ShipWiseNet 模型的理想选择。 + +1. 数据集规模:HRSC2016 包含1000余张高分辨率图像,涵盖了船只的多种类型和复杂背景,适合用于提升模型在各种海洋环境中的适应能力。 +2. 图像特征:数据集中的图像具有丰富的细节,且角度多变,从不同视角展现了船只的形态特征,有助于模型在不同俯仰角和复杂背景下准确检测。 +3. 标注信息:每张图像都提供了精确的船只位置标注,包括船只的轮廓和姿态信息,适用于旋转框标注格式,支持模型在多角度下的检测能力。 + +利用 HRSC2016 数据集,ShipWiseNet 能够学习到海上船只的多种视觉特征,提升对复杂背景和船只多样性的适应性。这使得 ShipWiseNet +在实际海上环境中具有更强的泛化能力和鲁棒性。 + +## 3.3 数据处理 + +在使用数据集前,需要对数据进行预处理,以适应模型的输入要求。数据处理主要包括图像读取、数据增强、标注解析等步骤: + +```python +def xml_to_txt(xml_file_dir, txt_file_dir): + os.makedirs(txt_file_dir, exist_ok=True) + all_class_ids = set() + for xml_file in os.listdir(xml_file_dir): + if not xml_file.endswith('.xml') or xml_file == 'annotation_fmt.xml': + continue + xml_file_path = os.path.join(xml_file_dir, xml_file) + tree = ET.parse(xml_file_path) + root = tree.getroot() + img_id = root.find('Img_ID').text + img_width = int(root.find('Img_SizeWidth').text) + img_height = int(root.find('Img_SizeHeight').text) + txt_file_path = os.path.join(txt_file_dir, f"{img_id}.txt") + objs = root.findall('.//HRSC_Object') + if len(objs) == 0: + continue + with open(txt_file_path, 'w') as txt_file: + for obj in objs: + class_id = convert_cls_id(obj.find('Class_ID').text) + all_class_ids.add(class_id) + box_xmin = int(obj.find('box_xmin').text) + box_ymin = int(obj.find('box_ymin').text) + box_xmax = int(obj.find('box_xmax').text) + box_ymax = int(obj.find('box_ymax').text) + x_center = ((box_xmin + box_xmax) / 2) / img_width + y_center = ((box_ymin + box_ymax) / 2) / img_height + box_width = (box_xmax - box_xmin) / img_width + box_height = (box_ymax - box_ymin) / img_height + txt_file.write(f"{class_id} {x_center} {y_center} {box_width} {box_height}\n") + print(f"Total class ids: {len(all_class_ids)}") + print([str(class_id) for class_id in all_class_ids]) +``` + +# 4. 快速使用 + +通过官方网站安装 MindSpore 后,您可以按照如下步骤进行训练和评估: + +## 4.1 模型训练 + +```bash +# 训练模型 +python train.py --config ./workspace/configs/ship-wise/ship-wise-s.yaml --log_interval 52 +``` + +```txt +2024-09-16 17:20:40,329 [INFO] Epoch 146/500, Step 52/422, imgsize (640, 640), loss: 3.8198, lbox: 0.7182, lcls: 1.4714, dfl: 1.6302, cur_lr: 0.007129000034183264 +2024-09-16 17:20:40,329 [INFO] Epoch 146/500, Step 52/422, step time: 993.04 ms +2024-09-16 17:21:31,956 [INFO] Epoch 146/500, Step 104/422, imgsize (640, 640), loss: 4.2556, lbox: 1.0156, lcls: 1.9761, dfl: 1.2639, cur_lr: 0.007129000034183264 +2024-09-16 17:21:31,957 [INFO] Epoch 146/500, Step 104/422, step time: 992.82 ms +2024-09-16 17:22:23,579 [INFO] Epoch 146/500, Step 156/422, imgsize (640, 640), loss: 3.3041, lbox: 0.7597, lcls: 1.2315, dfl: 1.3129, cur_lr: 0.007129000034183264 +2024-09-16 17:22:23,579 [INFO] Epoch 146/500, Step 156/422, step time: 992.73 ms +2024-09-16 17:23:15,262 [INFO] Epoch 146/500, Step 208/422, imgsize (640, 640), loss: 3.7350, lbox: 0.8932, lcls: 1.7161, dfl: 1.1257, cur_lr: 0.007129000034183264 +2024-09-16 17:23:15,263 [INFO] Epoch 146/500, Step 208/422, step time: 993.93 ms +2024-09-16 17:24:06,943 [INFO] Epoch 146/500, Step 260/422, imgsize (640, 640), loss: 3.1018, lbox: 0.7251, lcls: 1.1993, dfl: 1.1774, cur_lr: 0.007129000034183264 +2024-09-16 17:24:06,944 [INFO] Epoch 146/500, Step 260/422, step time: 993.86 ms +2024-09-16 17:24:58,402 [INFO] Epoch 146/500, Step 312/422, imgsize (640, 640), loss: 3.4070, lbox: 0.8956, lcls: 1.3462, dfl: 1.1653, cur_lr: 0.007129000034183264 +2024-09-16 17:24:58,403 [INFO] Epoch 146/500, Step 312/422, step time: 989.59 ms +2024-09-16 17:25:49,862 [INFO] Epoch 146/500, Step 364/422, imgsize (640, 640), loss: 2.2349, lbox: 0.5543, lcls: 0.7309, dfl: 0.9497, cur_lr: 0.007129000034183264 +2024-09-16 17:25:49,863 [INFO] Epoch 146/500, Step 364/422, step time: 989.62 ms +2024-09-16 17:26:41,257 [INFO] Epoch 146/500, Step 416/422, imgsize (640, 640), loss: 2.7312, lbox: 0.5390, lcls: 1.0165, dfl: 1.1757, cur_lr: 0.007129000034183264 +2024-09-16 17:26:41,258 [INFO] Epoch 146/500, Step 416/422, step time: 988.38 ms +2024-09-16 17:26:47,405 [INFO] Saving model to ./runs\2024.09.15-22.56.30\weights\ship-wise-s-146_422.ckpt +2024-09-16 17:26:47,405 [INFO] Epoch 146/500, epoch time: 6.98 min. +``` + +## 4.2 模型推理 + +```bash +python predict.py --config=./workspace/configs/ship-wise/ship-wise-s.yaml --weight=./runs/2024.09.15-22.56.30/weights/ship-wise-s-153_422.ckpt --image_path=H:\Library\Datasets\HRSC\HRSC2016_dataset\HRSC2016\FullDataSet-YOLO-Split\test\100000630.bmp +``` + +```txt +2024-09-16 18:33:22,989 [INFO] number of network params, total: 11.166471M, trainable: 11.14642M +2024-09-16 18:33:23,172 [INFO] Load checkpoint from [runs/2024.09.15-22.56.30/weights/ship-wise-s-153_422.ckpt] success. +2024-09-16 18:33:25,788 [INFO] Predict result is: {'category_id': [18], 'bbox': [[699.768, 529.886, 216.182, 189.988]], 'score': [0.76474]} +2024-09-16 18:33:25,788 [INFO] Speed: 2594.7/1.8/2596.4 ms inference/NMS/total per 640x640 image at batch-size 1; +2024-09-16 18:33:25,788 [INFO] Detect a image success. +2024-09-16 18:33:25,797 [INFO] Infer completed. +``` + +# 5. 脚本说明 + +## 5.1 脚本及样例代码 + +```text +├── root_directory // 项目的根目录 +│ ├── predict.py // 用于预测的主脚本 +│ ├── train.py // 用于训练的主脚本 +│ ├── __init__.py // 初始化脚本 +│ +├── configs // 配置文件目录 +│ ├── dataset // 数据集配置文件 +│ │ ├── HRSC2016.yaml // HRSC2016 数据集的配置文件 +│ │ +│ └── ship-wise // ShipWiseNet 模型的配置文件 +│ ├── hyp.scratch.high.yaml // 高精度模式的超参数配置 +│ ├── hyp.scratch.low.yaml // 低精度模式的超参数配置 +│ ├── ship-wise-base.yaml // ShipWiseNet 基础模型配置 +│ ├── ship-wise-l.yaml // ShipWiseNet 大型模型配置 +│ ├── ship-wise-s.yaml // ShipWiseNet 小型模型配置 +│ +├── datasets // 数据集文件夹 +│ └── HRSC2016 // HRSC2016 数据集目录 +│ ├── test.txt // 测试集文件列表 +│ ├── train.cache.npy // 训练集缓存文件 +│ ├── train.txt // 训练集文件列表 +│ ├── val.txt // 验证集文件列表 +│ +├── flask // 用于模型服务的 Flask 项目目录 +│ ├── index.py // 主入口文件 +│ ├── __init__.py // 初始化脚本 +│ │ +│ ├── model // 模型相关文件 +│ │ ├── yolov8.py // YOLOv8 模型实现文件 +│ │ ├── __init__.py // 初始化脚本 +│ │ └── __pycache__ // Python 字节码缓存目录 +│ │ ├── yolov8.cpython-38.pyc // YOLOv8 字节码缓存 +│ │ └── __init__.cpython-38.pyc // 初始化脚本字节码缓存 +│ │ +│ └── __pycache__ // Python 字节码缓存目录 +│ +└── script // 脚本文件夹 + ├── train.md // 训练文档 + ├── __init__.py // 初始化脚本 + │ + ├── dataset_tools // 数据集工具文件夹 + │ ├── __init__.py // 初始化脚本 + │ │ + │ └── HRSC // HRSC 数据集工具 + │ ├── __init__.py // 初始化脚本 + │ ├── 切分数据集.py // 数据集分割脚本 + │ └── 转换数据集为YOLO格式.py // 数据集格式转换脚本 + │ + └── __pycache__ // Python 字节码缓存目录 +``` + +## 5.2 脚本参数 + +```text +train.py 中主要的参数有: + +可选参数: + + --device_target 实现代码的设备。默认值:Ascend + --data_dir 训练数据集目录 + --per_batch_size 训练的批处理大小。默认值:32(单卡),16(Ascend 8卡)或32(GPU 8卡) + --resume_yolov5 用于微调的YoLOv5的CKPT文件。默认值:""。 + --lr_scheduler 学习率调度器。可选值:exponential或cosine_annealing + 默认值:cosine_annealing + --lr 学习率。默认值:0.01(单卡),0.02(Ascend 8卡)或0.025(GPU 8卡) + --lr_epochs 学习率变化轮次,用英文逗号(,)分割。默认值为'220,250'。 + --lr_gamma 指数级lr_scheduler系数降低学习率。默认值为0.1。 + --eta_min cosine_annealing调度器中的eta_min。默认值为0。 + --t_max 在cosine_annealing调度器中的T-max。默认值为300(8卡)。 + --max_epoch 模型训练最大轮次。默认值为300(8卡)。 + --warmup_epochs 热身总轮次。默认值为20(8卡)。 + --weight_decay 权重衰减因子。默认值为0.0005。 + --momentum 动量参数。默认值为0.9。 + --loss_scale 静态损失缩放。默认值为64。 + --label_smooth 是否在CE中使用标签平滑。默认值为0。 + --label_smooth_factor 初始one-hot编码的平滑强度。默认值为0.1。 + --log_interval 日志记录间隔步骤。默认值为100。 + --ckpt_path CKPT文件保存位置。默认值为outputs/。 + --is_distributed 是否进行分布式训练,1表示是,0表示否。默认值为0。 + --rank 分布式训练的本地序号。默认值为0。 + --group_size 设备的全局大小。默认值为1。 + --need_profiler 是否使用Profiler,0表示否,1表示是。默认值为0。 + --training_shape 设置固定训练shape。默认值为""。 + --resize_rate 调整多尺度训练率。默认值为10。 + --bind_cpu 分布式训练时是否绑定cpu。默认值为True。 + --device_num 每台服务器的设备数量。默认值为8。 +``` + +# 6. 模型说明 + +## 6.1 评估性能 + +| 参数 | ShipWise-s | +|-------------|----------------------------------------------------------------| +| 资源 | CPU 5.10GHz,14核;内存32GB | +| 上传日期 | 26/10/2024 | +| MindSpore版本 | 2.2.14 | +| 数据集 | 1680张图 | +| 训练参数 | epoch=300, batch_size=2, lr=0.01,momentum=0.937,warmup_epoch=3 | +| 优化器 | 动量 | +| 损失函数 | YOLOv8Loss | +| 输出 | 框和标签 | +| 损失 | 2.6635 | +| 总时长 | 19小时20分58秒 | +| 微调检查点 | 42.6MB(.ckpt文件) | + +## 6.2 推理性能 + +| 参数 | YOLOv5s | +|-------------|-------------------------| +| 资源 | CPU 5.10GHz,14核;内存32GB | +| 上传日期 | 26/10/2024 | +| MindSpore版本 | 2.2.14 | +| 数据集 | 1680张图 | +| batch_size | 1 | +| 输出 | 边框位置和分数,以及概率 | +| 准确率 | mAP >= 82.6%(shape=640) | +| 微调检查点 | 42.6MB(.ckpt文件) | + + + +# 7. 项目展示 + +首页展示 + +![首页展示](./assets/pic-1.png) + +数据可视化大屏 + +![数据可视化大屏](./assets/pic-2.png) \ No newline at end of file diff --git a/community/cv/ShipWise/assets/pic-1.png b/community/cv/ShipWise/assets/pic-1.png new file mode 100644 index 0000000000000000000000000000000000000000..baa800c3af63ced712170aa288348bc281a09c32 GIT binary patch literal 1461805 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

cmZb1#SCn54Sdz$Eg)MwF-=#M>N8JjGCJ% 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
86)VBA_M>9}SQGO;v-v_u%zv{sf&&f=) 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%0DpEwWeJ3{VKlSOV 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�)5lVdZ(r9 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�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

g6o)87d7olOz2o{V= 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

J24bB$5sX=9|SDI=S`YNfeLTs#%m@8%0YK1<^ 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

pSuYN~6bcj=~;8~1Jf?g;gN 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%0DJUn6nESn=2inMaG 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

_H=^Li~bBlg|t{jqKVEP) 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

k3efH^MKj2^jxGH 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 z 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

kiD9>i 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

N}R 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%0Drz0h0~w%uuzsoo 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 z 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 z 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 literal 0 HcmV?d00001 diff --git a/community/cv/ShipWise/assets/pic-2.png b/community/cv/ShipWise/assets/pic-2.png new file mode 100644 index 0000000000000000000000000000000000000000..dda605ccf235116e14b3035755a508cd99f7e378 GIT binary patch literal 225137 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

%@Jt8I6CsVL=SyLfo2vxXs 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

m*+a^p9jxiit% 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
%9wW_l5eP_Q@1vt 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

u*J-IhexLQV^YFLfVa9^|$(MbZ}BI5A>Uiu2G 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 U6pK9$f`FVnYI>x|=zPS#0j19ks{jB1 literal 0 HcmV?d00001 diff --git a/community/cv/ShipWise/mindyolo/__init__.py b/community/cv/ShipWise/mindyolo/__init__.py new file mode 100644 index 000000000..3ac0e0020 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/__init__.py @@ -0,0 +1,12 @@ +"""mindyolo init""" +from . import data, models, optim, utils +from .data import * +from .models import * +from .optim import * +from .utils import * +from .version import __version__ + +__all__ = [] +__all__.extend(data.__all__) +__all__.extend(models.__all__) +__all__.extend(optim.__all__) diff --git a/community/cv/ShipWise/mindyolo/csrc/__init__.py b/community/cv/ShipWise/mindyolo/csrc/__init__.py new file mode 100644 index 000000000..180424bb0 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/csrc/__init__.py @@ -0,0 +1,3 @@ +from .fast_coco_eval import COCOeval_fast + +__all__ = ['COCOeval_fast'] diff --git a/community/cv/ShipWise/mindyolo/csrc/build.sh b/community/cv/ShipWise/mindyolo/csrc/build.sh new file mode 100644 index 000000000..69fe1e4d9 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/csrc/build.sh @@ -0,0 +1,3 @@ +#!/bin/bash +# Build dynamic library +python setup.py build_ext --inplace && echo "Build fast_coco_eval successfully." diff --git a/community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/__init__.py b/community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/__init__.py new file mode 100644 index 000000000..cbb55e37a --- /dev/null +++ b/community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/__init__.py @@ -0,0 +1,3 @@ +from .fast_coco_eval_api import COCOeval_fast + +__all = ['COCOeval_fast'] diff --git a/community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/cocoeval/cocoeval.cpp b/community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/cocoeval/cocoeval.cpp new file mode 100644 index 000000000..880b89956 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/cocoeval/cocoeval.cpp @@ -0,0 +1,504 @@ +// Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved +// This file was copied from project facebookresearch/detectron2 +// The file link is https://github.com/facebookresearch/detectron2/blob/main/detectron2/layers/csrc/cocoeval/cocoeval.cpp +#include "cocoeval.h" +#include +#include +#include +#include + +using namespace pybind11::literals; + +namespace COCOeval { + +// Sort detections from highest score to lowest, such that +// detection_instances[detection_sorted_indices[t]] >= +// detection_instances[detection_sorted_indices[t+1]]. Use stable_sort to match +// original COCO API +void SortInstancesByDetectionScore( + const std::vector& detection_instances, + std::vector* detection_sorted_indices) { + detection_sorted_indices->resize(detection_instances.size()); + std::iota( + detection_sorted_indices->begin(), detection_sorted_indices->end(), 0); + std::stable_sort( + detection_sorted_indices->begin(), + detection_sorted_indices->end(), + [&detection_instances](size_t j1, size_t j2) { + return detection_instances[j1].score > detection_instances[j2].score; + }); +} + +// Partition the ground truth objects based on whether or not to ignore them +// based on area +void SortInstancesByIgnore( + const std::array& area_range, + const std::vector& ground_truth_instances, + std::vector* ground_truth_sorted_indices, + std::vector* ignores) { + ignores->clear(); + ignores->reserve(ground_truth_instances.size()); + for (auto o : ground_truth_instances) { + ignores->push_back( + o.ignore || o.area < area_range[0] || o.area > area_range[1]); + } + + ground_truth_sorted_indices->resize(ground_truth_instances.size()); + std::iota( + ground_truth_sorted_indices->begin(), + ground_truth_sorted_indices->end(), + 0); + std::stable_sort( + ground_truth_sorted_indices->begin(), + ground_truth_sorted_indices->end(), + [&ignores](size_t j1, size_t j2) { + return (int)(*ignores)[j1] < (int)(*ignores)[j2]; + }); +} + +// For each IOU threshold, greedily match each detected instance to a ground +// truth instance (if possible) and store the results +void MatchDetectionsToGroundTruth( + const std::vector& detection_instances, + const std::vector& detection_sorted_indices, + const std::vector& ground_truth_instances, + const std::vector& ground_truth_sorted_indices, + const std::vector& ignores, + const std::vector>& ious, + const std::vector& iou_thresholds, + const std::array& area_range, + ImageEvaluation* results) { + // Initialize memory to store return data matches and ignore + const int num_iou_thresholds = iou_thresholds.size(); + const int num_ground_truth = ground_truth_sorted_indices.size(); + const int num_detections = detection_sorted_indices.size(); + std::vector ground_truth_matches( + num_iou_thresholds * num_ground_truth, 0); + std::vector& detection_matches = results->detection_matches; + std::vector& detection_ignores = results->detection_ignores; + std::vector& ground_truth_ignores = results->ground_truth_ignores; + detection_matches.resize(num_iou_thresholds * num_detections, 0); + detection_ignores.resize(num_iou_thresholds * num_detections, false); + ground_truth_ignores.resize(num_ground_truth); + for (auto g = 0; g < num_ground_truth; ++g) { + ground_truth_ignores[g] = ignores[ground_truth_sorted_indices[g]]; + } + + for (auto t = 0; t < num_iou_thresholds; ++t) { + for (auto d = 0; d < num_detections; ++d) { + // information about best match so far (match=-1 -> unmatched) + double best_iou = std::min(iou_thresholds[t], 1 - 1e-10); + int match = -1; + for (auto g = 0; g < num_ground_truth; ++g) { + // if this ground truth instance is already matched and not a + // crowd, it cannot be matched to another detection + if (ground_truth_matches[t * num_ground_truth + g] > 0 && + !ground_truth_instances[ground_truth_sorted_indices[g]].is_crowd) { + continue; + } + + // if detected instance matched to a regular ground truth + // instance, we can break on the first ground truth instance + // tagged as ignore (because they are sorted by the ignore tag) + if (match >= 0 && !ground_truth_ignores[match] && + ground_truth_ignores[g]) { + break; + } + + // if IOU overlap is the best so far, store the match appropriately + if (ious[d][ground_truth_sorted_indices[g]] >= best_iou) { + best_iou = ious[d][ground_truth_sorted_indices[g]]; + match = g; + } + } + // if match was made, store id of match for both detection and + // ground truth + if (match >= 0) { + detection_ignores[t * num_detections + d] = ground_truth_ignores[match]; + detection_matches[t * num_detections + d] = + ground_truth_instances[ground_truth_sorted_indices[match]].id; + ground_truth_matches[t * num_ground_truth + match] = + detection_instances[detection_sorted_indices[d]].id; + } + + // set unmatched detections outside of area range to ignore + const InstanceAnnotation& detection = + detection_instances[detection_sorted_indices[d]]; + detection_ignores[t * num_detections + d] = + detection_ignores[t * num_detections + d] || + (detection_matches[t * num_detections + d] == 0 && + (detection.area < area_range[0] || detection.area > area_range[1])); + } + } + + // store detection score results + results->detection_scores.resize(detection_sorted_indices.size()); + for (size_t d = 0; d < detection_sorted_indices.size(); ++d) { + results->detection_scores[d] = + detection_instances[detection_sorted_indices[d]].score; + } +} + +std::vector EvaluateImages( + const std::vector>& area_ranges, + int max_detections, + const std::vector& iou_thresholds, + const ImageCategoryInstances>& image_category_ious, + const ImageCategoryInstances& + image_category_ground_truth_instances, + const ImageCategoryInstances& + image_category_detection_instances) { + const int num_area_ranges = area_ranges.size(); + const int num_images = image_category_ground_truth_instances.size(); + const int num_categories = + image_category_ious.size() > 0 ? image_category_ious[0].size() : 0; + std::vector detection_sorted_indices; + std::vector ground_truth_sorted_indices; + std::vector ignores; + std::vector results_all( + num_images * num_area_ranges * num_categories); + + // Store results for each image, category, and area range combination. Results + // for each IOU threshold are packed into the same ImageEvaluation object + for (auto i = 0; i < num_images; ++i) { + for (auto c = 0; c < num_categories; ++c) { + const std::vector& ground_truth_instances = + image_category_ground_truth_instances[i][c]; + const std::vector& detection_instances = + image_category_detection_instances[i][c]; + + SortInstancesByDetectionScore( + detection_instances, &detection_sorted_indices); + if ((int)detection_sorted_indices.size() > max_detections) { + detection_sorted_indices.resize(max_detections); + } + + for (size_t a = 0; a < area_ranges.size(); ++a) { + SortInstancesByIgnore( + area_ranges[a], + ground_truth_instances, + &ground_truth_sorted_indices, + &ignores); + + MatchDetectionsToGroundTruth( + detection_instances, + detection_sorted_indices, + ground_truth_instances, + ground_truth_sorted_indices, + ignores, + image_category_ious[i][c], + iou_thresholds, + area_ranges[a], + &results_all + [c * num_area_ranges * num_images + a * num_images + i]); + } + } + } + + return results_all; +} + +// Convert a python list to a vector +template +std::vector list_to_vec(const py::list& l) { + std::vector v(py::len(l)); + for (int i = 0; i < (int)py::len(l); ++i) { + v[i] = l[i].cast(); + } + return v; +} + +// Helper function to Accumulate() +// Considers the evaluation results applicable to a particular category, area +// range, and max_detections parameter setting, which begin at +// evaluations[evaluation_index]. Extracts a sorted list of length n of all +// applicable detection instances concatenated across all images in the dataset, +// which are represented by the outputs evaluation_indices, detection_scores, +// image_detection_indices, and detection_sorted_indices--all of which are +// length n. evaluation_indices[i] stores the applicable index into +// evaluations[] for instance i, which has detection score detection_score[i], +// and is the image_detection_indices[i]'th of the list of detections +// for the image containing i. detection_sorted_indices[] defines a sorted +// permutation of the 3 other outputs +int BuildSortedDetectionList( + const std::vector& evaluations, + const int64_t evaluation_index, + const int64_t num_images, + const int max_detections, + std::vector* evaluation_indices, + std::vector* detection_scores, + std::vector* detection_sorted_indices, + std::vector* image_detection_indices) { + assert(evaluations.size() >= evaluation_index + num_images); + + // Extract a list of object instances of the applicable category, area + // range, and max detections requirements such that they can be sorted + image_detection_indices->clear(); + evaluation_indices->clear(); + detection_scores->clear(); + image_detection_indices->reserve(num_images * max_detections); + evaluation_indices->reserve(num_images * max_detections); + detection_scores->reserve(num_images * max_detections); + int num_valid_ground_truth = 0; + for (auto i = 0; i < num_images; ++i) { + const ImageEvaluation& evaluation = evaluations[evaluation_index + i]; + + for (int d = 0; + d < (int)evaluation.detection_scores.size() && d < max_detections; + ++d) { // detected instances + evaluation_indices->push_back(evaluation_index + i); + image_detection_indices->push_back(d); + detection_scores->push_back(evaluation.detection_scores[d]); + } + for (auto ground_truth_ignore : evaluation.ground_truth_ignores) { + if (!ground_truth_ignore) { + ++num_valid_ground_truth; + } + } + } + + // Sort detections by decreasing score, using stable sort to match + // python implementation + detection_sorted_indices->resize(detection_scores->size()); + std::iota( + detection_sorted_indices->begin(), detection_sorted_indices->end(), 0); + std::stable_sort( + detection_sorted_indices->begin(), + detection_sorted_indices->end(), + [&detection_scores](size_t j1, size_t j2) { + return (*detection_scores)[j1] > (*detection_scores)[j2]; + }); + + return num_valid_ground_truth; +} + +// Helper function to Accumulate() +// Compute a precision recall curve given a sorted list of detected instances +// encoded in evaluations, evaluation_indices, detection_scores, +// detection_sorted_indices, image_detection_indices (see +// BuildSortedDetectionList()). Using vectors precisions and recalls +// and temporary storage, output the results into precisions_out, recalls_out, +// and scores_out, which are large buffers containing many precion/recall curves +// for all possible parameter settings, with precisions_out_index and +// recalls_out_index defining the applicable indices to store results. +void ComputePrecisionRecallCurve( + const int64_t precisions_out_index, + const int64_t precisions_out_stride, + const int64_t recalls_out_index, + const std::vector& recall_thresholds, + const int iou_threshold_index, + const int num_iou_thresholds, + const int num_valid_ground_truth, + const std::vector& evaluations, + const std::vector& evaluation_indices, + const std::vector& detection_scores, + const std::vector& detection_sorted_indices, + const std::vector& image_detection_indices, + std::vector* precisions, + std::vector* recalls, + std::vector* precisions_out, + std::vector* scores_out, + std::vector* recalls_out) { + assert(recalls_out->size() > recalls_out_index); + + // Compute precision/recall for each instance in the sorted list of detections + int64_t true_positives_sum = 0, false_positives_sum = 0; + precisions->clear(); + recalls->clear(); + precisions->reserve(detection_sorted_indices.size()); + recalls->reserve(detection_sorted_indices.size()); + assert(!evaluations.empty() || detection_sorted_indices.empty()); + for (auto detection_sorted_index : detection_sorted_indices) { + const ImageEvaluation& evaluation = + evaluations[evaluation_indices[detection_sorted_index]]; + const auto num_detections = + evaluation.detection_matches.size() / num_iou_thresholds; + const auto detection_index = iou_threshold_index * num_detections + + image_detection_indices[detection_sorted_index]; + assert(evaluation.detection_matches.size() > detection_index); + assert(evaluation.detection_ignores.size() > detection_index); + const int64_t detection_match = + evaluation.detection_matches[detection_index]; + const bool detection_ignores = + evaluation.detection_ignores[detection_index]; + const auto true_positive = detection_match > 0 && !detection_ignores; + const auto false_positive = detection_match == 0 && !detection_ignores; + if (true_positive) { + ++true_positives_sum; + } + if (false_positive) { + ++false_positives_sum; + } + + const double recall = + static_cast(true_positives_sum) / num_valid_ground_truth; + recalls->push_back(recall); + const int64_t num_valid_detections = + true_positives_sum + false_positives_sum; + const double precision = num_valid_detections > 0 + ? static_cast(true_positives_sum) / num_valid_detections + : 0.0; + precisions->push_back(precision); + } + + (*recalls_out)[recalls_out_index] = !recalls->empty() ? recalls->back() : 0; + + for (int64_t i = static_cast(precisions->size()) - 1; i > 0; --i) { + if ((*precisions)[i] > (*precisions)[i - 1]) { + (*precisions)[i - 1] = (*precisions)[i]; + } + } + + // Sample the per instance precision/recall list at each recall threshold + for (size_t r = 0; r < recall_thresholds.size(); ++r) { + // first index in recalls >= recall_thresholds[r] + std::vector::iterator low = std::lower_bound( + recalls->begin(), recalls->end(), recall_thresholds[r]); + size_t precisions_index = low - recalls->begin(); + + const auto results_ind = precisions_out_index + r * precisions_out_stride; + assert(results_ind < precisions_out->size()); + assert(results_ind < scores_out->size()); + if (precisions_index < precisions->size()) { + (*precisions_out)[results_ind] = (*precisions)[precisions_index]; + (*scores_out)[results_ind] = + detection_scores[detection_sorted_indices[precisions_index]]; + } else { + (*precisions_out)[results_ind] = 0; + (*scores_out)[results_ind] = 0; + } + } +} +py::dict Accumulate( + const py::object& params, + const std::vector& evaluations) { + const std::vector recall_thresholds = + list_to_vec(params.attr("recThrs")); + const std::vector max_detections = + list_to_vec(params.attr("maxDets")); + const int num_iou_thresholds = py::len(params.attr("iouThrs")); + const int num_recall_thresholds = py::len(params.attr("recThrs")); + const int num_categories = params.attr("useCats").cast() == 1 + ? py::len(params.attr("catIds")) + : 1; + const int num_area_ranges = py::len(params.attr("areaRng")); + const int num_max_detections = py::len(params.attr("maxDets")); + const int num_images = py::len(params.attr("imgIds")); + + std::vector precisions_out( + num_iou_thresholds * num_recall_thresholds * num_categories * + num_area_ranges * num_max_detections, + -1); + std::vector recalls_out( + num_iou_thresholds * num_categories * num_area_ranges * + num_max_detections, + -1); + std::vector scores_out( + num_iou_thresholds * num_recall_thresholds * num_categories * + num_area_ranges * num_max_detections, + -1); + + // Consider the list of all detected instances in the entire dataset in one + // large list. evaluation_indices, detection_scores, + // image_detection_indices, and detection_sorted_indices all have the same + // length as this list, such that each entry corresponds to one detected + // instance + std::vector evaluation_indices; // indices into evaluations[] + std::vector detection_scores; // detection scores of each instance + std::vector detection_sorted_indices; // sorted indices of all + // instances in the dataset + std::vector + image_detection_indices; // indices into the list of detected instances in + // the same image as each instance + std::vector precisions, recalls; + + for (auto c = 0; c < num_categories; ++c) { + for (auto a = 0; a < num_area_ranges; ++a) { + for (auto m = 0; m < num_max_detections; ++m) { + // The COCO PythonAPI assumes evaluations[] (the return value of + // COCOeval::EvaluateImages() is one long list storing results for each + // combination of category, area range, and image id, with categories in + // the outermost loop and images in the innermost loop. + const int64_t evaluations_index = + c * num_area_ranges * num_images + a * num_images; + int num_valid_ground_truth = BuildSortedDetectionList( + evaluations, + evaluations_index, + num_images, + max_detections[m], + &evaluation_indices, + &detection_scores, + &detection_sorted_indices, + &image_detection_indices); + + if (num_valid_ground_truth == 0) { + continue; + } + + for (auto t = 0; t < num_iou_thresholds; ++t) { + // recalls_out is a flattened vectors representing a + // num_iou_thresholds X num_categories X num_area_ranges X + // num_max_detections matrix + const int64_t recalls_out_index = + t * num_categories * num_area_ranges * num_max_detections + + c * num_area_ranges * num_max_detections + + a * num_max_detections + m; + + // precisions_out and scores_out are flattened vectors + // representing a num_iou_thresholds X num_recall_thresholds X + // num_categories X num_area_ranges X num_max_detections matrix + const int64_t precisions_out_stride = + num_categories * num_area_ranges * num_max_detections; + const int64_t precisions_out_index = t * num_recall_thresholds * + num_categories * num_area_ranges * num_max_detections + + c * num_area_ranges * num_max_detections + + a * num_max_detections + m; + + ComputePrecisionRecallCurve( + precisions_out_index, + precisions_out_stride, + recalls_out_index, + recall_thresholds, + t, + num_iou_thresholds, + num_valid_ground_truth, + evaluations, + evaluation_indices, + detection_scores, + detection_sorted_indices, + image_detection_indices, + &precisions, + &recalls, + &precisions_out, + &scores_out, + &recalls_out); + } + } + } + } + + time_t rawtime; + struct tm local_time; + std::array buffer; + time(&rawtime); +#ifdef _WIN32 + localtime_s(&local_time, &rawtime); +#else + localtime_r(&rawtime, &local_time); +#endif + strftime( + buffer.data(), 200, "%Y-%m-%d %H:%num_max_detections:%S", &local_time); + return py::dict( + "params"_a = params, + "counts"_a = std::vector({num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections}), + "date"_a = buffer, + "precision"_a = precisions_out, + "recall"_a = recalls_out, + "scores"_a = scores_out); +} + +} // namespace COCOeval diff --git a/community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/cocoeval/cocoeval.h b/community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/cocoeval/cocoeval.h new file mode 100644 index 000000000..1febb409e --- /dev/null +++ b/community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/cocoeval/cocoeval.h @@ -0,0 +1,100 @@ +// Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved +// This file was copied from project facebookresearch/detectron2 +// The file link is https://github.com/facebookresearch/detectron2/blob/main/detectron2/layers/csrc/cocoeval/cocoeval.h +#pragma once + +#include +#include +#include +#include +#include + +namespace py = pybind11; + +namespace COCOeval { + +// Annotation data for a single object instance in an image +struct InstanceAnnotation { + InstanceAnnotation( + uint64_t id, + double score, + double area, + bool is_crowd, + bool ignore) + : id{id}, score{score}, area{area}, is_crowd{is_crowd}, ignore{ignore} {} + uint64_t id; + double score = 0.; + double area = 0.; + bool is_crowd = false; + bool ignore = false; +}; + +// Stores intermediate results for evaluating detection results for a single +// image that has D detected instances and G ground truth instances. This stores +// matches between detected and ground truth instances +struct ImageEvaluation { + // For each of the D detected instances, the id of the matched ground truth + // instance, or 0 if unmatched + std::vector detection_matches; + + // The detection score of each of the D detected instances + std::vector detection_scores; + + // Marks whether or not each of G instances was ignored from evaluation (e.g., + // because it's outside area_range) + std::vector ground_truth_ignores; + + // Marks whether or not each of D instances was ignored from evaluation (e.g., + // because it's outside aRng) + std::vector detection_ignores; +}; + +template +using ImageCategoryInstances = std::vector>>; + +// C++ implementation of COCO API cocoeval.py::COCOeval.evaluateImg(). For each +// combination of image, category, area range settings, and IOU thresholds to +// evaluate, it matches detected instances to ground truth instances and stores +// the results into a vector of ImageEvaluation results, which will be +// interpreted by the COCOeval::Accumulate() function to produce precion-recall +// curves. The parameters of nested vectors have the following semantics: +// image_category_ious[i][c][d][g] is the intersection over union of the d'th +// detected instance and g'th ground truth instance of +// category category_ids[c] in image image_ids[i] +// image_category_ground_truth_instances[i][c] is a vector of ground truth +// instances in image image_ids[i] of category category_ids[c] +// image_category_detection_instances[i][c] is a vector of detected +// instances in image image_ids[i] of category category_ids[c] +std::vector EvaluateImages( + const std::vector>& area_ranges, // vector of 2-tuples + int max_detections, + const std::vector& iou_thresholds, + const ImageCategoryInstances>& image_category_ious, + const ImageCategoryInstances& + image_category_ground_truth_instances, + const ImageCategoryInstances& + image_category_detection_instances); + +// C++ implementation of COCOeval.accumulate(), which generates precision +// recall curves for each set of category, IOU threshold, detection area range, +// and max number of detections parameters. It is assumed that the parameter +// evaluations is the return value of the functon COCOeval::EvaluateImages(), +// which was called with the same parameter settings params +py::dict Accumulate( + const py::object& params, + const std::vector& evalutations); + +} // namespace COCOeval + +PYBIND11_MODULE(fast_coco_eval, m) +{ + m.def("COCOevalAccumulate", &COCOeval::Accumulate, "COCOeval::Accumulate"); + m.def( + "COCOevalEvaluateImages", + &COCOeval::EvaluateImages, + "COCOeval::EvaluateImages"); + pybind11::class_(m, "InstanceAnnotation") + .def(pybind11::init()); + pybind11::class_(m, "ImageEvaluation") + .def(pybind11::init<>()); +} diff --git a/community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/fast_coco_eval.cp38-win_amd64.pyd b/community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/fast_coco_eval.cp38-win_amd64.pyd new file mode 100644 index 0000000000000000000000000000000000000000..62e4aeeb5f3767910f1f7c33a6cc74babd48d2b6 GIT binary patch literal 185856 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 literal 0 HcmV?d00001 diff --git a/community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/fast_coco_eval_api.py b/community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/fast_coco_eval_api.py new file mode 100644 index 000000000..7be4d742c --- /dev/null +++ b/community/cv/ShipWise/mindyolo/csrc/fast_coco_eval/fast_coco_eval_api.py @@ -0,0 +1,149 @@ +#!/usr/bin/env python3 +# -*- coding:utf-8 -*- +# This file is modified from +# https://github.com/facebookresearch/detectron2/blob/master/detectron2/evaluation/fast_eval_api.py +# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved + +import copy +import time + +import numpy as np +from pycocotools.cocoeval import COCOeval + +from . import fast_coco_eval + +class COCOeval_fast(COCOeval): + """ + This is a slightly modified version of the original COCO API, where the functions evaluateImg() + and accumulate() are implemented in C++ to speedup evaluation + """ + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.module = fast_coco_eval + + def evaluate(self): + """ + Run per image evaluation on given images and store results in self.evalImgs_cpp, a + datastructure that isn't readable from Python but is used by a c++ implementation of + accumulate(). Unlike the original COCO PythonAPI, we don't populate the datastructure + self.evalImgs because this datastructure is a computational bottleneck. + :return: None + """ + tic = time.time() + + print("Running per image evaluation...") + p = self.params + # add backward compatibility if useSegm is specified in params + if p.useSegm is not None: + p.iouType = "segm" if p.useSegm == 1 else "bbox" + print( + "useSegm (deprecated) is not None. Running {} evaluation".format( + p.iouType + ) + ) + print("Evaluate annotation type *{}*".format(p.iouType)) + p.imgIds = list(np.unique(p.imgIds)) + if p.useCats: + p.catIds = list(np.unique(p.catIds)) + p.maxDets = sorted(p.maxDets) + self.params = p + + self._prepare() + + # loop through images, area range, max detection number + catIds = p.catIds if p.useCats else [-1] + + if p.iouType == "segm" or p.iouType == "bbox": + computeIoU = self.computeIoU + elif p.iouType == "keypoints": + computeIoU = self.computeOks + self.ious = { + (imgId, catId): computeIoU(imgId, catId) + for imgId in p.imgIds + for catId in catIds + } + + maxDet = p.maxDets[-1] + + # <<<< Beginning of code differences with original COCO API + def convert_instances_to_cpp(instances, is_det=False): + # Convert annotations for a list of instances in an image to a format that's fast + # to access in C++ + instances_cpp = [] + for instance in instances: + instance_cpp = self.module.InstanceAnnotation( + int(instance["id"]), + instance["score"] if is_det else instance.get("score", 0.0), + instance["area"], + bool(instance.get("iscrowd", 0)), + bool(instance.get("ignore", 0)), + ) + instances_cpp.append(instance_cpp) + return instances_cpp + + # Convert GT annotations, detections, and IOUs to a format that's fast to access in C++ + ground_truth_instances = [ + [convert_instances_to_cpp(self._gts[imgId, catId]) for catId in p.catIds] + for imgId in p.imgIds + ] + detected_instances = [ + [ + convert_instances_to_cpp(self._dts[imgId, catId], is_det=True) + for catId in p.catIds + ] + for imgId in p.imgIds + ] + ious = [[self.ious[imgId, catId] for catId in catIds] for imgId in p.imgIds] + + if not p.useCats: + # For each image, flatten per-category lists into a single list + ground_truth_instances = [ + [[o for c in i for o in c]] for i in ground_truth_instances + ] + detected_instances = [ + [[o for c in i for o in c]] for i in detected_instances + ] + + # Call C++ implementation of self.evaluateImgs() + self._evalImgs_cpp = self.module.COCOevalEvaluateImages( + p.areaRng, + maxDet, + p.iouThrs, + ious, + ground_truth_instances, + detected_instances, + ) + self._evalImgs = None + + self._paramsEval = copy.deepcopy(self.params) + toc = time.time() + print("COCOeval_opt.evaluate() finished in {:0.2f} seconds.".format(toc - tic)) + # >>>> End of code differences with original COCO API + + def accumulate(self): + """ + Accumulate per image evaluation results and store the result in self.eval. Does not + support changing parameter settings from those used by self.evaluate() + """ + print("Accumulating evaluation results...") + tic = time.time() + if not hasattr(self, "_evalImgs_cpp"): + print("Please run evaluate() first") + + self.eval = self.module.COCOevalAccumulate(self._paramsEval, self._evalImgs_cpp) + + # recall is num_iou_thresholds X num_categories X num_area_ranges X num_max_detections + self.eval["recall"] = np.array(self.eval["recall"]).reshape( + self.eval["counts"][:1] + self.eval["counts"][2:] + ) + + # precision and scores are num_iou_thresholds X num_recall_thresholds X num_categories X + # num_area_ranges X num_max_detections + self.eval["precision"] = np.array(self.eval["precision"]).reshape( + self.eval["counts"] + ) + self.eval["scores"] = np.array(self.eval["scores"]).reshape(self.eval["counts"]) + toc = time.time() + print( + "COCOeval_opt.accumulate() finished in {:0.2f} seconds.".format(toc - tic) + ) diff --git a/community/cv/ShipWise/mindyolo/models/__init__.py b/community/cv/ShipWise/mindyolo/models/__init__.py new file mode 100644 index 000000000..b6eb53fe7 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/__init__.py @@ -0,0 +1,28 @@ +from . import (heads, initializer, layers, losses, model_factory, yolov3, + yolov4, yolov5, yolov7, yolov8) + +__all__ = [] +__all__.extend(heads.__all__) +__all__.extend(layers.__all__) +__all__.extend(losses.__all__) +__all__.extend(yolov8.__all__) +__all__.extend(yolov7.__all__) +__all__.extend(yolov5.__all__) +__all__.extend(yolov4.__all__) +__all__.extend(yolov3.__all__) +__all__.extend(initializer.__all__) +__all__.extend(model_factory.__all__) + +# fixme: since yolov7 is used as both the file and function name, we need to import * after __all__ + +from .heads import * +from .initializer import * +from .layers import * +from .losses import * +from .model_factory import * +from .yolov3 import * +from .yolov4 import * +from .yolov5 import * +from .yolov7 import * +from .yolov8 import * +from .yolox import * diff --git a/community/cv/ShipWise/mindyolo/models/heads/__init__.py b/community/cv/ShipWise/mindyolo/models/heads/__init__.py new file mode 100644 index 000000000..593e3df83 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/heads/__init__.py @@ -0,0 +1,17 @@ +"""layers init""" +from .yolov3_head import * +from .yolov4_head import * +from .yolov5_head import * +from .yolov7_head import * +from .yolov8_head import * +from .yolox_head import * + + +__all__ = [ + "YOLOv3Head", + "YOLOv4Head", + "YOLOv5Head", + "YOLOv7Head", "YOLOv7AuxHead", + "YOLOv8Head", "YOLOv8SegHead", + "YOLOXHead" +] diff --git a/community/cv/ShipWise/mindyolo/models/heads/yolov3_head.py b/community/cv/ShipWise/mindyolo/models/heads/yolov3_head.py new file mode 100644 index 000000000..e28e5ef79 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/heads/yolov3_head.py @@ -0,0 +1,92 @@ +import math +import numpy as np + +import mindspore as ms +import mindspore.numpy as mnp +from mindspore import Parameter, Tensor, nn, ops + +from mindyolo.utils import logger +from ..layers.utils import meshgrid + + +class YOLOv3Head(nn.Cell): + """ + YOLOv3 Detect Head, convert the output result to a prediction box based on the anchor point. + """ + + def __init__(self, nc=80, anchors=(), stride=(), ch=()): # detection layer + super(YOLOv3Head, self).__init__() + + assert isinstance(anchors, (tuple, list)) and len(anchors) > 0 + assert isinstance(stride, (tuple, list)) and len(stride) > 0 + assert isinstance(ch, (tuple, list)) and len(ch) > 0 + + self.nc = nc # number of classes + self.no = nc + 5 # number of outputs per anchor + self.nl = len(anchors) # number of detection layers + self.na = len(anchors[0]) // 2 # number of anchors + + # anchor preprocess + anchors = np.array(anchors) + stride = np.array(stride) + anchors, anchor_grid = self._check_anchor_order( + anchors=anchors.reshape((self.nl, -1, 2)), + anchor_grid=anchors.reshape((self.nl, 1, -1, 1, 1, 2)), + stride=stride, + ) + anchors = anchors / stride.reshape((-1, 1, 1)) + + self.stride = Parameter(Tensor(stride, ms.int32), requires_grad=False) + self.anchors = Parameter(Tensor(anchors, ms.float32), requires_grad=False) # shape(nl,na,2) + self.anchor_grid = Parameter(Tensor(anchor_grid, ms.float32), requires_grad=False) # shape(nl,1,na,1,1,2) + + self.m = nn.CellList( + [nn.Conv2d(x, self.no * self.na, 1, pad_mode="valid", has_bias=True) for x in ch] + ) # output conv + + def construct(self, x): + z = () # inference output + outs = () + for i in range(self.nl): + out = self.m[i](x[i]) # conv + bs, _, ny, nx = out.shape # (bs,255,20,20) + out = out.view(bs, self.na, self.no, ny, nx).transpose((0, 1, 3, 4, 2)) # (bs,3,20,20,85) + outs += (out,) + + if not self.training: # inference + grid_tensor = self._make_grid(nx, ny, out.dtype) + + y = ops.Sigmoid()(out) + y[..., 0:2] = (y[..., 0:2] * 2.0 - 0.5 + grid_tensor) * self.stride[i] # xy + y[..., 2:4] = (y[..., 2:4] * 2) ** 2 * self.anchor_grid[i] # wh + z += (y.view(bs, -1, self.no),) + + return outs if self.training else (ops.concat(z, 1), outs) + + def initialize_biases(self, cf=None): # initialize biases into Detect(), cf is class frequency + # https://arxiv.org/abs/1708.02002 section 3.3 + m = self + for mi, s in zip(m.m, m.stride): # from + s = s.asnumpy() + b = mi.bias.view(m.na, -1).asnumpy() # conv.bias(255) to (3,85) + b[:, 4] += math.log(8 / (640 / s) ** 2) # obj (8 objects per 640 image) + b[:, 5:] += math.log(0.6 / (m.nc - 0.999999)) if cf is None else np.log(cf / cf.sum()) # cls + mi.bias = ops.assign(mi.bias, Tensor(b, ms.float32).view(-1)) + + @staticmethod + def _make_grid(nx=20, ny=20, dtype=ms.float32): + # FIXME: Not supported on a specific model of machine + xv, yv = meshgrid((mnp.arange(nx), mnp.arange(ny))) + return ops.cast(ops.stack((xv, yv), 2).view((1, 1, ny, nx, 2)), dtype) + + @staticmethod + def _check_anchor_order(anchors, anchor_grid, stride): + # Check anchor order against stride order for YOLO Detect() module m, and correct if necessary + a = np.prod(anchor_grid, -1).reshape((-1,)) # anchor area + da = a[-1] - a[0] # delta a + ds = stride[-1] - stride[0] # delta s + if np.sign(da) != np.sign(ds): # same order + logger.warning("Reversing anchor order") + anchors = anchors[::-1, ...] + anchor_grid = anchor_grid[::-1, ...] + return anchors, anchor_grid diff --git a/community/cv/ShipWise/mindyolo/models/heads/yolov4_head.py b/community/cv/ShipWise/mindyolo/models/heads/yolov4_head.py new file mode 100644 index 000000000..06a46f0fd --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/heads/yolov4_head.py @@ -0,0 +1,121 @@ +import mindspore as ms +from mindspore import Tensor, nn, ops + + +class YOLOv4Head(nn.Cell): + """ + YOLOv4 Detect Head, convert the output result to a prediction box based on the anchor point. + """ + + def __init__(self, nc=80, anchors=(), ch=()): # detection layer + super(YOLOv4Head, self).__init__() + + assert isinstance(anchors, (tuple, list)) and len(anchors) > 0 + assert isinstance(ch, (tuple, list)) and len(ch) > 0 + + self.nc = nc # number of classes + self.no = nc + 5 # number of outputs per anchor + self.nl = 3 # number of detection layers + self.na = len(anchors) // 3 # number of anchors + + self.m = nn.CellList( + [nn.Conv2d(x, self.no * self.na, 1, pad_mode="valid", has_bias=True) for x in ch] + ) # output conv + + # prediction on the default anchor boxes + self.detect_1 = DetectionBlock("l", anchors, self.no) + self.detect_2 = DetectionBlock("m", anchors, self.no) + self.detect_3 = DetectionBlock("s", anchors, self.no) + + def construct(self, x): + big_object_output = self.m[0](x[0]) + medium_object_output = self.m[1](x[1]) + small_object_output = self.m[2](x[2]) + bs = small_object_output.shape[0] + output_big = self.detect_1(big_object_output) + output_me = self.detect_2(medium_object_output) + output_small = self.detect_3(small_object_output) + if not self.training: + big = output_big.view(bs, -1, self.no) + me = output_me.view(bs, -1, self.no) + small = output_small.view(bs, -1, self.no) + return ops.concat((big, me, small), 1), (output_big, output_me, output_small) + + return output_big, output_me, output_small + + +class DetectionBlock(nn.Cell): + """ + YOLOv4 detection Network. It will finally output the detection result. + """ + + def __init__(self, scale, anchor_scales, no): + super(DetectionBlock, self).__init__() + if scale == "s": + idx = (6, 7, 8) + self.scale_x_y = 1.2 + self.offset_x_y = 0.1 + self.stride = 8 + elif scale == "m": + idx = (3, 4, 5) + self.scale_x_y = 1.1 + self.offset_x_y = 0.05 + self.stride = 16 + elif scale == "l": + idx = (0, 1, 2) + self.scale_x_y = 1.05 + self.offset_x_y = 0.025 + self.stride = 32 + else: + raise KeyError("Invalid scale value for DetectionBlock") + self.anchors = Tensor([anchor_scales[i] for i in idx], ms.float32) + self.num_anchors_per_scale = 3 + self.num_attrib = no + + self.sigmoid = ops.Sigmoid() + + def construct(self, x): + """construct method""" + num_batch = x.shape[0] + grid_size = x.shape[2:4] + input_shape = [size * self.stride for size in grid_size] + input_shape = Tensor(tuple(input_shape[::-1]), ms.float32) + + # Reshape and transpose the feature to [n, grid_size[0], grid_size[1], 3, num_attrib] + prediction = x.view(num_batch, self.num_anchors_per_scale, self.num_attrib, grid_size[0], grid_size[1]) + prediction = prediction.transpose((0, 3, 4, 1, 2)) + + range_x = range(grid_size[1]) + range_y = range(grid_size[0]) + grid_x = ops.cast(ops.tuple_to_array(range_x), ms.float32) + grid_y = ops.cast(ops.tuple_to_array(range_y), ms.float32) + # Tensor of shape [grid_size[0], grid_size[1], 1, 1] representing the coordinate of x/y axis for each grid + # [batch, gridx, gridy, 1, 1] + grid_x = ops.tile(grid_x.view(1, 1, -1, 1, 1), (1, grid_size[0], 1, 1, 1)) + grid_y = ops.tile(grid_y.view(1, -1, 1, 1, 1), (1, 1, grid_size[1], 1, 1)) + # Shape is [grid_size[0], grid_size[1], 1, 2] + grid = ops.concat((grid_x, grid_y), -1) + + box_xy = prediction[:, :, :, :, :2] + box_wh = prediction[:, :, :, :, 2:4] + box_confidence = prediction[:, :, :, :, 4:5] + box_probs = prediction[:, :, :, :, 5:] + + # gridsize1 is x + # gridsize0 is y + box_xy = (self.scale_x_y * self.sigmoid(box_xy) - self.offset_x_y + grid) / ops.cast( + ops.tuple_to_array((grid_size[1], grid_size[0])), ms.float32 + ) + # box_wh is w->h + box_wh = ops.exp(box_wh) * self.anchors / input_shape + box_confidence = self.sigmoid(box_confidence) + box_probs = self.sigmoid(box_probs) + + if self.training: + return prediction, box_xy, box_wh + box_xy *= input_shape + box_wh *= input_shape + return ops.concat((box_xy.astype(ms.float32), + box_wh.astype(ms.float32), + box_confidence.astype(ms.float32), + box_probs.astype(ms.float32)), -1) diff --git a/community/cv/ShipWise/mindyolo/models/heads/yolov5_head.py b/community/cv/ShipWise/mindyolo/models/heads/yolov5_head.py new file mode 100644 index 000000000..183e503ca --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/heads/yolov5_head.py @@ -0,0 +1,105 @@ +import math +import numpy as np + +import mindspore as ms +import mindspore.numpy as mnp +from mindspore import Parameter, Tensor, nn, ops + +from mindyolo.utils import logger +from ..layers.utils import meshgrid + + +class YOLOv5Head(nn.Cell): + def __init__(self, nc=80, anchors=(), stride=(), ch=()): # detection layer + super(YOLOv5Head, self).__init__() + + assert isinstance(anchors, (tuple, list)) and len(anchors) > 0 + assert isinstance(stride, (tuple, list)) and len(stride) > 0 + assert isinstance(ch, (tuple, list)) and len(ch) > 0 + + self.nc = nc # number of classes + self.no = nc + 5 # number of outputs per anchor + self.nl = len(anchors) # number of detection layers + self.na = len(anchors[0]) // 2 # number of anchors + + # anchor preprocess + anchors = np.array(anchors) + stride = np.array(stride) + anchors, anchor_grid = self._check_anchor_order( + anchors=anchors.reshape((self.nl, -1, 2)), + anchor_grid=anchors.reshape((self.nl, 1, -1, 1, 1, 2)), + stride=stride, + ) + anchors = anchors / stride.reshape((-1, 1, 1)) + + self.stride = Parameter(Tensor(stride, ms.int32), requires_grad=False) + self.anchors = Parameter(Tensor(anchors, ms.float32), requires_grad=False) # shape(nl,na,2) + self.anchor_grid = Parameter(Tensor(anchor_grid, ms.float32), requires_grad=False) # shape(nl,1,na,1,1,2) + + self.m = nn.CellList( + [nn.Conv2d(x, self.no * self.na, 1, pad_mode="valid", has_bias=True) for x in ch] + ) # output conv + + def construct(self, x): + z = () # inference output + outs = () + for i in range(self.nl): + out = self.m[i](x[i]) # conv + bs, _, ny, nx = out.shape # (bs,255,20,20) + out = ops.Transpose()(out.view(bs, self.na, self.no, ny, nx), (0, 1, 3, 4, 2)) # (bs,3,20,20,85) + out = out + outs += (out,) + + if not self.training: # inference + grid_tensor = self._make_grid(nx, ny, out.dtype) + + y = ops.Sigmoid()(out) + y[..., 0:2] = (y[..., 0:2] * 2.0 - 0.5 + grid_tensor) * self.stride[i] # xy + y[..., 2:4] = (y[..., 2:4] * 2) ** 2 * self.anchor_grid[i] # wh + z += (y.view(bs, -1, self.no),) + + # return outs + return outs if self.training else (ops.concat(z, 1), outs) + + def initialize_biases(self, cf=None): # initialize biases into Detect(), cf is class frequency + # https://arxiv.org/abs/1708.02002 section 3.3 + m = self + for mi, s in zip(m.m, m.stride): # from + s = s.asnumpy() + b = mi.bias.view(m.na, -1).asnumpy() # conv.bias(255) to (3,85) + b[:, 4] += math.log(8 / (640 / s) ** 2) # obj (8 objects per 640 image) + b[:, 5:] += math.log(0.6 / (m.nc - 0.999999)) if cf is None else np.log(cf / cf.sum()) # cls + mi.bias = ops.assign(mi.bias, Tensor(b, ms.float32).view(-1)) + + @staticmethod + def _make_grid(nx=20, ny=20, dtype=ms.float32): + # FIXME: Not supported on a specific model of machine + xv, yv = meshgrid((mnp.arange(nx), mnp.arange(ny))) + return ops.cast(ops.stack((xv, yv), 2).view((1, 1, ny, nx, 2)), dtype) + + @staticmethod + def _check_anchor_order(anchors, anchor_grid, stride): + # Check anchor order against stride order for YOLO Detect() module m, and correct if necessary + a = np.prod(anchor_grid, -1).reshape((-1,)) # anchor area + da = a[-1] - a[0] # delta a + ds = stride[-1] - stride[0] # delta s + if np.sign(da) != np.sign(ds): # same order + logger.warning("Reversing anchor order") + anchors = anchors[::-1, ...] + anchor_grid = anchor_grid[::-1, ...] + return anchors, anchor_grid + + def convert(self, z): + z = ops.concat(z, 1) + box = z[:, :, :4] + conf = z[:, :, 4:5] + score = z[:, :, 5:] + score *= conf + convert_matrix = get_convert_matrix() + box = ops.matmul(box, convert_matrix) + return (box, score) + + +@ops.constexpr(reuse_result=True) +def get_convert_matrix(): + return Tensor(np.array([[1, 0, 1, 0], [0, 1, 0, 1], [-0.5, 0, 0.5, 0], [0, -0.5, 0, 0.5]]), dtype=ms.float32) diff --git a/community/cv/ShipWise/mindyolo/models/heads/yolov7_head.py b/community/cv/ShipWise/mindyolo/models/heads/yolov7_head.py new file mode 100644 index 000000000..9c60cde9b --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/heads/yolov7_head.py @@ -0,0 +1,207 @@ +import math +import numpy as np + +import mindspore as ms +import mindspore.numpy as mnp +from mindspore import Parameter, Tensor, nn, ops + +from mindyolo.utils import logger +from ..layers.implicit import ImplicitA, ImplicitM +from ..layers.utils import meshgrid + + +class YOLOv7Head(nn.Cell): + """ + YOLOv7 Detect Head, convert the output result to a prediction box based on the anchor point. + """ + + def __init__(self, nc=80, anchors=(), stride=(), ch=()): # detection layer + super(YOLOv7Head, self).__init__() + + assert isinstance(anchors, (tuple, list)) and len(anchors) > 0 + assert isinstance(stride, (tuple, list)) and len(stride) > 0 + assert isinstance(ch, (tuple, list)) and len(ch) > 0 + + self.nc = nc # number of classes + self.no = nc + 5 # number of outputs per anchor + self.nl = len(anchors) # number of detection layers + self.na = len(anchors[0]) // 2 # number of anchors + + # anchor preprocess + anchors = np.array(anchors) + stride = np.array(stride) + anchors, anchor_grid = self._check_anchor_order( + anchors=anchors.reshape((self.nl, -1, 2)), + anchor_grid=anchors.reshape((self.nl, 1, -1, 1, 1, 2)), + stride=stride, + ) + anchors = anchors / stride.reshape((-1, 1, 1)) + + self.stride = Parameter(Tensor(stride, ms.int32), requires_grad=False) + self.anchors = Parameter(Tensor(anchors, ms.float32), requires_grad=False) # shape(nl,na,2) + self.anchor_grid = Parameter(Tensor(anchor_grid, ms.float32), requires_grad=False) # shape(nl,1,na,1,1,2) + self.convert_matrix = Parameter( + Tensor(np.array([[1, 0, 1, 0], [0, 1, 0, 1], [-0.5, 0, 0.5, 0], [0, -0.5, 0, 0.5]]), dtype=ms.float32), + requires_grad=False, + ) + + self.m = nn.CellList( + [nn.Conv2d(x, self.no * self.na, 1, pad_mode="valid", has_bias=True) for x in ch] + ) # output conv + + self.ia = nn.CellList([ImplicitA(x) for x in ch]) + self.im = nn.CellList([ImplicitM(self.no * self.na) for _ in ch]) + + def construct(self, x): + z = () # inference output + outs = () + for i in range(self.nl): + out = self.m[i](self.ia[i](x[i])) # conv + out = self.im[i](out) + bs, _, ny, nx = out.shape # (bs,255,20,20) + out = out.view(bs, self.na, self.no, ny, nx).transpose((0, 1, 3, 4, 2)) # (bs,3,20,20,85) + outs += (out,) + + if not self.training: # inference + grid_tensor = self._make_grid(nx, ny, out.dtype) + + # y = ops.sigmoid(out) + y = ops.Sigmoid()(out) + y[..., 0:2] = (y[..., 0:2] * 2.0 - 0.5 + grid_tensor) * self.stride[i] # xy + y[..., 2:4] = (y[..., 2:4] * 2) ** 2 * self.anchor_grid[i] # wh + z += (y.view(bs, -1, self.no),) + + return outs if self.training else (ops.concat(z, 1), outs) + + def initialize_biases(self, cf=None): # initialize biases into Detect(), cf is class frequency + # https://arxiv.org/abs/1708.02002 section 3.3 + m = self + for mi, s in zip(m.m, m.stride): # from + s = s.asnumpy() + b = mi.bias.view(m.na, -1).asnumpy() # conv.bias(255) to (3,85) + b[:, 4] += math.log(8 / (640 / s) ** 2) # obj (8 objects per 640 image) + b[:, 5:] += math.log(0.6 / (m.nc - 0.99)) if cf is None else np.log(cf / cf.sum()) # cls + mi.bias = ops.assign(mi.bias, Tensor(b, ms.float32).view(-1)) + + @staticmethod + def _make_grid(nx=20, ny=20, dtype=ms.float32): + # FIXME: Not supported on a specific model of machine + xv, yv = meshgrid((mnp.arange(nx), mnp.arange(ny))) + return ops.cast(ops.stack((xv, yv), 2).view((1, 1, ny, nx, 2)), dtype) + + @staticmethod + def _check_anchor_order(anchors, anchor_grid, stride): + # Check anchor order against stride order for YOLO Detect() module m, and correct if necessary + a = np.prod(anchor_grid, -1).reshape((-1,)) # anchor area + da = a[-1] - a[0] # delta a + ds = stride[-1] - stride[0] # delta s + if np.sign(da) != np.sign(ds): # same order + logger.warning("Reversing anchor order") + anchors = anchors[::-1, ...] + anchor_grid = anchor_grid[::-1, ...] + return anchors, anchor_grid + + +class YOLOv7AuxHead(nn.Cell): + """ + YOLOv7 Detect Aux Head, convert the output result to a prediction box based on the anchor point. + """ + + def __init__(self, nc=80, anchors=(), stride=(), ch=()): # detection layer + super(YOLOv7AuxHead, self).__init__() + + assert isinstance(anchors, (tuple, list)) and len(anchors) > 0 + assert isinstance(stride, (tuple, list)) and len(stride) > 0 + assert isinstance(ch, (tuple, list)) and len(ch) > 0 + + self.nc = nc # number of classes + self.no = nc + 5 # number of outputs per anchor + self.nl = len(anchors) # number of detection layers + self.na = len(anchors[0]) // 2 # number of anchors + + # anchor preprocess + anchors = np.array(anchors) + stride = np.array(stride) + anchors, anchor_grid = self._check_anchor_order( + anchors=anchors.reshape((self.nl, -1, 2)), + anchor_grid=anchors.reshape((self.nl, 1, -1, 1, 1, 2)), + stride=stride, + ) + anchors /= stride.reshape((-1, 1, 1)) + + self.stride = Parameter(Tensor(stride, ms.int32), requires_grad=False) + self.anchors = Parameter(Tensor(anchors, ms.float32), requires_grad=False) # shape(nl,na,2) + self.anchor_grid = Parameter(Tensor(anchor_grid, ms.float32), requires_grad=False) # shape(nl,1,na,1,1,2) + self.convert_matrix = Parameter( + Tensor([[1, 0, 1, 0], [0, 1, 0, 1], [-0.5, 0, 0.5, 0], [0, -0.5, 0, 0.5]], dtype=ms.float32), + requires_grad=False, + ) + + self.m = nn.CellList( + [nn.Conv2d(x, self.no * self.na, 1, pad_mode="valid", has_bias=True) for x in ch[: self.nl]] + ) # output conv + self.m2 = nn.CellList( + [nn.Conv2d(x, self.no * self.na, 1, pad_mode="valid", has_bias=True) for x in ch[self.nl :]] + ) # output conv + + self.ia = nn.CellList([ImplicitA(x) for x in ch[: self.nl]]) + self.im = nn.CellList([ImplicitM(self.no * self.na) for _ in ch[: self.nl]]) + + def construct(self, x): + z = () # inference output + outs_1 = () + outs_2 = () + for i in range(self.nl): + out1 = self.m[i](self.ia[i](x[i])) # conv + out1 = self.im[i](out1) + bs, _, ny, nx = out1.shape # x(bs,255,20,20) to x(bs,3,20,20,85) + out1 = ops.Transpose()(out1.view(bs, self.na, self.no, ny, nx), (0, 1, 3, 4, 2)) + outs_1 += (out1,) + + out2 = self.m2[i](x[i + self.nl]) + out2 = ops.Transpose()(out2.view(bs, self.na, self.no, ny, nx), (0, 1, 3, 4, 2)) + outs_2 += (out2,) + + if not self.training: # inference + grid_tensor = self._make_grid(nx, ny, out1.dtype) + + # y = ops.sigmoid(out1) + y = ops.Sigmoid()(out1) + y[..., 0:2] = (y[..., 0:2] * 2.0 - 0.5 + grid_tensor) * self.stride[i] # xy + y[..., 2:4] = (y[..., 2:4] * 2) ** 2 * self.anchor_grid[i] # wh + z += (y.view(bs, -1, self.no),) + outs = outs_1 + outs_2 + return outs if self.training else (ops.concat(z, 1), outs_1) + + def _initialize_aux_biases(self, cf=None): # initialize biases into Detect(), cf is class frequency + # https://arxiv.org/abs/1708.02002 section 3.3 + m = self + for mi, mi2, s in zip(m.m, m.m2, m.stride): # from + s = s.asnumpy() + + b = mi.bias.view(m.na, -1).asnumpy() # conv.bias(255) to (3,85) + b[:, 4] += math.log(8 / (640 / s) ** 2) # obj (8 objects per 640 image) + b[:, 5:] += math.log(0.6 / (m.nc - 0.99)) if cf is None else np.log(cf / cf.sum()) # cls + mi.bias = ops.assign(mi.bias, Tensor(b, ms.float32).view(-1)) + + b2 = mi2.bias.view(m.na, -1).asnumpy() # conv.bias(255) to (3,85) + b2[:, 4] += math.log(8 / (640 / s) ** 2) # obj (8 objects per 640 image) + b2[:, 5:] += math.log(0.6 / (m.nc - 0.99)) if cf is None else np.log(cf / cf.sum()) # cls + mi2.bias = ops.assign(mi2.bias, Tensor(b2, ms.float32).view(-1)) + + @staticmethod + def _make_grid(nx=20, ny=20, dtype=ms.float32): + xv, yv = meshgrid((mnp.arange(nx), mnp.arange(ny))) + return ops.stack((xv, yv), 2).view((1, 1, ny, nx, 2)).astype(dtype) + + @staticmethod + def _check_anchor_order(anchors, anchor_grid, stride): + # Check anchor order against stride order for YOLO Detect() module m, and correct if necessary + a = np.prod(anchor_grid, -1).reshape((-1,)) # anchor area + da = a[-1] - a[0] # delta a + ds = stride[-1] - stride[0] # delta s + if np.sign(da) != np.sign(ds): # same order + logger.warning("Reversing anchor order") + anchors = anchors[::-1, ...] + anchor_grid = anchor_grid[::-1, ...] + return anchors, anchor_grid diff --git a/community/cv/ShipWise/mindyolo/models/heads/yolov8_head.py b/community/cv/ShipWise/mindyolo/models/heads/yolov8_head.py new file mode 100644 index 000000000..c821409fc --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/heads/yolov8_head.py @@ -0,0 +1,155 @@ +import math +import numpy as np + +import mindspore as ms +import mindspore.numpy as mnp +from mindspore import Parameter, Tensor, nn, ops + +from ..layers import DFL, ConvNormAct, Identity +from ..layers.utils import meshgrid + + +class YOLOv8Head(nn.Cell): + # YOLOv8 Detect head for detection models + def __init__(self, nc=80, reg_max=16, stride=(), ch=(), sync_bn=False): # detection layer + super().__init__() + # self.dynamic = False # force grid reconstruction + + assert isinstance(stride, (tuple, list)) and len(stride) > 0 + assert isinstance(ch, (tuple, list)) and len(ch) > 0 + + self.nc = nc # number of classes + self.nl = len(ch) # number of detection layers + self.reg_max = reg_max # DFL channels (ch[0] // 16 to scale 4/8/12/16/20 for n/s/m/l/x) + self.no = nc + self.reg_max * 4 # number of outputs per anchor + self.stride = Parameter(Tensor(stride, ms.int32), requires_grad=False) + + c2, c3 = max((16, ch[0] // 4, self.reg_max * 4)), max(ch[0], self.nc) # channels + self.cv2 = nn.CellList( + [ + nn.SequentialCell( + [ + ConvNormAct(x, c2, 3, sync_bn=sync_bn), + ConvNormAct(c2, c2, 3, sync_bn=sync_bn), + nn.Conv2d(c2, 4 * self.reg_max, 1, has_bias=True), + ] + ) + for x in ch + ] + ) + self.cv3 = nn.CellList( + [ + nn.SequentialCell( + [ + ConvNormAct(x, c3, 3, sync_bn=sync_bn), + ConvNormAct(c3, c3, 3, sync_bn=sync_bn), + nn.Conv2d(c3, self.nc, 1, has_bias=True), + ] + ) + for x in ch + ] + ) + self.dfl = DFL(self.reg_max) if self.reg_max > 1 else Identity() + + def construct(self, x): + shape = x[0].shape # BCHW + out = () + for i in range(self.nl): + out += (ops.concat((self.cv2[i](x[i]), self.cv3[i](x[i])), 1),) + + p = None + if not self.training: + _anchors, _strides = self.make_anchors(out, self.stride, 0.5) + _anchors, _strides = _anchors.swapaxes(0, 1), _strides.swapaxes(0, 1) + _x = () + for i in range(len(out)): + _x += (out[i].view(shape[0], self.no, -1),) + _x = ops.concat(_x, 2) + box, cls = _x[:, : self.reg_max * 4, :], _x[:, self.reg_max * 4 : self.reg_max * 4 + self.nc, :] + # box, cls = ops.concat([xi.view(shape[0], self.no, -1) for xi in x], 2).split((self.reg_max * 4, self.nc), 1) + dbox = self.dist2bbox(self.dfl(box), ops.expand_dims(_anchors, 0), xywh=True, axis=1) * _strides + p = ops.concat((dbox, ops.Sigmoid()(cls)), 1) + p = ops.transpose(p, (0, 2, 1)) # (bs, no-84, nbox) -> (bs, nbox, no-84) + + return out if self.training else (p, out) + + @staticmethod + def make_anchors(feats, strides, grid_cell_offset=0.5): + """Generate anchors from features.""" + anchor_points, stride_tensor = (), () + dtype = feats[0].dtype + for i, stride in enumerate(strides): + _, _, h, w = feats[i].shape + sx = mnp.arange(w, dtype=dtype) + grid_cell_offset # shift x + sy = mnp.arange(h, dtype=dtype) + grid_cell_offset # shift y + # FIXME: Not supported on a specific model of machine + sy, sx = meshgrid((sy, sx), indexing="ij") + anchor_points += (ops.stack((sx, sy), -1).view(-1, 2),) + stride_tensor += (ops.ones((h * w, 1), dtype) * stride,) + return ops.concat(anchor_points), ops.concat(stride_tensor) + + @staticmethod + def dist2bbox(distance, anchor_points, xywh=True, axis=-1): + """Transform distance(ltrb) to box(xywh or xyxy).""" + lt, rb = ops.split(distance, split_size_or_sections=2, axis=axis) + x1y1 = anchor_points - lt + x2y2 = anchor_points + rb + if xywh: + c_xy = (x1y1 + x2y2) / 2 + wh = x2y2 - x1y1 + return ops.concat((c_xy, wh), axis) # xywh bbox + return ops.concat((x1y1, x2y2), axis) # xyxy bbox + + def initialize_biases(self): + # Initialize Detect() biases, WARNING: requires stride availability + m = self + for a, b, s in zip(m.cv2, m.cv3, m.stride): # from + s = s.asnumpy() + a[-1].bias = ops.assign(a[-1].bias, Tensor(np.ones(a[-1].bias.shape), ms.float32)) + b_np = b[-1].bias.data.asnumpy() + b_np[: m.nc] = math.log(5 / m.nc / (640 / int(s)) ** 2) + b[-1].bias = ops.assign(b[-1].bias, Tensor(b_np, ms.float32)) + + +class YOLOv8SegHead(YOLOv8Head): + """YOLOv8 Segment head for segmentation models.""" + + def __init__(self, nc=80, reg_max=16, nm=32, npr=256, stride=(), ch=()): + """Initialize the YOLO model attributes such as the number of masks, prototypes, and the convolution layers.""" + super().__init__(nc, reg_max, stride, ch) + self.nm = nm # number of masks + self.npr = npr # number of protos + self.proto = Proto(ch[0], self.npr, self.nm) # protos + self.detect = YOLOv8Head.construct + + c4 = max(ch[0] // 4, self.nm) + self.cv4 = nn.CellList([nn.SequentialCell(ConvNormAct(x, c4, 3), ConvNormAct(c4, c4, 3), nn.Conv2d(c4, self.nm, 1, has_bias=True)) for x in ch]) + + def construct(self, x): + """Return model outputs and mask coefficients if training, otherwise return outputs and mask coefficients.""" + p = self.proto(x[0]) # mask protos + bs = p.shape[0] # batch size + + mc = ops.cat([self.cv4[i](x[i]).view(bs, self.nm, -1) for i in range(self.nl)], 2) # mask coefficients + x = self.detect(self, x) # x: out if self.training else (p, out) + if self.training: + return x, mc, p + + mc = ops.transpose(mc, (0, 2, 1)) # (bs, 32, nbox) -> (bs, nbox, 32) + # cat: (bs, nbox, no-84), (bs, nbox, 32) -> (bs, nbox, 84+32) + return ops.cat([x[0], mc], 2), (x[1], mc, p) + + +class Proto(nn.Cell): + """YOLOv8 mask Proto module for segmentation models.""" + + def __init__(self, c1, c_=256, c2=32): # ch_in, number of protos, number of masks + super().__init__() + self.cv1 = ConvNormAct(c1, c_, k=3) + self.upsample = nn.Conv2dTranspose(c_, c_, 2, 2, padding=0, has_bias=True) # nn.Upsample(scale_factor=2, mode='nearest') + self.cv2 = ConvNormAct(c_, c_, k=3) + self.cv3 = ConvNormAct(c_, c2) + + def construct(self, x): + """Performs a forward pass through layers using an upsampled input image.""" + return self.cv3(self.cv2(self.upsample(self.cv1(x)))) diff --git a/community/cv/ShipWise/mindyolo/models/heads/yolox_head.py b/community/cv/ShipWise/mindyolo/models/heads/yolox_head.py new file mode 100644 index 000000000..a74598a9b --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/heads/yolox_head.py @@ -0,0 +1,127 @@ +import math + +import mindspore as ms +from mindspore import Tensor, nn, ops +from mindspore import numpy as mnp +from mindspore.common import initializer as init + +from mindyolo.models.layers.conv import ConvNormAct, DWConvNormAct +from ..layers.utils import meshgrid + + +class YOLOXHead(nn.Cell): + def __init__( + self, + nc=80, + stride=(8, 16, 32), + ch=(256, 512, 1024), + is_standard_backbone=True, + act=True, + depth_wise=False, + sync_bn=False, + ): + """ + YOlOx head + Args: + is_standard_backbone: whether the predecessor backbone is a standard one or darknet53. default, True + """ + super().__init__() + assert isinstance(stride, (tuple, list)) and len(stride) > 0 + assert isinstance(ch, (tuple, list)) and len(ch) > 0 + + self.nc = nc + self.nl = len(ch) + self.no = nc + 4 + 1 + self.stride = Tensor(stride, ms.int32) + + self.stems = nn.CellList() # len = num_layer + self.cls_convs = nn.CellList() + self.reg_convs = nn.CellList() + self.cls_preds = nn.CellList() + self.reg_preds = nn.CellList() + self.obj_preds = nn.CellList() + + hidden_ch = ch[2] // 4 if is_standard_backbone else 256 + HeadCNA = DWConvNormAct if depth_wise else ConvNormAct + for i in range(self.nl): # three kind of resolution, 80, 40, 20 + self.stems.append(ConvNormAct(ch[i], hidden_ch, 1, act=act, sync_bn=sync_bn)) + self.cls_convs.append( + nn.SequentialCell( + [ + HeadCNA(hidden_ch, hidden_ch, 3, act=act, sync_bn=sync_bn), + HeadCNA(hidden_ch, hidden_ch, 3, act=act, sync_bn=sync_bn), + ] + ) + ) + self.reg_convs.append( + nn.SequentialCell( + [ + HeadCNA(hidden_ch, hidden_ch, 3, act=act, sync_bn=sync_bn), + HeadCNA(hidden_ch, hidden_ch, 3, act=act, sync_bn=sync_bn), + ] + ) + ) + self.cls_preds.append(nn.Conv2d(hidden_ch, self.nc, 1, pad_mode="pad", has_bias=True)) + self.reg_preds.append(nn.Conv2d(hidden_ch, 4, 1, pad_mode="pad", has_bias=True)) + self.obj_preds.append(nn.Conv2d(hidden_ch, 1, 1, pad_mode="pad", has_bias=True)) + + def construct(self, feat_list): + assert isinstance(feat_list, (tuple, list)) and len(feat_list) == self.nl + outputs = [] + for i in range(self.nl): # 80, 40, 20 + # Get head features + x = self.stems[i](feat_list[i]) + + cls_feat = self.cls_convs[i](x) + cls_output = self.cls_preds[i](cls_feat) + + reg_feat = self.reg_convs[i](x) + reg_output = self.reg_preds[i](reg_feat) + obj_output = self.obj_preds[i](reg_feat) + + # Convert to origin image scale (640) + output = ( + ops.concat([reg_output, obj_output, cls_output], 1) + if self.training + else ops.concat([reg_output, ops.sigmoid(obj_output), ops.sigmoid(cls_output)], 1) + ) + output = self.convert_to_origin_scale(output, stride=self.stride[i]) + outputs.append(output) + outputs_cat = ops.concat(outputs, 1) + return outputs_cat if self.training else (outputs_cat, 1) + + def initialize_biases(self, prior_prob=1e-2): + for i in range(self.nl): # 80, 40, 20 + for cell in [self.cls_preds[i], self.obj_preds[i]]: + cell.bias.set_data( + init.initializer(-math.log((1 - prior_prob) / prior_prob), cell.bias.shape, cell.bias.dtype) + ) + + def convert_to_origin_scale(self, output, stride): + """map to origin image scale for each fpn""" + batch_size = ops.shape(output)[0] + grid_size = ops.shape(output)[2:4] + stride = ops.cast(stride, output.dtype) + + # reshape predictions + output = ops.transpose(output, (0, 2, 3, 1)) # (bs,85,80,80)-->(bs, 80, 80, 85) + output = ops.reshape(output, (batch_size, 1 * grid_size[0] * grid_size[1], -1)) # bs, 6400, 85 + + # make grid + grid = self._make_grid(nx=grid_size[1], ny=grid_size[0], dtype=output.dtype) # (1,1,80,80,2) + grid = ops.reshape(grid, (1, -1, 2)) # grid(1, 6400, 2) + + # feature map scale to origin scale + output_xy = output[..., :2] + output_xy = (output_xy + grid) * stride + output_wh = output[..., 2:4] + output_wh = ops.exp(output_wh) * stride + output_other = output[..., 4:] + output_t = ops.concat([output_xy, output_wh, output_other], -1) + return output_t # bs, 6400, 85 + + @staticmethod + def _make_grid(nx=20, ny=20, dtype=ms.float32): + # FIXME: Not supported on a specific model of machine + xv, yv = meshgrid((mnp.arange(nx), mnp.arange(ny))) + return ops.cast(ops.stack((xv, yv), 2).view((1, 1, ny, nx, 2)), dtype) diff --git a/community/cv/ShipWise/mindyolo/models/initializer.py b/community/cv/ShipWise/mindyolo/models/initializer.py new file mode 100644 index 000000000..39f42f350 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/initializer.py @@ -0,0 +1,45 @@ +import math + +from mindspore import nn +from mindspore.common import initializer as init + +__all__ = ["initialize_defult"] + + +def initialize_defult(model): + for _, cell in model.cells_and_names(): + if isinstance(cell, nn.Conv2d): + cell.weight.set_data( + init.initializer(init.HeUniform(negative_slope=math.sqrt(5)), cell.weight.shape, cell.weight.dtype) + ) + if cell.bias is not None: + fan_in, _ = _calculate_fan_in_and_fan_out(cell.weight.shape) + bound = 1 / math.sqrt(fan_in) + cell.bias.set_data(init.initializer(init.Uniform(bound), cell.bias.shape, cell.bias.dtype)) + elif isinstance(cell, nn.Dense): + cell.weight.set_data( + init.initializer(init.HeUniform(negative_slope=math.sqrt(5)), cell.weight.shape, cell.weight.dtype) + ) + if cell.bias is not None: + fan_in, _ = _calculate_fan_in_and_fan_out(cell.weight.shape) + bound = 1 / math.sqrt(fan_in) + cell.bias.set_data(init.initializer(init.Uniform(bound), cell.bias.shape, cell.bias.dtype)) + + +def _calculate_fan_in_and_fan_out(shape): + dimensions = len(shape) + if dimensions < 2: + raise ValueError("Fan in and fan out can not be computed for tensor with fewer than 2 dimensions") + + num_input_fmaps = shape[1] + num_output_fmaps = shape[0] + receptive_field_size = 1 + if dimensions > 2: + # math.prod is not always available, accumulate the product manually + # we could use functools.reduce but that is not supported by TorchScript + for s in shape[2:]: + receptive_field_size *= s + fan_in = num_input_fmaps * receptive_field_size + fan_out = num_output_fmaps * receptive_field_size + + return fan_in, fan_out diff --git a/community/cv/ShipWise/mindyolo/models/layers/__init__.py b/community/cv/ShipWise/mindyolo/models/layers/__init__.py new file mode 100644 index 000000000..a86b9485a --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/layers/__init__.py @@ -0,0 +1,37 @@ +"""layers init""" +from .activation import * +from .bottleneck import * +from .common import * +from .conv import * +from .implicit import * +from .pool import * +from .spp import * +from .upsample import * + +__all__ = [ + "Swish", + "Shortcut", + "Concat", + "ReOrg", + "Identity", + "DFL", + "ConvNormAct", + "RepConv", + "DownC", + "Focus", + "Bottleneck", + "C3", + "C2f", + "DWConvNormAct", + "DWBottleneck", + "DWC3", + "ImplicitA", + "ImplicitM", + "MP", + "SP", + "MaxPool2d", + "SPPCSPC", + "SPPF", + "Upsample", + "Residualblock", +] diff --git a/community/cv/ShipWise/mindyolo/models/layers/activation.py b/community/cv/ShipWise/mindyolo/models/layers/activation.py new file mode 100644 index 000000000..59e051bf9 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/layers/activation.py @@ -0,0 +1,17 @@ +""" +Custom activation operators. +""" +from mindspore import nn, ops + + +class Swish(nn.Cell): + """ + Swish activation function: x * sigmoid(βx). If beta equals 1, you can use nn.SiLU instead. + """ + + def __init__(self, beta=1.0): + super().__init__() + self.beta = beta + + def construct(self, x): + return x * ops.sigmoid(self.beta * x) diff --git a/community/cv/ShipWise/mindyolo/models/layers/bottleneck.py b/community/cv/ShipWise/mindyolo/models/layers/bottleneck.py new file mode 100644 index 000000000..4bd9bb81d --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/layers/bottleneck.py @@ -0,0 +1,138 @@ +from mindspore import nn, ops + +from .conv import ConvNormAct, DWConvNormAct + + +class Bottleneck(nn.Cell): + # Standard bottleneck + def __init__( + self, c1, c2, shortcut=True, k=(1, 3), g=(1, 1), e=0.5, act=True, momentum=0.97, eps=1e-3, sync_bn=False + ): # ch_in, ch_out, shortcut, kernels, groups, expand + super().__init__() + c_ = int(c2 * e) # hidden channels + self.conv1 = ConvNormAct(c1, c_, k[0], 1, g=g[0], act=act, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.conv2 = ConvNormAct(c_, c2, k[1], 1, g=g[1], act=act, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.add = shortcut and c1 == c2 + + def construct(self, x): + if self.add: + out = x + self.conv2(self.conv1(x)) + else: + out = self.conv2(self.conv1(x)) + return out + + +class Residualblock(nn.Cell): + def __init__( + self, c1, c2, k=(1, 3), g=(1, 1), act=True, momentum=0.97, eps=1e-3, sync_bn=False + ): # ch_in, ch_out, kernels, groups, expand + super().__init__() + self.conv1 = ConvNormAct(c1, c2, k[0], 1, g=g[0], act=act, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.conv2 = ConvNormAct(c2, c2, k[1], 1, g=g[1], act=act, momentum=momentum, eps=eps, sync_bn=sync_bn) + + def construct(self, x): + out = x + self.conv2(self.conv1(x)) + return out + + +class C3(nn.Cell): + # CSP Bottleneck with 3 convolutions + def __init__(self, c1, c2, n=1, shortcut=True, e=0.5, momentum=0.97, eps=1e-3, sync_bn=False): + super(C3, self).__init__() + c_ = int(c2 * e) # hidden channels + self.conv1 = ConvNormAct(c1, c_, 1, 1, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.conv2 = ConvNormAct(c1, c_, 1, 1, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.conv3 = ConvNormAct(2 * c_, c2, 1, momentum=momentum, eps=eps, sync_bn=sync_bn) # act=FReLU(c2) + self.m = nn.SequentialCell( + [ + Bottleneck(c_, c_, shortcut, k=(1, 3), e=1.0, momentum=momentum, eps=eps, sync_bn=sync_bn) + for _ in range(n) + ] + ) + self.concat = ops.Concat(axis=1) + + def construct(self, x): + c1 = self.conv1(x) + c2 = self.m(c1) + c3 = self.conv2(x) + c4 = self.concat((c2, c3)) + c5 = self.conv3(c4) + + return c5 + + +class C2f(nn.Cell): + # CSP Bottleneck with 2 convolutions + def __init__( + self, c1, c2, n=1, shortcut=False, g=1, e=0.5, momentum=0.97, eps=1e-3, sync_bn=False + ): # ch_in, ch_out, number, shortcut, groups, expansion + super().__init__() + _c = int(c2 * e) # hidden channels + self.cv1 = ConvNormAct(c1, 2 * _c, 1, 1, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.cv2 = ConvNormAct( + (2 + n) * _c, c2, 1, momentum=momentum, eps=eps, sync_bn=sync_bn + ) # optional act=FReLU(c2) + self.m = nn.CellList( + [ + Bottleneck(_c, _c, shortcut, k=(3, 3), g=(1, g), e=1.0, momentum=momentum, eps=eps, sync_bn=sync_bn) + for _ in range(n) + ] + ) + + def construct(self, x): + y = () + x = self.cv1(x) + _c = x.shape[1] // 2 + x_tuple = ops.split(x, axis=1, split_size_or_sections=_c) + y += x_tuple + for i in range(len(self.m)): + m = self.m[i] + out = m(y[-1]) + y += (out,) + + return self.cv2(ops.concat(y, axis=1)) + + +class DWBottleneck(nn.Cell): + # depthwise bottleneck used in yolox nano scale + def __init__( + self, c1, c2, shortcut=True, k=(1, 3), e=0.5, act=True, momentum=0.97, eps=1e-3, sync_bn=False + ): # ch_in, ch_out, shortcut, groups, kernels, expand + super().__init__() + c_ = int(c2 * e) # hidden channels + self.conv1 = ConvNormAct(c1, c_, k[0], 1, act=True, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.conv2 = DWConvNormAct(c_, c2, k[1], 1, act=True, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.add = shortcut and c1 == c2 + + def construct(self, x): + if self.add: + out = x + self.conv2(self.conv1(x)) + else: + out = self.conv2(self.conv1(x)) + return out + + +class DWC3(nn.Cell): + # depthwise DwC3 used in yolox nano scale, similar as C3 + def __init__(self, c1, c2, n=1, shortcut=True, e=0.5, momentum=0.97, eps=1e-3, sync_bn=False): + super(DWC3, self).__init__() + c_ = int(c2 * e) # hidden channels + self.conv1 = ConvNormAct(c1, c_, 1, 1, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.conv2 = ConvNormAct(c1, c_, 1, 1, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.conv3 = ConvNormAct(2 * c_, c2, 1, momentum=momentum, eps=eps, sync_bn=sync_bn) # act=FReLU(c2) + self.m = nn.SequentialCell( + [ + DWBottleneck(c_, c_, shortcut, k=(1, 3), e=1.0, momentum=momentum, eps=eps, sync_bn=sync_bn) + for _ in range(n) + ] + ) + self.concat = ops.Concat(axis=1) + + def construct(self, x): + c1 = self.conv1(x) + c2 = self.m(c1) + c3 = self.conv2(x) + c4 = self.concat((c2, c3)) + c5 = self.conv3(c4) + + return c5 diff --git a/community/cv/ShipWise/mindyolo/models/layers/common.py b/community/cv/ShipWise/mindyolo/models/layers/common.py new file mode 100644 index 000000000..5c45f02d6 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/layers/common.py @@ -0,0 +1,73 @@ +import numpy as np + +import mindspore as ms +from mindspore import Tensor, nn, ops + + +class Shortcut(nn.Cell): + """ + Shortcut layer. + """ + + def construct(self, x): + if isinstance(x, (tuple, list)) and len(x) == 2: + return x[0] + x[1] + return x + + +class Concat(nn.Cell): + """ + Connect tensor in the specified axis. + """ + + def __init__(self, axis=1): + super(Concat, self).__init__() + self.axis = axis + + def construct(self, x): + return ops.concat(x, self.axis) + + +class ReOrg(nn.Cell): + """ + Reorganize the input Tensor (b, c, w, h) into a new shape (b, 4c, w/2, h/2). + """ + + def __init__(self): + super(ReOrg, self).__init__() + + def construct(self, x): + # in: (b,c,w,h) -> out: (b,4c,w/2,h/2) + x1 = x[:, :, ::2, ::2] + x2 = x[:, :, 1::2, ::2] + x3 = x[:, :, ::2, 1::2] + x4 = x[:, :, 1::2, 1::2] + out = ops.concat((x1, x2, x3, x4), 1) + return out + + +class Identity(nn.Cell): + def construct(self, x): + return x + + +class DFL(nn.Cell): + # Integral module of Distribution Focal Loss (DFL) proposed in Generalized Focal Loss https://ieeexplore.ieee.org/document/9792391 + def __init__(self, c1=16): + super().__init__() + self.conv = nn.Conv2d(c1, 1, 1, has_bias=False) + self.conv.weight.requires_grad = False + self.c1 = c1 + self.softmax = ops.Softmax(axis=1) + + def construct(self, x): + b, c, a = x.shape # batch, channels, anchors + x = self.softmax(x.view(b, 4, self.c1, a).swapaxes(2, 1)) + x = self.conv(x) + x = x.view(b, 4, a) + return x + + def initialize_conv_weight(self): + self.conv.weight = ops.assign( + self.conv.weight, Tensor(np.arange(self.c1).reshape((1, self.c1, 1, 1)), dtype=ms.float32) + ) diff --git a/community/cv/ShipWise/mindyolo/models/layers/conv.py b/community/cv/ShipWise/mindyolo/models/layers/conv.py new file mode 100644 index 000000000..ff801ec39 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/layers/conv.py @@ -0,0 +1,168 @@ +from mindspore import nn, ops + +from .common import Identity +from .utils import autopad + + +class ConvNormAct(nn.Cell): + """Conv2d + BN + Act + + Args: + c1 (int): In channels, the channel number of the input tensor of the Conv2d layer. + c2 (int): Out channels, the channel number of the output tensor of the Conv2d layer. + k (Union[int, tuple[int]]): Kernel size, Specifies the height and width of the 2D convolution kernel. + The data type is an integer or a tuple of two integers. An integer represents the height + and width of the convolution kernel. A tuple of two integers represents the height + and width of the convolution kernel respectively. Default: 1. + s (Union[int, tuple[int]]): Stride, the movement stride of the 2D convolution kernel. + The data type is an integer or a tuple of two integers. An integer represents the movement step size + in both height and width directions. A tuple of two integers represents the movement step size in the height + and width directions respectively. Default: 1. + p (Union[None, int, tuple[int]]): Padding, the number of padding on the height and width directions of the input. + The data type is None or an integer or a tuple of four integers. If `padding` is an None, then padding with autopad. + If `padding` is an integer, then the top, bottom, left, and right padding are all equal to `padding`. + If `padding` is a tuple of 4 integers, then the top, bottom, left, and right padding + is equal to `padding[0]`, `padding[1]`, `padding[2]`, and `padding[3]` respectively. + The value should be greater than or equal to 0. Default: None. + g (int): Group, Splits filter into groups, `c1` and `c2` must be + divisible by `group`. If the group is equal to `c1` and `c2`, + this 2D convolution layer also can be called 2D depthwise convolution layer. Default: 1. + d (Union[int, tuple[int]]): Dilation, Dilation size of 2D convolution kernel. + The data type is an integer or a tuple of two integers. If :math:`k > 1`, the kernel is sampled + every `k` elements. The value of `k` on the height and width directions is in range of [1, H] + and [1, W] respectively. Default: 1. + act (Union[bool, nn.Cell]): Activation. The data type is bool or nn.Cell. If `act` is True, + then the activation function uses nn.SiLU. If `act` is False, do not use activation function. + If 'act' is nn.Cell, use the object of this cell as the activation function. Default: True. + sync_bn (bool): Whether the BN layer use nn.SyncBatchNorm. Default: False. + """ + + def __init__( + self, c1, c2, k=1, s=1, p=None, g=1, d=1, act=True, momentum=0.97, eps=1e-3, sync_bn=False + ): # ch_in, ch_out, kernel, stride, padding, groups + super(ConvNormAct, self).__init__() + self.conv = nn.Conv2d( + c1, c2, k, s, pad_mode="pad", padding=autopad(k, p, d), group=g, dilation=d, has_bias=False + ) + + if sync_bn: + self.bn = nn.SyncBatchNorm(c2, momentum=momentum, eps=eps) + else: + self.bn = nn.BatchNorm2d(c2, momentum=momentum, eps=eps) + self.act = nn.SiLU() if act is True else (act if isinstance(act, nn.Cell) else Identity) + + def construct(self, x): + return self.act(self.bn(self.conv(x))) + + +class RepConv(nn.Cell): + """Represented convolution, https://arxiv.org/abs/2101.03697 + + Args: + c1 (int): In channels, the channel number of the input tensor of the Conv2d layer. + c2 (int): Out channels, the channel number of the output tensor of the Conv2d layer. + k (Union[int, tuple[int]]): Kernel size, Specifies the height and width of the 2D convolution kernel. + The data type is an integer or a tuple of two integers. An integer represents the height + and width of the convolution kernel. A tuple of two integers represents the height + and width of the convolution kernel respectively. Default: 1. + s (Union[int, tuple[int]]): Stride, the movement stride of the 2D convolution kernel. + The data type is an integer or a tuple of two integers. An integer represents the movement step size + in both height and width directions. A tuple of two integers represents the movement step size in the height + and width directions respectively. Default: 1. + p (Union[None, int, tuple[int]]): Padding, the number of padding on the height and width directions of the input. + The data type is None or an integer or a tuple of four integers. If `padding` is an None, then padding with autopad. + If `padding` is an integer, then the top, bottom, left, and right padding are all equal to `padding`. + If `padding` is a tuple of 4 integers, then the top, bottom, left, and right padding + is equal to `padding[0]`, `padding[1]`, `padding[2]`, and `padding[3]` respectively. + The value should be greater than or equal to 0. Default: None. + g (int): Group, Splits filter into groups, `c1` and `c2` must be + divisible by `group`. If the group is equal to `c1` and `c2`, + this 2D convolution layer also can be called 2D depthwise convolution layer. Default: 1. + act (Union[bool, nn.Cell]): Activation. The data type is bool or nn.Cell. If `act` is True, + then the activation function uses nn.SiLU. If `act` is False, do not use activation function. + If 'act' is nn.Cell, use the object of this cell as the activation function. Default: True. + sync_bn (bool): Whether the BN layer use nn.SyncBatchNorm. Default: False. + """ + + def __init__(self, c1, c2, k=3, s=1, p=None, g=1, act=True, momentum=0.97, eps=1e-3, sync_bn=False): + super(RepConv, self).__init__() + + self.groups = g + self.in_channels = c1 + self.out_channels = c2 + + assert k == 3 + assert autopad(k, p) == 1 + + padding_11 = autopad(k, p) - k // 2 + + self.act = nn.SiLU() if act is True else (act if isinstance(act, nn.Cell) else Identity) + + if sync_bn: + BatchNorm = nn.SyncBatchNorm + else: + BatchNorm = nn.BatchNorm2d + + self.rbr_identity = BatchNorm(num_features=c1, momentum=(1 - 0.03), eps=1e-3) if c2 == c1 and s == 1 else None + self.rbr_dense = nn.SequentialCell( + [ + nn.Conv2d(c1, c2, k, s, pad_mode="pad", padding=autopad(k, p), group=g, has_bias=False), + BatchNorm(num_features=c2, momentum=momentum, eps=eps), + ] + ) + self.rbr_1x1 = nn.SequentialCell( + nn.Conv2d(c1, c2, 1, s, pad_mode="pad", padding=padding_11, group=g, has_bias=False), + BatchNorm(num_features=c2, momentum=momentum, eps=eps), + ) + + def construct(self, inputs): + if self.rbr_identity is None: + id_out = 0.0 + else: + id_out = self.rbr_identity(inputs) + + return self.act(self.rbr_dense(inputs) + self.rbr_1x1(inputs) + id_out) + + def fuse(self): + # TODO: The reparameterization function will be developed in subsequent versions + pass + + +class DownC(nn.Cell): + # Spatial pyramid pooling layer used in YOLOv3-SPP + def __init__(self, c1, c2, n=1, k=2, momentum=0.97, eps=1e-3, sync_bn=False): + super(DownC, self).__init__() + c_ = c1 # hidden channels + self.cv1 = ConvNormAct(c1, c_, 1, 1, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.cv2 = ConvNormAct(c_, c2 // 2, 3, k, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.cv3 = ConvNormAct(c1, c2 // 2, 1, 1, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.mp = nn.MaxPool2d(kernel_size=k, stride=k) + + def construct(self, x): + return ops.concat((self.cv2(self.cv1(x)), self.cv3(self.mp(x))), axis=1) + + +class Focus(nn.Cell): + # Focus wh information into c-space + def __init__( + self, c1, c2, k=1, s=1, act=True, momentum=0.97, eps=1e-3, sync_bn=False + ): # ch_in, ch_out, kernel, stride, padding, groups + super(Focus, self).__init__() + self.conv = ConvNormAct(c1 * 4, c2, k, s, act=act, momentum=momentum, eps=eps, sync_bn=sync_bn) + + def construct(self, x): # x(b,c,w,h) -> y(b,4c,w/2,h/2) + return self.conv(ops.concat([x[..., ::2, ::2], x[..., 1::2, ::2], x[..., ::2, 1::2], x[..., 1::2, 1::2]], 1)) + + +class DWConvNormAct(nn.Cell): + """Conv2d + BN + Act, depthwise ConvNormAct used in yolox nano scale, an approach to reduce parameter number""" + + def __init__( + self, c1, c2, k=1, s=1, p=None, d=1, act=True, momentum=0.97, eps=1e-3, sync_bn=False + ): # ch_in, ch_out, kernel, stride, padding, groups + super(DWConvNormAct, self).__init__() + self.dconv = ConvNormAct(c1, c1, k, s, p, g=c1, d=d, act=act, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.pconv = ConvNormAct(c1, c2, k=1, s=1, p=p, g=1, d=d, act=act, momentum=momentum, eps=eps, sync_bn=sync_bn) + + def construct(self, x): + return self.pconv(self.dconv(x)) diff --git a/community/cv/ShipWise/mindyolo/models/layers/implicit.py b/community/cv/ShipWise/mindyolo/models/layers/implicit.py new file mode 100644 index 000000000..dde91d81a --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/layers/implicit.py @@ -0,0 +1,42 @@ +import numpy as np + +import mindspore as ms +from mindspore import Parameter, Tensor, nn + + +class ImplicitA(nn.Cell): + """ + https://arxiv.org/pdf/2105.04206v1.pdf. Implicit knowledge in YOLOR combined with convolution + feature map in addition and multiplication manner: Implicit knowledge in YOLOR can be simplified to a vector by + pre-computing at the inference stage. This vector can be combined with the bias and weight of the previous or + subsequent convolutional layer. + """ + + def __init__(self, channel, mean=0.0, std=0.02): + super(ImplicitA, self).__init__() + self.channel = channel + self.mean = mean + self.std = std + self.implicit = Parameter(Tensor(np.random.normal(self.mean, self.std, (1, channel, 1, 1)), ms.float32)) + + def construct(self, x): + return self.implicit + x + + +class ImplicitM(nn.Cell): + """ + https://arxiv.org/pdf/2105.04206v1.pdf. Implicit knowledge in YOLOR combined with convolution + feature map in addition and multiplication manner: Implicit knowledge in YOLOR can be simplified to a vector by + pre-computing at the inference stage. This vector can be combined with the bias and weight of the previous or + subsequent convolutional layer. + """ + + def __init__(self, channel, mean=0.0, std=0.02): + super(ImplicitM, self).__init__() + self.channel = channel + self.mean = mean + self.std = std + self.implicit = Parameter(Tensor(np.random.normal(self.mean, self.std, (1, channel, 1, 1)), ms.float32)) + + def construct(self, x): + return self.implicit * x diff --git a/community/cv/ShipWise/mindyolo/models/layers/pool.py b/community/cv/ShipWise/mindyolo/models/layers/pool.py new file mode 100644 index 000000000..342fcff54 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/layers/pool.py @@ -0,0 +1,44 @@ +from mindspore import nn + + +class MP(nn.Cell): + """ + Use the same step size and kernel size for maxpool. + """ + + def __init__(self, k=2): + super(MP, self).__init__() + self.m = nn.MaxPool2d(kernel_size=k, stride=k) + + def construct(self, x): + return self.m(x) + + +class SP(nn.Cell): + """ + Use autopad for maxpool. + """ + + def __init__(self, k=3, s=1): + super(SP, self).__init__() + self.m = MaxPool2d(kernel_size=k, stride=s, padding=k // 2) + + def construct(self, x): + return self.m(x) + + +class MaxPool2d(nn.Cell): + """ + Maxpool with pad. + """ + + def __init__(self, kernel_size, stride, padding=0): + super(MaxPool2d, self).__init__() + assert isinstance(padding, int) + self.pad = nn.Pad(paddings=((0, 0), (0, 0), (padding, padding), (padding, padding))) + self.pool = nn.MaxPool2d(kernel_size=kernel_size, stride=stride) + + def construct(self, x): + x = self.pad(x) + x = self.pool(x) + return x diff --git a/community/cv/ShipWise/mindyolo/models/layers/spp.py b/community/cv/ShipWise/mindyolo/models/layers/spp.py new file mode 100644 index 000000000..4d7351e98 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/layers/spp.py @@ -0,0 +1,57 @@ +from mindspore import nn, ops + +from .conv import ConvNormAct +from .pool import MaxPool2d + + +class SPPCSPC(nn.Cell): + """ + CSPNet, https://arxiv.org/pdf/1911.11929v1.pdf. The main purpose of designing CSPNet is to enable + this architecture to achieve a richer gradient combination while reducing the amount of computation. This aim + is achieved by partitioning feature map of the base layer into two parts and then merging them through a proposed + cross-stage hierarchy. Our main concept is to make the gradient flow propagate through different network paths + by splitting the gradient flow. In this way, we have confirmed that the propagated gradient information can + have a large correlation difference by switching concatenation and transition steps. + """ + + def __init__(self, c1, c2, n=1, shortcut=False, g=1, e=0.5, k=(5, 9, 13), momentum=0.97, eps=1e-3, sync_bn=False): + super(SPPCSPC, self).__init__() + c_ = int(2 * c2 * e) # hidden channels + self.cv1 = ConvNormAct(c1, c_, 1, 1, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.cv2 = ConvNormAct(c1, c_, 1, 1, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.cv3 = ConvNormAct(c_, c_, 3, 1, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.cv4 = ConvNormAct(c_, c_, 1, 1, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.m = nn.CellList([MaxPool2d(kernel_size=x, stride=1, padding=x // 2) for x in k]) + self.cv5 = ConvNormAct(4 * c_, c_, 1, 1, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.cv6 = ConvNormAct(c_, c_, 3, 1, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.cv7 = ConvNormAct(2 * c_, c2, 1, 1, momentum=momentum, eps=eps, sync_bn=sync_bn) + + def construct(self, x): + x1 = self.cv4(self.cv3(self.cv1(x))) + m_tuple = (x1,) + for i in range(len(self.m)): + m_tuple += (self.m[i](x1),) + y1 = self.cv6(self.cv5(ops.Concat(axis=1)(m_tuple))) + y2 = self.cv2(x) + return self.cv7(ops.Concat(axis=1)((y1, y2))) + + +class SPPF(nn.Cell): + # Spatial Pyramid Pooling - Fast (SPPF) layer for YOLOv5 by Glenn Jocher + def __init__( + self, c1, c2, k=5, act=True, momentum=0.97, eps=1e-3, sync_bn=False + ): # equivalent to SPP(k=(5, 9, 13)) + super(SPPF, self).__init__() + c_ = c1 // 2 # hidden channels + self.conv1 = ConvNormAct(c1, c_, 1, 1, act=act, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.conv2 = ConvNormAct(c_ * 4, c2, 1, 1, act=act, momentum=momentum, eps=eps, sync_bn=sync_bn) + self.concat = ops.Concat(axis=1) + self.m = nn.MaxPool2d(kernel_size=k, stride=1, pad_mode="same") + + def construct(self, x): + x = self.conv1(x) + y1 = self.m(x) + y2 = self.m(y1) + y3 = self.m(y2) + y = self.conv2(self.concat((x, y1, y2, y3))) + return y diff --git a/community/cv/ShipWise/mindyolo/models/layers/upsample.py b/community/cv/ShipWise/mindyolo/models/layers/upsample.py new file mode 100644 index 000000000..96f3e2c8d --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/layers/upsample.py @@ -0,0 +1,29 @@ +from mindspore import nn, ops + + +class Upsample(nn.Cell): + """ + Using the interpolate method specified by `mode` resize the input tensor. + + Args: + scales (tuple[float], optional): a tuple of float. Describe the scale along each dimension. + Its length is the same as that of shape of `x`. The numbers in `scales` must all be positive. Only one of + `scales` and `sizes` can be specified. + sizes (tuple[int], optional): a tuple of int, describes the shape of the output tensor. The numbers in `sizes` + must all be positive. Only one of `scales` and `sizes` can be specified. If `sizes` is specified, then set + `scales` to 'None' in this operator's input list. It is 1 int elements :math:`(new\_width,)` when `mode` + is "linear". It is 2 int elements :math:`(new\_height, new\_width)` when `mode` is "bilinear". + mode (string): The method used to interpolate: 'linear' | 'bilinear'. Default is 'linear'. + """ + + def __init__(self, sizes=None, scales=None, mode="nearest"): + super(Upsample, self).__init__() + self.sizes = sizes + self.scales = scales + self.mode = mode + + def construct(self, x): + if self.mode == "nearest" and self.scales: + return ops.ResizeNearestNeighbor((x.shape[-2] * self.scales, x.shape[-1] * self.scales))(x) + else: + return ops.interpolate(x, sizes=self.sizes, scales=self.scales, mode=self.mode) diff --git a/community/cv/ShipWise/mindyolo/models/layers/utils.py b/community/cv/ShipWise/mindyolo/models/layers/utils.py new file mode 100644 index 000000000..b7a29bced --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/layers/utils.py @@ -0,0 +1,106 @@ +import math +from typing import Tuple + +from mindspore import Tensor, ops + + +def make_divisible(x, divisor): + # Returns x evenly divisible by divisor + return math.ceil(x / divisor) * divisor + + +def autopad(k, p=None, d=1): # kernel, padding, dilation + # Pad to 'same' shape outputs + if d > 1: + k = d * (k - 1) + 1 if isinstance(k, int) else [d * (x - 1) + 1 for x in k] # actual kernel-size + if p is None: + p = k // 2 if isinstance(k, int) else [x // 2 for x in k] # auto-pad + if isinstance(p, list): + assert len(p) == 2 + p = (p[0], p[0], p[1], p[1]) + return p + + +# ------------------------box operation starts-------------------------- +def meshgrid(inputs, indexing="xy"): + # An alternative implementation of ops.meshgrid, Only supports inputs with a length of 2. + # Meshgrid op is not supported on a specific model of machine an alternative + # solution is adopted, which will be updated later. + x, y = inputs + nx, ny = x.shape[0], y.shape[0] + xv, yv = None, None + if indexing == "xy": + xv = ops.tile(x.view(1, -1), (ny, 1)) + yv = ops.tile(y.view(-1, 1), (1, nx)) + elif indexing == "ij": + xv = ops.tile(x.view(-1, 1), (1, ny)) + yv = ops.tile(y.view(1, -1), (nx, 1)) + + return xv, yv + + +def box_cxcywh_to_xyxy(bbox) -> Tensor: + """Convert bbox coordinates from (cx, cy, w, h) to (x1, y1, x2, y2) + + Args: + bbox (ms.Tensor): Shape (n, 4) for bboxes. + + Returns: + torch.Tensor: Converted bboxes. + """ + cx, cy, w, h = ops.unstack(bbox, axis=-1) + new_bbox = tuple([(cx - 0.5 * w), (cy - 0.5 * h), (cx + 0.5 * w), (cy + 0.5 * h)]) + aa = ops.stack(new_bbox, axis=-1) + return aa + + +def box_xyxy_to_cxcywh(bbox) -> Tensor: + """Convert bbox coordinates from (x1, y1, x2, y2) to (cx, cy, w, h) + + Args: + bbox (torch.Tensor): Shape (n, 4) for bboxes. + + Returns: + torch.Tensor: Converted bboxes. + """ + x0, y0, x1, y1 = ops.unstack(bbox, axis=-1) + new_bbox = tuple([(x0 + x1) / 2, (y0 + y1) / 2, (x1 - x0), (y1 - y0)]) + return ops.stack(new_bbox, axis=-1) + + +def box_scale(boxes, scale, sclale_reciprocal=False) -> Tensor: + """ + Scale the box with horizontal and vertical scaling factors + + Args: + boxes (Tensor[N, 4] or [bs, N, 4]): boxes are specified by their (x1, y1, x2, y2) coordinates + scale (Tuple[2]): scale factors for x and y coordinates + """ + assert len(boxes.shape) in [2, 3] + scale_x, scale_y = scale + if sclale_reciprocal: + scale_x, scale_y = 1.0 / scale_x, 1.0 / scale_y + new_scale = Tensor([scale_x, scale_y, scale_x, scale_y]) # (4,) or (bs, 4) + boxes *= new_scale + return boxes + + +def box_clip(boxes, clip_size: Tuple[int, int]) -> Tensor: + """ + Clip (in place) the boxes by limiting x coordinates to the range [0, width] + and y coordinates to the range [0, height]. + + Args: + boxes (Tensor[N, 4]): boxes are specified by their (x1, y1, x2, y2) coordinates + clip_size (height, width): The clipping box's size. + """ + h, w = clip_size + x1 = boxes[..., 0].clip(0, w) + y1 = boxes[..., 1].clip(0, h) + x2 = boxes[..., 2].clip(0, w) + y2 = boxes[..., 3].clip(0, h) + boxes = ops.stack((x1, y1, x2, y2), axis=-1) + return boxes + + +# ------------------------box operation ends-------------------------- diff --git a/community/cv/ShipWise/mindyolo/models/losses/__init__.py b/community/cv/ShipWise/mindyolo/models/losses/__init__.py new file mode 100644 index 000000000..b54930a12 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/losses/__init__.py @@ -0,0 +1,17 @@ +from . import (loss_factory, yolov3_loss, yolov4_loss, yolov5_loss, + yolov7_loss, yolov8_loss) +from .loss_factory import * +from .yolov3_loss import * +from .yolov4_loss import * +from .yolov5_loss import * +from .yolov7_loss import * +from .yolov8_loss import * +from .yolox_loss import * + +__all__ = [] +__all__.extend(yolov3_loss.__all__) +__all__.extend(yolov4_loss.__all__) +__all__.extend(yolov5_loss.__all__) +__all__.extend(yolov7_loss.__all__) +__all__.extend(yolov8_loss.__all__) +__all__.extend(loss_factory.__all__) diff --git a/community/cv/ShipWise/mindyolo/models/losses/focal_loss.py b/community/cv/ShipWise/mindyolo/models/losses/focal_loss.py new file mode 100644 index 000000000..371b5ddde --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/losses/focal_loss.py @@ -0,0 +1,98 @@ +import mindspore as ms +from mindspore import nn, ops + + +def smooth_BCE(eps=0.1): + """ + Return positive, negative label smoothing BCE targets, + https://github.com/ultralytics/yolov3/issues/238#issuecomment-598028441 + """ + return 1.0 - 0.5 * eps, 0.5 * eps + + +class FocalLoss(nn.Cell): + """ + Focal Loss for Dense Object Detection, https://arxiv.org/pdf/1708.02002v2.pdf + + Args: + bce_weight (Tensor, optional): A rescaling weight applied to the loss of each batch element for BCEWithLogitsLoss. + If not None, it can be broadcast to a tensor with shape of `logits`, + data type must be float16 or float32. Default: None. + bce_pos_weight (Tensor, optional): A weight of positive examples for BCEWithLogitsLoss. Must be a vector with length equal to the + number of classes. If not None, it must be broadcast to a tensor with shape of `logits`, data type + must be float16 or float32. Default: None. + gamma: A modulating factor (1 − pt)^gamma to the cross entropy loss, with tunable focusing. Default: 1.5 + alpha: An alpha-balanced variant of the focal loss. Default: 0.25 + reduction (str): Type of reduction to be applied to loss. The optional values are 'mean', 'sum', and 'none'. + If 'none', do not perform reduction. Default: 'mean'. + """ + + def __init__(self, bce_weight=None, bce_pos_weight=None, gamma=1.5, alpha=0.25, reduction="mean"): + super(FocalLoss, self).__init__() + self.loss_fcn = nn.BCEWithLogitsLoss(weight=bce_weight, pos_weight=bce_pos_weight, reduction="none") + self.gamma = gamma + self.alpha = alpha + self.reduction = reduction # default mean + assert self.loss_fcn.reduction == "none" # required to apply FL to each element + + def construct(self, pred, true, mask=None): + ori_dtype = pred.dtype + loss = self.loss_fcn(pred.astype(ms.float32), true.astype(ms.float32)) + + # TF implementation https://github.com/tensorflow/addons/blob/v0.7.1/tensorflow_addons/losses/focal_loss.py + pred_prob = ops.sigmoid(pred) # prob from logits + p_t = true * pred_prob + (1 - true) * (1 - pred_prob) + alpha_factor = true * self.alpha + (1 - true) * (1 - self.alpha) + modulating_factor = (1.0 - p_t) ** self.gamma + loss *= alpha_factor * modulating_factor + + if mask is not None: + loss *= mask + + if self.reduction == "mean": + if mask is not None: + return (loss.sum() / mask.astype(loss.dtype).sum().clip(1, None)).astype(ori_dtype) + return loss.mean().astype(ori_dtype) + elif self.reduction == "sum": + return loss.sum().astype(ori_dtype) + else: # 'none' + return loss.astype(ori_dtype) + + +class BCEWithLogitsLoss(nn.Cell): + def __init__(self, bce_weight=None, bce_pos_weight=None, reduction="mean"): + """ + Adds sigmoid activation function to input logits, and uses the given logits to compute binary cross entropy + between the logits and the labels. + + Args: + bce_weight (Tensor, optional): A rescaling weight applied to the loss of each batch element. + If not None, it can be broadcast to a tensor with shape of `logits`, + data type must be float16 or float32. Default: None. + bce_pos_weight (Tensor, optional): A weight of positive examples. Must be a vector with length equal to the + number of classes. If not None, it must be broadcast to a tensor with shape of `logits`, data type + must be float16 or float32. Default: None. + reduction (str): Type of reduction to be applied to loss. The optional values are 'mean', 'sum', and 'none'. + If 'none', do not perform reduction. Default: 'mean'. + """ + + super(BCEWithLogitsLoss, self).__init__() + self.loss_fcn = nn.BCEWithLogitsLoss(weight=bce_weight, pos_weight=bce_pos_weight, reduction="none") + self.reduction = reduction # default mean + assert self.loss_fcn.reduction == "none" # required to apply FL to each element + + def construct(self, pred, true, mask=None): + ori_dtype = pred.dtype + loss = self.loss_fcn(pred.astype(ms.float32), true.astype(ms.float32)) + + if mask is not None: + loss *= mask + + if self.reduction == "mean": + if mask is not None: + return (loss.sum() / mask.astype(loss.dtype).sum().clip(1, None)).astype(ori_dtype) + return loss.mean().astype(ori_dtype) + elif self.reduction == "sum": + return loss.sum().astype(ori_dtype) + else: # 'none' + return loss.astype(ori_dtype) diff --git a/community/cv/ShipWise/mindyolo/models/losses/iou_loss.py b/community/cv/ShipWise/mindyolo/models/losses/iou_loss.py new file mode 100644 index 000000000..f3227778b --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/losses/iou_loss.py @@ -0,0 +1,152 @@ +import math + +import mindspore as ms +from mindspore import Tensor, ops + +from mindyolo.models.layers.utils import box_cxcywh_to_xyxy + +PI = Tensor(math.pi, ms.float32) +EPS = 1e-7 + + +def box_area(box): + """ + Return area of boxes. + Both sets of boxes are expected to be in (x1, y1, x2, y2) format. + Arguments: + box (Tensor[N, 4]) + Returns: + area (Tensor[N,]) + """ + return (box[:, 2] - box[:, 0]) * (box[:, 3] - box[:, 1]) + + +def batch_box_area(box): + """ + Return area of batch boxes. + Both sets of boxes are expected to be in (x1, y1, x2, y2) format. + Arguments: + box (Tensor[B, N, 4]) + Returns: + area (Tensor[B, N]) + """ + return (box[:, :, 2] - box[:, :, 0]) * (box[:, :, 3] - box[:, :, 1]) + + +def box_iou(box1, box2): + # https://github.com/pytorch/vision/blob/master/torchvision/ops/boxes.py + """ + Return intersection-over-union (Jaccard index) of boxes. + Both sets of boxes are expected to be in (x1, y1, x2, y2) format. + Arguments: + box1 (Tensor[N, 4]) + box2 (Tensor[M, 4]) + Returns: + iou (Tensor[N, M]): the NxM matrix containing the pairwise + IoU values for every element in boxes1 and boxes2 + """ + + area1 = box_area(box1) + area2 = box_area(box2) + + expand_size_1 = box2.shape[0] + expand_size_2 = box1.shape[0] + + box1 = ops.tile(ops.expand_dims(box1, 1), (1, expand_size_1, 1)) + box2 = ops.tile(ops.expand_dims(box2, 0), (expand_size_2, 1, 1)) + + # inter(N,M) = (rb(N,M,2) - lt(N,M,2)).clamp(0).prod(2) + # inter = ops.minimum(box1[:, None, 2:], box2[None, :, 2:]) - ops.maximum(box1[:, None, :2], box2[None, :, :2]) + inter = ops.minimum(box1[..., 2:], box2[..., 2:]) - ops.maximum(box1[..., :2], box2[..., :2]) + inter = inter.clip(0.0, None) + inter = inter[:, :, 0] * inter[:, :, 1] + return inter / (area1[:, None] + area2[None, :] - inter).clip(EPS, None) # iou = inter / (area1 + area2 - inter) + + +def batch_box_iou(batch_box1, batch_box2, xywh=False): + """ + Return intersection-over-union (Jaccard index) of boxes. + Both sets of boxes are expected to be in (x1, y1, x2, y2) format. + Arguments: + box1 (Tensor[B, N, 4]) + box2 (Tensor[B, M, 4]) + Returns: + iou (Tensor[B, N, M]): the NxM matrix containing the pairwise + IoU values for every element in boxes1 and boxes2 + """ + if xywh: + batch_box1 = box_cxcywh_to_xyxy(batch_box1) + batch_box2 = box_cxcywh_to_xyxy(batch_box2) + + area1 = batch_box_area(batch_box1) + area2 = batch_box_area(batch_box2) + + expand_size_1 = batch_box2.shape[1] + expand_size_2 = batch_box1.shape[1] + batch_box1 = ops.tile(ops.expand_dims(batch_box1, 2), (1, 1, expand_size_1, 1)) + batch_box2 = ops.tile(ops.expand_dims(batch_box2, 1), (1, expand_size_2, 1, 1)) + + # inter(N,M) = (rb(N,M,2) - lt(N,M,2)).clamp(0).prod(2) + inter = ops.minimum(batch_box1[..., 2:], batch_box2[..., 2:]) - ops.maximum( + batch_box1[..., :2], batch_box2[..., :2] + ) + inter = inter.clip(0.0, None) + inter = inter[:, :, :, 0] * inter[:, :, :, 1] + return inter / (area1[:, :, None] + area2[:, None, :] - inter).clip( + EPS, None + ) # iou = inter / (area1 + area2 - inter) + + +def bbox_iou(box1, box2, xywh=True, GIoU=False, DIoU=False, CIoU=False, eps=1e-7): + """ + Return intersection-over-union (IoU) of boxes. + Arguments: + box1 (Tensor[N, 4]) or (Tensor[bs, N, 4]) + box2 (Tensor[N, 4]) or (Tensor[bs, N, 4]) + xywh (bool): Whether the box format is (x_center, y_center, w, h) or (x1, y1, x2, y2). Default: True. + GIoU (bool): Whether to use GIoU. Default: False. + DIoU (bool): Whether to use DIoU. Default: False. + CIoU (bool): Whether to use CIoU. Default: False. + Returns: + iou (Tensor[N,]): the IoU values for every element in boxes1 and boxes2 + """ + + # Get the coordinates of bounding boxes + if xywh: # transform from xywh to xyxy + x1, y1, w1, h1 = ops.split(box1, split_size_or_sections=1, axis=-1) + x2, y2, w2, h2 = ops.split(box2, split_size_or_sections=1, axis=-1) + w1_, h1_, w2_, h2_ = w1 / 2, h1 / 2, w2 / 2, h2 / 2 + b1_x1, b1_x2, b1_y1, b1_y2 = x1 - w1_, x1 + w1_, y1 - h1_, y1 + h1_ + b2_x1, b2_x2, b2_y1, b2_y2 = x2 - w2_, x2 + w2_, y2 - h2_, y2 + h2_ + else: # x1, y1, x2, y2 = box1 + b1_x1, b1_y1, b1_x2, b1_y2 = ops.split(box1, split_size_or_sections=1, axis=-1) + b2_x1, b2_y1, b2_x2, b2_y2 = ops.split(box2, split_size_or_sections=1, axis=-1) + + # Intersection area + inter = (ops.minimum(b1_x2, b2_x2) - ops.maximum(b1_x1, b2_x1)).clip(0., None) * \ + (ops.minimum(b1_y2, b2_y2) - ops.maximum(b1_y1, b2_y1)).clip(0., None) + + # Union Area + w1, h1 = b1_x2 - b1_x1, b1_y2 - b1_y1 + eps + w2, h2 = b2_x2 - b2_x1, b2_y2 - b2_y1 + eps + union = w1 * h1 + w2 * h2 - inter + eps + + # IoU + iou = inter / union + + if CIoU or DIoU or GIoU: + cw = ops.maximum(b1_x2, b2_x2) - ops.minimum(b1_x1, b2_x1) # convex (smallest enclosing box) width + ch = ops.maximum(b1_y2, b2_y2) - ops.minimum(b1_y1, b2_y1) # convex height + if CIoU or DIoU: # Distance or Complete IoU https://arxiv.org/abs/1911.08287v1 + c2 = cw**2 + ch**2 + eps # convex diagonal squared + rho2 = ((b2_x1 + b2_x2 - b1_x1 - b1_x2) ** 2 + (b2_y1 + b2_y2 - b1_y1 - b1_y2) ** 2) / 4 # center dist ** 2 + if CIoU: # https://github.com/Zzh-tju/DIoU-SSD-pytorch/blob/master/utils/box/box_utils.py#L47 + # v = (4 / get_pi(iou.dtype) ** 2) * ops.pow(ops.atan(w2 / (h2 + eps)) - ops.atan(w1 / (h1 + eps)), 2) + v = (4 / PI.astype(iou.dtype) ** 2) * ops.pow(ops.atan(w2 / (h2 + eps)) - ops.atan(w1 / (h1 + eps)), 2) + alpha = v / (v - iou + (1 + eps)) + alpha = ops.stop_gradient(alpha) + return iou - (rho2 / c2 + v * alpha) # CIoU + return iou - rho2 / c2 # DIoU + c_area = cw * ch + eps # convex area + return iou - (c_area - union) / c_area # GIoU https://arxiv.org/pdf/1902.09630.pdf + return iou # IoU diff --git a/community/cv/ShipWise/mindyolo/models/losses/loss_factory.py b/community/cv/ShipWise/mindyolo/models/losses/loss_factory.py new file mode 100644 index 000000000..79d0dd93e --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/losses/loss_factory.py @@ -0,0 +1,15 @@ +from mindyolo.models.registry import is_model, model_entrypoint + +__all__ = ["create_loss"] + + +def create_loss(name: str, **kwargs): + kwargs = {k: v for k, v in kwargs.items() if v is not None} + + if not is_model(name): + raise RuntimeError(f"Unknown loss module {name}") + + create_fn = model_entrypoint(name) + loss_fn = create_fn(**kwargs) + + return loss_fn diff --git a/community/cv/ShipWise/mindyolo/models/losses/yolov3_loss.py b/community/cv/ShipWise/mindyolo/models/losses/yolov3_loss.py new file mode 100644 index 000000000..516f06bc1 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/losses/yolov3_loss.py @@ -0,0 +1,249 @@ +import numpy as np + +import mindspore as ms +import mindspore.numpy as mnp +from mindspore import Tensor, nn, ops + +from mindyolo.models.registry import register_model +from .focal_loss import BCEWithLogitsLoss, FocalLoss, smooth_BCE +from .iou_loss import batch_box_iou, bbox_iou + +CLIP_VALUE = 1000.0 +EPS = 1e-7 + +__all__ = ["YOLOv3Loss"] + + +@register_model +class YOLOv3Loss(nn.Cell): + def __init__( + self, box, obj, cls, anchor_t, label_smoothing, fl_gamma, cls_pw, obj_pw, anchors, stride, nc, **kwargs + ): + super(YOLOv3Loss, self).__init__() + self.hyp_box = box + self.hyp_obj = obj + self.hyp_cls = cls + self.hyp_anchor_t = anchor_t + self.nc = nc # number of classes + self.na = len(anchors[0]) // 2 # number of anchors + self.nl = len(anchors) # number of layers + + stride = np.array(stride) + anchors = np.array(anchors).reshape((self.nl, -1, 2)) + anchors = anchors / stride.reshape((-1, 1, 1)) + self.stride = Tensor(stride, ms.int32) + self.anchors = Tensor(anchors, ms.float32) # shape(nl,na,2) + + # Class label smoothing https://arxiv.org/pdf/1902.04103.pdf eqn 3 + self.cp, self.cn = smooth_BCE(eps=label_smoothing) # positive, negative BCE targets + # Focal loss + g = fl_gamma # focal loss gamma + if g > 0: + BCEcls, BCEobj = FocalLoss(bce_pos_weight=Tensor([cls_pw], ms.float32), gamma=g), FocalLoss( + bce_pos_weight=Tensor([obj_pw], ms.float32), gamma=g + ) + else: + # Define criteria + BCEcls = BCEWithLogitsLoss(bce_pos_weight=Tensor(np.array([cls_pw]), ms.float32)) + BCEobj = BCEWithLogitsLoss(bce_pos_weight=Tensor(np.array([obj_pw]), ms.float32)) + + _balance = {3: [4.0, 1.0, 0.4]}.get(self.nl, [4.0, 1.0, 0.25, 0.06, 0.02]) # P3-P7 + self.balance = ms.Parameter(Tensor(_balance, ms.float32), requires_grad=False) + self.BCEcls, self.BCEobj, self.gr = BCEcls, BCEobj, 1.0 + + self._off = Tensor( + [ + [0, 0], + [1, 0], + [0, 1], + [-1, 0], + [0, -1], # j,k,l,m + ], + dtype=ms.float32, + ) + + self.loss_item_name = ["loss", "lbox", "lobj", "lcls"] # branch name returned by lossitem for print + + def construct(self, p, targets, imgs): + lcls, lbox, lobj = 0.0, 0.0, 0.0 + tcls, tbox, indices, anchors, tmasks = self.build_targets( + p, targets + ) # class, box, (image, anchor, gridj, gridi), anchors, mask + tcls, tbox, indices, anchors, tmasks = ( + ops.stop_gradient(tcls), + ops.stop_gradient(tbox), + ops.stop_gradient(indices), + ops.stop_gradient(anchors), + ops.stop_gradient(tmasks), + ) + + # Losses + for layer_index, pi in enumerate(p): # layer index, layer predictions + tmask = tmasks[layer_index] + b, a, gj, gi = ops.split(indices[layer_index] * tmask[None, :], split_size_or_sections=1, axis=0) # image, anchor, gridy, gridx + b, a, gj, gi = b.view(-1), a.view(-1), gj.view(-1), gi.view(-1) + tobj = ops.zeros(pi.shape[:4], pi.dtype) # target obj + + n = b.shape[0] # number of targets + if n: + _meta_pred = pi[b, a, gj, gi] # gather from (bs,na,h,w,nc) + pxy, pwh, _, pcls = _meta_pred[:, :2], _meta_pred[:, 2:4], _meta_pred[:, 4:5], _meta_pred[:, 5:] + + # Regression + pxy = ops.Sigmoid()(pxy) * 2 - 0.5 + pwh = (ops.Sigmoid()(pwh) * 2) ** 2 * anchors[layer_index] + pbox = ops.concat((pxy, pwh), 1) # predicted box + iou = bbox_iou(pbox, tbox[layer_index], CIoU=True).squeeze() # iou(prediction, target) + # iou = iou * tmask + # lbox += ((1.0 - iou) * tmask).mean() # iou loss + lbox += (((1.0 - iou) * tmask).sum() / tmask.astype(iou.dtype).sum().clip(1, None)).astype(iou.dtype) + + # Objectness + iou = ops.stop_gradient(iou).clip(0, None).astype(pi.dtype) + # tobj[b, a, gj, gi] = iou * tmask # iou ratio + tobj[b, a, gj, gi] = ( + (1.0 - self.gr) + self.gr * ops.stop_gradient(iou).clip(0, None) + ) * tmask # iou ratio + + # Classification + if self.nc > 1: # cls loss (only if multiple classes) + t = ops.fill(pcls.dtype, pcls.shape, self.cn) # targets + + t[mnp.arange(n), tcls[layer_index]] = self.cp + lcls += self.BCEcls(pcls, t, ops.tile(tmask[:, None], (1, t.shape[-1]))) # BCE + + obji = self.BCEobj(pi[..., 4], tobj) + lobj += obji * self.balance[layer_index] # obj loss + + lbox *= self.hyp_box + lobj *= self.hyp_obj + lcls *= self.hyp_cls + bs = p[0].shape[0] # batch size + + loss = lbox + lobj + lcls + + return loss * bs, ops.stop_gradient(ops.stack((loss, lbox, lobj, lcls))) + + def build_targets(self, p, targets): + # Build targets for compute_loss(), input targets(image,class,x,y,w,h) + targets = targets.view(-1, 6) + mask_t = targets[:, 1] >= 0 + na, nt = self.na, targets.shape[0] # number of anchors, targets + tcls, tbox, indices, anch, tmasks = (), (), (), (), () + gain = ops.ones(7, ms.int32) # normalized to gridspace gain + ai = ops.tile(mnp.arange(na).view(-1, 1), (1, nt)) # shape: (na, nt) + ai = ops.cast(ai, targets.dtype) + targets = ops.concat( + (ops.tile(targets, (na, 1, 1)), ai[:, :, None]), 2 + ) # append anchor indices # shape: (na, nt, 7) + + g = 0.5 # bias + off = ops.cast(self._off, targets.dtype) * g # offsets + + for i in range(self.nl): + anchors, shape = self.anchors[i], p[i].shape + gain[2:6] = get_tensor(shape, targets.dtype)[[3, 2, 3, 2]] # xyxy gain + + # Match targets to anchors + t = targets * gain # shape(na,nt,7) # xywhn -> xywh + # Matches + # if nt: + r = t[..., 4:6] / anchors[:, None] # wh ratio + j = ops.maximum(r, 1 / r).max(2) < self.hyp_anchor_t # compare + + # t = t[j] # filter + mask_m_t = ops.logical_and(j, mask_t[None, :]).view(-1) + t = t.view(-1, 7) + + # Offsets + gxy = t[:, 2:4] # grid xy + gxi = gain[[2, 3]] - gxy # inverse + jk = ops.logical_and((gxy % 1 < g), (gxy > 1)) + lm = ops.logical_and((gxi % 1 < g), (gxi > 1)) + j, k = jk[:, 0], jk[:, 1] + l, m = lm[:, 0], lm[:, 1] + + # # original + # j = ops.stack((ops.ones_like(j), j, k, l, m)) # shape: (5, *) + # t = ops.tile(t, (5, 1, 1)) # shape(5, *, 7) + # mask_m_t = (ops.cast(j, ms.int32) * ops.cast(mask_m_t[None, :], ms.int32)).view(-1) + # t = t.view(-1, 7) + # offsets = (ops.zeros_like(gxy)[None, :, :] + off[:, None, :]) #(1,*,2) + (5,1,2) -> (5,*,2) + # offsets = offsets.view(-1, 2) + + # faster, + tag1, tag2 = ops.identity(j), ops.identity(k) + tag1, tag2 = ops.tile(tag1[:, None], (1, 2)), ops.tile(tag2[:, None], (1, 2)) + j_l = ops.logical_or(j, l).astype(ms.int32) + k_m = ops.logical_or(k, m).astype(ms.int32) + center = ops.ones_like(j_l) + j = ops.stack((center, j_l, k_m)) + t = ops.tile(t, (3, 1, 1)) # shape(5, *, 7) + t = t.view(-1, 7) + mask_m_t = (ops.cast(j, ms.int32) * ops.cast(mask_m_t[None, :], ms.int32)).view(-1) + offsets = ops.zeros_like(gxy)[None, :, :] + off[:, None, :] # (1,*,2) + (5,1,2) -> (5,na*nt,2) + offsets_new = ops.zeros((3,) + offsets.shape[1:], offsets.dtype) + # offsets_new[0, :, :] = offsets[0, :, :] + offsets_new[1:2, :, :] = ops.select(tag1.astype(ms.bool_), offsets[1, :, :], offsets[3, :, :]) + offsets_new[2:3, :, :] = ops.select(tag2.astype(ms.bool_), offsets[2, :, :], offsets[4, :, :]) + offsets = offsets_new + offsets = offsets.view(-1, 2) + + # Define + b, c, gxy, gwh, a = ( + ops.cast(t[:, 0], ms.int32), + ops.cast(t[:, 1], ms.int32), + t[:, 2:4], + t[:, 4:6], + ops.cast(t[:, 6], ms.int32), + ) # (image, class), grid xy, grid wh, anchors + gij = ops.cast(gxy - offsets, ms.int32) + gij = gij[:] + gi, gj = gij[:, 0], gij[:, 1] # grid indices + gi = gi.clip(0, shape[3] - 1) + gj = gj.clip(0, shape[2] - 1) + + # Append + indices += (ops.stack((b, a, gj, gi), 0),) # image, anchor, grid + tbox += (ops.concat((gxy - gij, gwh), 1),) # box + anch += (anchors[a],) # anchors + tcls += (c,) # class + tmasks += (mask_m_t,) + + return ( + ops.stack(tcls), + ops.stack(tbox), + ops.stack(indices), + ops.stack(anch), + ops.stack(tmasks), + ) # class, box, (image, anchor, gridj, gridi), anchors, mask + + +def xywh2xyxy(x): + # Convert nx4 boxes from [x, y, w, h] to [x1, y1, x2, y2] where xy1=top-left, xy2=bottom-right + y = ops.Identity()(x) + y[:, 0] = x[:, 0] - x[:, 2] / 2 # top left x + y[:, 1] = x[:, 1] - x[:, 3] / 2 # top left y + y[:, 2] = x[:, 0] + x[:, 2] / 2 # bottom right x + y[:, 3] = x[:, 1] + x[:, 3] / 2 # bottom right y + return y + + +@ops.constexpr +def get_tensor(x, dtype=ms.float32): + return Tensor(x, dtype) + + +if __name__ == "__main__": + from mindyolo.models.losses.loss_factory import create_loss + from mindyolo.utils.config import parse_config + + cfg = parse_config() + loss_fn = create_loss( + name="YOLOv7Loss", + **cfg.loss, + anchors=cfg.network.get("anchors", None), + stride=cfg.network.get("stride", None), + nc=cfg.data.get("nc", None), + ) + print(f"loss_fn is {loss_fn}") diff --git a/community/cv/ShipWise/mindyolo/models/losses/yolov4_loss.py b/community/cv/ShipWise/mindyolo/models/losses/yolov4_loss.py new file mode 100644 index 000000000..51abf2cb3 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/losses/yolov4_loss.py @@ -0,0 +1,278 @@ +import numpy as np + +import mindspore as ms +import mindspore.numpy as mnp +from mindspore import Tensor, nn, ops + +from mindyolo.models.registry import register_model +from .focal_loss import BCEWithLogitsLoss, smooth_BCE +from .iou_loss import bbox_iou + +CLIP_VALUE = 1000.0 +EPS = 1e-7 + +__all__ = ["YOLOv4Loss"] + + +class ConfidenceLoss(nn.Cell): + """Loss for confidence.""" + + def __init__(self): + super(ConfidenceLoss, self).__init__() + self.cross_entropy = ops.SigmoidCrossEntropyWithLogits() + self.reduce_sum = ops.ReduceSum() + + def construct(self, object_mask, predict_confidence, ignore_mask): + confidence_loss = self.cross_entropy(predict_confidence, object_mask) + confidence_loss = object_mask * confidence_loss + (1 - object_mask) * confidence_loss * ignore_mask + confidence_loss = self.reduce_sum(confidence_loss, ()) + return confidence_loss + + +@register_model +class YOLOv4Loss(nn.Cell): + def __init__(self, box, obj, cls, label_smoothing, ignore_threshold, iou_threshold, anchors, nc, **kwargs): + super(YOLOv4Loss, self).__init__() + self.ignore_threshold = ignore_threshold + self.iou = Iou() + self.iou_threshold = iou_threshold + self.hyp_box = box + self.hyp_obj = obj + self.hyp_cls = cls + self.nc = nc # number of classes + + anchors = np.array(anchors) + self.na = anchors.shape[0] # number of anchors + self.nl = 3 # number of layers + + self.anchors = Tensor(anchors, ms.float32) # shape(na,2) + + # Class label smoothing https://arxiv.org/pdf/1902.04103.pdf eqn 3 + self.cp, self.cn = smooth_BCE(eps=label_smoothing) # positive, negative BCE targets + + self.BCEobj = ConfidenceLoss() + self.BCEcls = BCEWithLogitsLoss(reduction="sum") + + self.loss_item_name = ["loss", "lbox", "lobj", "lcls"] # branch name returned by lossitem for print + + self.concat = ops.Concat(axis=-1) + self.reduce_max = ops.ReduceMax(keep_dims=False) + + def construct(self, p, targets, imgs): + image_shape = imgs.shape + gain = get_tensor(image_shape, targets.dtype)[[3, 2]] + ori_targets = targets.copy() + lcls, lbox, lobj = 0.0, 0.0, 0.0 + tcls, tbox, indices, anchors, tmasks = self.build_targets( + p, targets, imgs + ) # class, box, (image, anchor, gridj, gridi), anchors, mask + tcls, tbox, indices, anchors, tmasks = ( + ops.stop_gradient(tcls), + ops.stop_gradient(tbox), + ops.stop_gradient(indices), + ops.stop_gradient(anchors), + ops.stop_gradient(tmasks), + ) + + # Losses + for layer_index, yolo_out in enumerate(p): # layer index, layer predictions + pi = yolo_out[0] + tmask = tmasks[layer_index] + b, a, gj, gi = ops.split(indices[layer_index] * tmask[None, :], split_size_or_sections=1, axis=0) # image, anchor, gridy, gridx + b, a, gj, gi = b.view(-1), a.view(-1), gj.view(-1), gi.view(-1) + + pi_shape = pi.shape + y_true = ops.zeros((pi_shape[0], pi_shape[1], pi_shape[2], pi_shape[3], 1), pi.dtype) + y_true[b, gj, gi, a][:, 0] = 1.0 + + n = b.shape[0] # number of targets + if n: + pxy = yolo_out[1][b, gj, gi, a] + pwh = yolo_out[2][b, gj, gi, a] + _meta_pred = pi[b, gj, gi, a] # gather from (bs,na,h,w,nc) + pcls = _meta_pred[:, 5:] + + # Regression + pbox = ops.concat((pxy, pwh), 1) # predicted box + iou = bbox_iou(pbox, tbox, GIoU=True).squeeze() # iou(prediction, target) + # iou = iou * tmask + # lbox += ((1.0 - iou) * tmask).mean() # iou loss + box_loss_scale = 2 - tbox[:, 2] * tbox[:, 3] / gain[0] / gain[1] + lbox += (((1.0 - iou) * tmask * box_loss_scale).sum()).astype(iou.dtype) + + # Classification + if self.nc > 1: # cls loss (only if multiple classes) + t = ops.fill(pcls.dtype, pcls.shape, self.cn) # targets + + t[mnp.arange(n), tcls] = self.cp + lcls += self.BCEcls(pcls, t, ops.tile(tmask[:, None], (1, t.shape[-1]))) # BCE + + gt_box = ori_targets[:, :, 2:] + pred_boxes = self.concat((yolo_out[1], yolo_out[2])) + gt_shape = ops.Shape()(gt_box) + gt_box = ops.Reshape()(gt_box, (gt_shape[0], 1, 1, 1, gt_shape[1], gt_shape[2])) + iou = self.iou(ops.ExpandDims()(pred_boxes, -2), gt_box) + best_iou = self.reduce_max(iou, -1) + ignore_mask = best_iou < self.ignore_threshold + ignore_mask = ops.Cast()(ignore_mask, ms.float32) + ignore_mask = ops.ExpandDims()(ignore_mask, -1) + ignore_mask = ops.stop_gradient(ignore_mask) + object_mask = y_true[:, :, :, :, 0:1] + lobj += self.BCEobj(object_mask, pi[:, :, :, :, 4:5], ignore_mask) # obj loss + + lbox *= self.hyp_box + lobj *= self.hyp_obj + lcls *= self.hyp_cls + bs = p[0][0].shape[0] # batch size + + loss = lbox + lobj + lcls + + # ops.stack doesn't support type ms.float16 under ascend ms2.0, + # refer to issue #154 (https://github.com/mindspore-lab/mindyolo/issues/154) + return loss / bs / 8, ops.stop_gradient(ops.stack( + (loss.astype(ms.float32) / bs, + lbox.astype(ms.float32) / bs, + lobj.astype(ms.float32) / bs, + lcls.astype(ms.float32) / bs) + )) + + def build_targets(self, p, targets, imgs): + # Build targets for compute_loss(), input targets(image,class,x,y,w,h) + image_shape = imgs.shape + targets = targets.view(-1, 6) + mask_t = targets[:, 1] >= 0 + na, nt = self.na, targets.shape[0] # number of anchors, targets + indices, anch, tmasks = (), (), () + gain_wh = ops.ones(7, ms.int32) # normalized to gridspace gain + ai = ops.tile(mnp.arange(na).view(-1, 1), (1, nt)) # shape: (na, nt) + ai = ops.cast(ai, targets.dtype) + targets_9_anchors = ops.concat( + (ops.tile(targets, (na, 1, 1)), ai[:, :, None]), 2 + ) # append anchor indices # shape: (na, nt, 7) + + gain_wh[4:6] = get_tensor(image_shape, targets_9_anchors.dtype)[[3, 2]] # xyxy gain + + # Match targets to anchors + t_wh = targets_9_anchors * gain_wh + # Matches + gt_box = ops.zeros((na, nt, 4), ms.float32) + gt_box[..., 2:] = t_wh[..., 4:6] + + anchor_shapes = ops.zeros((na, 1, 4), ms.float32) + anchor_shapes[..., 2:] = ops.ExpandDims()(self.anchors, 1) + anch_ious = bbox_iou(gt_box, anchor_shapes).squeeze() + + j = anch_ious == anch_ious.max(axis=0) + l = anch_ious > self.iou_threshold + + j_l = ops.logical_or(j, l).astype(ms.int32).reshape((self.nl, -1, nt)) + + anchor_scales = self.anchors.reshape((self.nl, -1, 2)) + ai = ops.tile(mnp.arange(na // self.nl).view(-1, 1), (1, nt)) # shape: (na, nt) + ai = ops.cast(ai, targets.dtype) + targets_3_anchors = ops.concat((ops.tile(targets, (na // self.nl, 1, 1)), ai[:, :, None]), 2) + for i in range(self.nl): + anchors, shape = anchor_scales[i], p[i][0].shape + gain_xy = ops.ones(7, ms.int32) # normalized to gridspace gain + gain_xy[2:4] = get_tensor(shape, targets_3_anchors.dtype)[[2, 1]] # xyxy gain + + t = targets_3_anchors * gain_xy + mask_m_t = (j_l[i] * ops.cast(mask_t[None, :], ms.int32)).view(-1) + t = t.view(-1, 7) + + # Define + b, gxy, a = ( + ops.cast(t[:, 0], ms.int32), + t[:, 2:4], + ops.cast(t[:, 6], ms.int32), + ) # (image, class), grid xy, grid wh, anchors + gij = ops.cast(gxy, ms.int32) + gij = gij[:] + gi, gj = gij[:, 0], gij[:, 1] # grid indices + gi = gi.clip(0, shape[2] - 1) + gj = gj.clip(0, shape[1] - 1) + + # Append + indices += (ops.stack((b, a, gj, gi), 0),) # image, anchor, grid + anch += (anchors[a],) # anchors + tmasks += (mask_m_t,) + + targets_3_anchors = targets_3_anchors.view(-1, 7) + tcls = ops.cast(targets_3_anchors[:, 1], ms.int32) # class + tbox = targets_3_anchors[:, 2:6] # box + + return ( + tcls, + tbox, + ops.stack(indices), + ops.stack(anch), + ops.stack(tmasks), + ) # class, box, (image, anchor, gridj, gridi), anchors, mask + + +def xywh2xyxy(x): + # Convert nx4 boxes from [x, y, w, h] to [x1, y1, x2, y2] where xy1=top-left, xy2=bottom-right + y = ops.Identity()(x) + y[:, 0] = x[:, 0] - x[:, 2] / 2 # top left x + y[:, 1] = x[:, 1] - x[:, 3] / 2 # top left y + y[:, 2] = x[:, 0] + x[:, 2] / 2 # bottom right x + y[:, 3] = x[:, 1] + x[:, 3] / 2 # bottom right y + return y + + +@ops.constexpr +def get_tensor(x, dtype=ms.float32): + return Tensor(x, dtype) + + +class Iou(nn.Cell): + """Calculate the iou of boxes""" + + def __init__(self): + super(Iou, self).__init__() + self.min = ops.Minimum() + self.max = ops.Maximum() + + def construct(self, box1, box2): + """ + box1: pred_box [batch, gx, gy, anchors, 1, 4] ->4: [x_center, y_center, w, h] + box2: gt_box [batch, 1, 1, 1, maxbox, 4] + convert to topLeft and rightDown + """ + box1_xy = box1[:, :, :, :, :, :2] + box1_wh = box1[:, :, :, :, :, 2:4] + box1_mins = box1_xy - box1_wh / ops.scalar_to_tensor(2.0) # topLeft + box1_maxs = box1_xy + box1_wh / ops.scalar_to_tensor(2.0) # rightDown + + box2_xy = box2[:, :, :, :, :, :2] + box2_wh = box2[:, :, :, :, :, 2:4] + box2_mins = box2_xy - box2_wh / ops.scalar_to_tensor(2.0) + box2_maxs = box2_xy + box2_wh / ops.scalar_to_tensor(2.0) + + intersect_mins = self.max(box1_mins, box2_mins) + intersect_maxs = self.min(box1_maxs, box2_maxs) + intersect_wh = self.max(intersect_maxs - intersect_mins, ops.scalar_to_tensor(0.0)) + # P.squeeze: for effiecient slice + intersect_area = ops.Squeeze(-1)(intersect_wh[:, :, :, :, :, 0:1]) * ops.Squeeze(-1)( + intersect_wh[:, :, :, :, :, 1:2] + ) + box1_area = ops.Squeeze(-1)(box1_wh[:, :, :, :, :, 0:1]) * ops.Squeeze(-1)(box1_wh[:, :, :, :, :, 1:2]) + box2_area = ops.Squeeze(-1)(box2_wh[:, :, :, :, :, 0:1]) * ops.Squeeze(-1)(box2_wh[:, :, :, :, :, 1:2]) + iou = intersect_area / (box1_area + box2_area - intersect_area) + # iou : [batch, gx, gy, anchors, maxboxes] + return iou + + +if __name__ == "__main__": + from mindyolo.models.losses.loss_factory import create_loss + from mindyolo.utils.config import parse_config + + cfg = parse_config() + loss_fn = create_loss( + name="YOLOv7Loss", + **cfg.loss, + anchors=cfg.network.get("anchors", None), + stride=cfg.network.get("stride", None), + nc=cfg.data.get("nc", None), + ) + print(f"loss_fn is {loss_fn}") diff --git a/community/cv/ShipWise/mindyolo/models/losses/yolov5_loss.py b/community/cv/ShipWise/mindyolo/models/losses/yolov5_loss.py new file mode 100644 index 000000000..890cefef5 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/losses/yolov5_loss.py @@ -0,0 +1,231 @@ +import numpy as np + +import mindspore as ms +import mindspore.numpy as mnp +from mindspore import Parameter, Tensor, nn, ops + +from mindyolo.models.registry import register_model +from .focal_loss import BCEWithLogitsLoss, FocalLoss, smooth_BCE +from .iou_loss import bbox_iou + +__all__ = ["YOLOv5Loss"] + + +@register_model +class YOLOv5Loss(nn.Cell): + # Compute losses + def __init__( + self, box, obj, cls, anchor_t, label_smoothing, fl_gamma, cls_pw, obj_pw, anchors, stride, nc, **kwargs + ): + super(YOLOv5Loss, self).__init__() + + self.sort_obj_iou = False + self.hyp_anchor_t = anchor_t + self.hyp_box = box + self.hyp_obj = obj + self.hyp_cls = cls + self.nc = nc # number of classes + self.na = len(anchors[0]) // 2 # number of anchors + self.nl = len(anchors) # number of layers + stride = np.array(stride) + anchors = np.array(anchors).reshape((self.nl, -1, 2)) + anchors = anchors / stride.reshape((-1, 1, 1)) + self.stride = Tensor(stride, ms.int32) + self.anchors = Tensor(anchors, ms.float32) # shape(nl,na,2) + + # Class label smoothing https://arxiv.org/pdf/1902.04103.pdf eqn 3 + self.cp, self.cn = smooth_BCE(eps=label_smoothing) # positive, negative BCE targets + + # Focal loss + g = fl_gamma # focal loss gamma + if g > 0: + BCEcls, BCEobj = FocalLoss(bce_pos_weight=Tensor([cls_pw], ms.float32), gamma=g), FocalLoss( + bce_pos_weight=Tensor([obj_pw], ms.float32), gamma=g + ) + else: + # Define criteria + BCEcls = BCEWithLogitsLoss(bce_pos_weight=Tensor(np.array([cls_pw]), ms.float32)) + BCEobj = BCEWithLogitsLoss(bce_pos_weight=Tensor(np.array([obj_pw]), ms.float32)) + + _balance = {3: [4.0, 1.0, 0.4]}.get(self.nl, [4.0, 1.0, 0.25, 0.06, 0.02]) # P3-P7 + self.balance = Parameter(Tensor(_balance, ms.float32), requires_grad=False) + self.BCEcls, self.BCEobj, self.gr = BCEcls, BCEobj, 1.0 + + self._off = Tensor( + [ + [0, 0], + [1, 0], + [0, 1], + [-1, 0], + [0, -1], # j,k,l,m + # [1, 1], [1, -1], [-1, 1], [-1, -1], # jk,jm,lk,lm + ], + dtype=ms.float32, + ) + + self.loss_item_name = ["loss", "lbox", "lobj", "lcls"] # branch name returned by loss for print + + def scatter_index_tensor(self, x, index): + x_tmp = ops.transpose(x.reshape((-1, x.shape[-1])), (1, 0)) + res = x_tmp[index].reshape(x.shape[:-1]) + return res + + def construct(self, p, targets, imgs): # predictions, targets + lcls, lbox, lobj = 0.0, 0.0, 0.0 + + tcls, tbox, indices, anchors, tmasks = self.build_targets( + p, targets + ) # class, box, (image, anchor, gridj, gridi), anchors, mask + tcls, tbox, indices, anchors, tmasks = ( + ops.stop_gradient(tcls), + ops.stop_gradient(tbox), + ops.stop_gradient(indices), + ops.stop_gradient(anchors), + ops.stop_gradient(tmasks), + ) + + # Losses + for layer_index, pi in enumerate(p): # layer index, layer predictions + pi = ops.cast(pi, ms.float32) + tmask = tmasks[layer_index] + b, a, gj, gi = ops.split(indices[layer_index] * tmask[None, :], split_size_or_sections=1, axis=0) # image, anchor, gridy, gridx + b, a, gj, gi = b.view(-1), a.view(-1), gj.view(-1), gi.view(-1) + tobj = ops.zeros(pi.shape[:4], pi.dtype) # target obj + + n = b.shape[0] # number of targets + if n: + _meta_pred = pi[b, a, gj, gi] # gather from (bs,na,h,w,nc) + pxy, pwh, _, pcls = _meta_pred[:, :2], _meta_pred[:, 2:4], _meta_pred[:, 4:5], _meta_pred[:, 5:] + + # Regression + pxy = ops.Sigmoid()(pxy) * 2 - 0.5 + pwh = (ops.Sigmoid()(pwh) * 2) ** 2 * anchors[layer_index] + pbox = ops.concat((pxy, pwh), 1) # predicted box + iou = bbox_iou(pbox, tbox[layer_index], CIoU=True).squeeze() # iou(prediction, target) + lbox += ((1.0 - iou) * tmask).sum() / tmask.astype(iou.dtype).sum() # iou loss + + # Objectness + iou = ops.stop_gradient(iou).clip(0, None) + if self.sort_obj_iou: + _, j = ops.sort(iou) + b, a, gj, gi, iou, tmask = b[j], a[j], gj[j], gi[j], iou[j], tmask[j] + if self.gr < 1: + iou = (1.0 - self.gr) + self.gr * iou + tobj[b, a, gj, gi] = ops.stop_gradient(iou) * tmask # iou ratio + + # Classification + if self.nc > 1: # cls loss (only if multiple classes) + t = ops.fill(pcls.dtype, pcls.shape, self.cn) # targets + + t[mnp.arange(n), tcls[layer_index]] = self.cp + lcls += self.BCEcls(pcls, t, ops.tile(tmask[:, None], (1, t.shape[-1]))) # BCE + + # obji = self.BCEobj(pi[..., 4], tobj) + obji = self.BCEobj(self.scatter_index_tensor(pi, 4), tobj) + lobj += obji * self.balance[layer_index] # obj loss + + lbox *= self.hyp_box + lobj *= self.hyp_obj + lcls *= self.hyp_cls + bs = p[0].shape[0] # batch size + + loss = lbox + lobj + lcls + loss_item = ops.stop_gradient(ops.stack((loss, lbox, lobj, lcls))) + return loss * bs, loss_item + + def build_targets(self, p, targets): + # Build targets for compute_loss(), input targets(image,class,x,y,w,h) + targets = targets.view(-1, 6) + mask_t = targets[:, 1] >= 0 + na, nt = self.na, targets.shape[0] # number of anchors, targets + tcls, tbox, indices, anch, tmasks = (), (), (), (), () + gain = ops.ones(7, ms.int32) # normalized to gridspace gain + ai = ops.tile(mnp.arange(na).view(-1, 1), (1, nt)) # shape: (na, nt) + ai = ops.cast(ai, targets.dtype) + targets = ops.concat( + (ops.tile(targets, (na, 1, 1)), ai[:, :, None]), 2 + ) # append anchor indices # shape: (na, nt, 7) + + g = 0.5 # bias + off = ops.cast(self._off, targets.dtype) * g # offsets + + for i in range(self.nl): + anchors, shape = self.anchors[i], p[i].shape + gain[2:6] = get_tensor(shape, targets.dtype)[[3, 2, 3, 2]] # xyxy gain + + # Match targets to anchors + t = targets * gain # shape(na,nt,7) # xywhn -> xywh + # Matches + r = t[..., 4:6] / anchors[:, None] # wh ratio + j = ops.maximum(r, 1 / r).max(2) < self.hyp_anchor_t # compare + + mask_m_t = ops.logical_and(j, mask_t[None, :]).view(-1) + t = t.view(-1, 7) + + # Offsets + gxy = t[:, 2:4] # grid xy + gxi = gain[[2, 3]] - gxy # inverse + jk = ops.logical_and((gxy % 1 < g), (gxy > 1)) # .astype(ms.int32) + lm = ops.logical_and((gxi % 1 < g), (gxi > 1)) # .astype(ms.int32) + j, k = jk[:, 0], jk[:, 1] + l, m = lm[:, 0], lm[:, 1] + + # Original + # j = ops.stack((ops.ones_like(j), j, k, l, m)) # shape: (5, *) + # t = ops.tile(t, (5, 1, 1)) # shape(5, *, 7) + # t = t.view(-1, 7) + # mask_m_t = (ops.cast(j, ms.int32) * ops.cast(mask_m_t[None, :], ms.int32)).view(-1) + # # t = t.repeat((5, 1, 1))[j] + # offsets = (ops.zeros_like(gxy)[None, :, :] + off[:, None, :]) #(1,*,2) + (5,1,2) -> (5,*,2) + # offsets = offsets.view(-1, 2) + + # Faster + tag1, tag2 = ops.identity(j), ops.identity(k) + tag1, tag2 = ops.tile(tag1[:, None], (1, 2)), ops.tile(tag2[:, None], (1, 2)) + j_l = ops.logical_or(j, l).astype(ms.int32) + k_m = ops.logical_or(k, m).astype(ms.int32) + center = ops.ones_like(j_l) + j = ops.stack((center, j_l, k_m)) + t = ops.tile(t, (3, 1, 1)) # shape(5, *, 7) + t = t.view(-1, 7) + mask_m_t = (ops.cast(j, ms.int32) * ops.cast(mask_m_t[None, :], ms.int32)).view(-1) + offsets = ops.zeros_like(gxy)[None, :, :] + off[:, None, :] # (1,*,2) + (5,1,2) -> (5,na*nt,2) + offsets_new = ops.zeros((3,) + offsets.shape[1:], offsets.dtype) + offsets_new[1:2, :, :] = ops.select(tag1.astype(ms.bool_), offsets[1, :, :], offsets[3, :, :]) + offsets_new[2:3, :, :] = ops.select(tag2.astype(ms.bool_), offsets[2, :, :], offsets[4, :, :]) + offsets = offsets_new + offsets = offsets.view(-1, 2) + + # Define + b, c, gxy, gwh, a = ( + ops.cast(t[:, 0], ms.int32), + ops.cast(t[:, 1], ms.int32), + t[:, 2:4], + t[:, 4:6], + ops.cast(t[:, 6], ms.int32), + ) # (image, class), grid xy, grid wh, anchors + gij = ops.cast(gxy - offsets, ms.int32) + gij = gij[:] + gi, gj = gij[:, 0], gij[:, 1] # grid indices + gi = gi.clip(0, shape[3] - 1) + gj = gj.clip(0, shape[2] - 1) + + # Append + indices += (ops.stack((b, a, gj, gi), 0),) # image, anchor, grid + tbox += (ops.concat((gxy - gij, gwh), 1),) # box + anch += (anchors[a],) # anchors + tcls += (c,) # class + tmasks += (mask_m_t,) + + return ( + ops.stack(tcls), + ops.stack(tbox), + ops.stack(indices), + ops.stack(anch), + ops.stack(tmasks), + ) # class, box, (image, anchor, gridj, gridi), anchors, mask + + +@ops.constexpr +def get_tensor(x, dtype=ms.float32): + return Tensor(x, dtype) diff --git a/community/cv/ShipWise/mindyolo/models/losses/yolov7_loss.py b/community/cv/ShipWise/mindyolo/models/losses/yolov7_loss.py new file mode 100644 index 000000000..46258369f --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/losses/yolov7_loss.py @@ -0,0 +1,1018 @@ +import numpy as np + +import mindspore as ms +import mindspore.numpy as mnp +from mindspore import Parameter, Tensor, nn, ops + +from mindyolo.models.registry import register_model +from .focal_loss import BCEWithLogitsLoss, FocalLoss, smooth_BCE +from .iou_loss import batch_box_iou, bbox_iou + +CLIP_VALUE = 1000.0 +EPS = 1e-7 + +__all__ = ["YOLOv7Loss", "YOLOv7AuxLoss"] + + +@register_model +class YOLOv7Loss(nn.Cell): + def __init__( + self, box, obj, cls, anchor_t, label_smoothing, fl_gamma, cls_pw, obj_pw, anchors, stride, nc, **kwargs + ): + super(YOLOv7Loss, self).__init__() + self.hyp_box = box + self.hyp_obj = obj + self.hyp_cls = cls + self.hyp_anchor_t = anchor_t + self.nc = nc # number of classes + self.na = len(anchors[0]) // 2 # number of anchors + self.nl = len(anchors) # number of layers + + stride = np.array(stride) + anchors = np.array(anchors).reshape((self.nl, -1, 2)) + anchors = anchors / stride.reshape((-1, 1, 1)) + self.stride = Tensor(stride, ms.int32) + self.anchors = Tensor(anchors, ms.float32) # shape(nl,na,2) + + # Class label smoothing https://arxiv.org/pdf/1902.04103.pdf eqn 3 + self.cp, self.cn = smooth_BCE(eps=label_smoothing) # positive, negative BCE targets + # Focal loss + g = fl_gamma # focal loss gamma + if g > 0: + BCEcls, BCEobj = FocalLoss(bce_pos_weight=Tensor([cls_pw], ms.float32), gamma=g), FocalLoss( + bce_pos_weight=Tensor([obj_pw], ms.float32), gamma=g + ) + else: + # Define criteria + BCEcls = BCEWithLogitsLoss(bce_pos_weight=Tensor(np.array([cls_pw]), ms.float32)) + BCEobj = BCEWithLogitsLoss(bce_pos_weight=Tensor(np.array([obj_pw]), ms.float32)) + + _balance = {3: [4.0, 1.0, 0.4]}.get(self.nl, [4.0, 1.0, 0.25, 0.06, 0.02]) # P3-P7 + self.balance = ms.Parameter(Tensor(_balance, ms.float32), requires_grad=False) + self.BCEcls, self.BCEobj, self.gr = BCEcls, BCEobj, 1.0 + + self._off = Tensor( + [ + [0, 0], + [1, 0], + [0, 1], + [-1, 0], + [0, -1], # j,k,l,m + ], + dtype=ms.float32, + ) + + self.loss_item_name = ["loss", "lbox", "lobj", "lcls"] # branch name returned by lossitem for print + + def construct(self, p, targets, imgs): + lcls, lbox, lobj = 0.0, 0.0, 0.0 + bs, as_, gjs, gis, targets, anchors, tmasks = self.build_targets(p, targets, imgs) # bs: (nl, bs*5*na*gt_max) + bs, as_, gjs, gis, targets, anchors, tmasks = ( + ops.stop_gradient(bs), + ops.stop_gradient(as_), + ops.stop_gradient(gjs), + ops.stop_gradient(gis), + ops.stop_gradient(targets), + ops.stop_gradient(anchors), + ops.stop_gradient(tmasks), + ) + + pre_gen_gains = () + for pp in p: + pre_gen_gains += (get_tensor(pp.shape, targets.dtype)[[3, 2, 3, 2]],) + + # Losses + # for i, pi in enumerate(p): # layer index, layer predictions + for i in range(self.nl): # layer index + pi = p[i] # layer predictions + b, a, gj, gi, tmask = bs[i], as_[i], gjs[i], gis[i], tmasks[i] # image, anchor, gridy, gridx, tmask + tobj = ops.zeros_like(pi[..., 0]) # target obj + + n = b.shape[0] # number of targets + ps = pi[b, a, gj, gi] # prediction subset corresponding to targets + + # Regression + grid = ops.stack([gi, gj], axis=1) + pxy = ops.Sigmoid()(ps[:, :2]) * 2.0 - 0.5 + pwh = (ops.Sigmoid()(ps[:, 2:4]) * 2) ** 2 * anchors[i] + pbox = ops.concat((pxy, pwh), 1) # predicted box + selected_tbox = targets[i][:, 2:6] * pre_gen_gains[i] + selected_tbox[:, :2] -= grid + iou = bbox_iou(pbox, selected_tbox, xywh=True, CIoU=True).view(-1) + lbox += ((1.0 - iou) * tmask).sum() / tmask.astype(iou.dtype).sum().clip(1, None) # iou loss + + # Objectness + tobj[b, a, gj, gi] = ((1.0 - self.gr) + self.gr * ops.stop_gradient(iou).clip(0, None)) * tmask # iou ratio + + # Classification + selected_tcls = ops.cast(targets[i][:, 1], ms.int32) + if self.nc > 1: # cls loss (only if multiple classes) + t = ops.ones_like(ps[:, 5:]) * self.cn # targets + t[mnp.arange(n, dtype=ms.int32), selected_tcls] = self.cp + lcls += self.BCEcls(ps[:, 5:], t, ops.tile(tmask[:, None], (1, t.shape[1]))) # BCE + + obji = self.BCEobj(pi[..., 4], tobj) + lobj += obji * self.balance[i] # obj loss + + lbox *= self.hyp_box + lobj *= self.hyp_obj + lcls *= self.hyp_cls + bs = p[0].shape[0] # batch size + + loss = lbox + lobj + lcls + return loss * bs, ops.stop_gradient(ops.stack((loss, lbox, lobj, lcls))) + + def build_targets(self, p, targets, imgs): + indices, anch, tmasks = self.find_3_positive(p, targets) + + na, n_gt_max = self.na, targets.shape[1] + nl, batch_size, img_size = len(p), p[0].shape[0], imgs[0].shape[1] + + this_target = targets.view(-1, 6) + + txywh = this_target[:, 2:6] * img_size + txyxy = xywh2xyxy(txywh) + txyxy = txyxy.view(batch_size, n_gt_max, 4) + this_target = this_target.view(batch_size, n_gt_max, 6) + this_mask = this_target[:, :, 1] >= 0 # (bs, gt_max) + + pxyxys = () + p_cls = () + p_obj = () + all_b = () + all_a = () + all_gj = () + all_gi = () + all_anch = () + all_tmasks = () + + # for i, pi in enumerate(p): + for i in range(self.nl): + pi = p[i] + _this_indices = indices[i].view(4, 3 * na, batch_size, n_gt_max).transpose(0, 2, 1, 3).view(4, -1) + _this_anch = anch[i].view(3 * na, batch_size, n_gt_max * 2).transpose(1, 0, 2).view(-1, 2) + _this_mask = tmasks[i].view(3 * na, batch_size, n_gt_max).transpose(1, 0, 2).view(-1) + + _this_indices *= _this_mask[None, :] + _this_anch *= _this_mask[:, None] + + b, a, gj, gi = ops.split(_this_indices, split_size_or_sections=1, axis=0) + b, a, gj, gi = b.view(-1), a.view(-1), gj.view(-1), gi.view(-1) + + fg_pred = pi[b, a, gj, gi] + p_obj += (fg_pred[:, 4:5].view(batch_size, 3 * na * n_gt_max, 1),) + p_cls += (fg_pred[:, 5:].view(batch_size, 3 * na * n_gt_max, -1),) + + grid = ops.stack((gi, gj), axis=1) + pxy = (ops.Sigmoid()(fg_pred[:, :2]) * 2.0 - 0.5 + grid) * self.stride[i] # / 8. + pwh = (ops.Sigmoid()(fg_pred[:, 2:4]) * 2) ** 2 * _this_anch * self.stride[i] # / 8. + pxywh = ops.concat((pxy, pwh), axis=-1) + pxyxy = xywh2xyxy(pxywh) + + b, a, gj, gi, pxyxy, _this_anch, _this_mask = ( + b.view(batch_size, -1), + a.view(batch_size, -1), + gj.view(batch_size, -1), + gi.view(batch_size, -1), + pxyxy.view(batch_size, -1, 4), + _this_anch.view(batch_size, -1, 2), + _this_mask.view(batch_size, -1), + ) + all_b += (b,) + all_a += (a,) + all_gj += (gj,) + all_gi += (gi,) + pxyxys += (pxyxy,) + all_anch += (_this_anch,) + all_tmasks += (_this_mask,) + + pxyxys = ops.concat(pxyxys, axis=1) # nl * (bs, 5*na*gt_max, 4) -> cat -> (bs, c, 4) # nt = bs * gt_max + p_obj = ops.concat(p_obj, axis=1) + p_cls = ops.concat(p_cls, axis=1) # nl * (bs, 5*na*gt_max, 80) -> (bs, nl*5*na*gt_max, 80) + all_b = ops.concat(all_b, axis=1) # nl * (bs, 5*na*gt_max) -> (bs, nl*5*na*gt_max) + all_a = ops.concat(all_a, axis=1) + all_gj = ops.concat(all_gj, axis=1) + all_gi = ops.concat(all_gi, axis=1) + all_anch = ops.concat(all_anch, axis=1) + all_tmasks = ops.concat(all_tmasks, axis=1) # (bs, nl*5*na*gt_max) + + this_mask = all_tmasks[:, None, :] * this_mask[:, :, None] # (bs, gt_max, nl*5*na*gt_max,) + + # (bs, gt_max, 4), (bs, nl*5*na*gt_max, 4) -> (bs, gt_max, nl*5*na*gt_max) + pair_wise_iou = batch_box_iou(txyxy, pxyxys) * this_mask # (bs, gt_max, nl*5*na*gt_max,) + pair_wise_iou_loss = -ops.log(pair_wise_iou + EPS) + + v, _ = ops.top_k(pair_wise_iou, 10) # (bs, gt_max, 10) + dynamic_ks = ops.cast(v.sum(-1).clip(1, 10), ms.int32) # (bs, gt_max) + + # (bs, gt_max, 80) + gt_cls_per_image = ops.one_hot( + indices=ops.cast(this_target[:, :, 1], ms.int32), + depth=self.nc, + on_value=ops.ones(1, p_cls.dtype), + off_value=ops.zeros(1, p_cls.dtype), + ) + # (bs, gt_max, nl*5*na*gt_max, 80) + gt_cls_per_image = ops.tile( + ops.expand_dims(ops.cast(gt_cls_per_image, p_cls.dtype), 2), (1, 1, pxyxys.shape[1], 1) + ) + + cls_preds_ = ops.sqrt(ops.Sigmoid()(p_cls) * ops.Sigmoid()(p_obj)) + cls_preds_ = ops.tile( + ops.expand_dims(cls_preds_, 1), (1, n_gt_max, 1, 1) + ) # (bs, nl*5*na*gt_max, 80) -> (bs, gt_max, nl*5*na*gt_max, 80) + y = cls_preds_ + + pair_wise_cls_loss = ops.binary_cross_entropy_with_logits( + ops.log(y / (1 - y) + EPS), + gt_cls_per_image, + ops.ones(1, cls_preds_.dtype), + ops.ones(1, cls_preds_.dtype), + reduction="none", + ).sum( + -1 + ) # (bs, gt_max, nl*5*na*gt_max) + + cost = pair_wise_cls_loss + 3.0 * pair_wise_iou_loss + cost = cost * this_mask + cost += CLIP_VALUE * (1.0 - ops.cast(this_mask, cost.dtype)) + + sort_cost, sort_idx = ops.top_k(-cost, 10, sorted=True) # (bs, gt_max, 10) + sort_cost = -sort_cost + pos_idx = ops.stack((mnp.arange(batch_size * n_gt_max, dtype=ms.int32), dynamic_ks.view(-1) - 1), -1) + pos_v = ops.gather_nd(sort_cost.view(batch_size * n_gt_max, 10), pos_idx).view(batch_size, n_gt_max) + matching_matrix = ops.cast(cost <= pos_v[:, :, None], ms.int32) * this_mask + + # delete reduplicate match label, one anchor only match one gt + cost_argmin = mnp.argmin(cost, axis=1) # (bs, nl*5*na*gt_max) + anchor_matching_gt_mask = ops.one_hot( + cost_argmin, n_gt_max, ops.ones(1, ms.float16), ops.zeros(1, ms.float16), axis=-1 + ).transpose( + 0, 2, 1 + ) # (bs, gt_max, nl*5*na*gt_max) + matching_matrix = matching_matrix * ops.cast(anchor_matching_gt_mask, matching_matrix.dtype) + + fg_mask_inboxes = ( + matching_matrix.astype(ms.float16).sum(1) > 0.0 + ) # (bs, gt_max, nl*5*na*gt_max) -> (bs, nl*5*na*gt_max) + all_tmasks = all_tmasks * ops.cast(fg_mask_inboxes, ms.int32) # (bs, nl*5*na*gt_max) + matched_gt_inds = matching_matrix.argmax(1).astype(ms.int32) # (bs, gt_max, nl*5*na*gt_max) -> (bs, nl*5*na*gt_max) + matched_bs_inds = ops.tile( + mnp.arange(batch_size, dtype=ms.int32)[:, None], (1, matching_matrix.shape[2]) + ) # (bs, nl*5*na*gt_max) + matched_inds = ops.stack((matched_bs_inds.view(-1), matched_gt_inds.view(-1)), 1) # (bs*nl*5*na*gt_max, 2) + matched_inds *= all_tmasks.view(-1)[:, None] + this_target = ops.gather_nd(this_target, matched_inds) # (bs*nl*5*na*gt_max, 6) + # this_target = this_target.view(-1, 6)[matched_gt_inds.view(-1,)] # (bs*nl*5*na*gt_max, 6) + + # (bs, nl*5*na*gt_max,) -> (bs, nl, 5*na*gt_max) -> (nl, bs*5*na*gt_max) + matching_tmasks = all_tmasks.view(batch_size, nl, -1).transpose(1, 0, 2).view(nl, -1) + matching_bs = all_b.view(batch_size, nl, -1).transpose(1, 0, 2).view(nl, -1) * matching_tmasks + matching_as = all_a.view(batch_size, nl, -1).transpose(1, 0, 2).view(nl, -1) * matching_tmasks + matching_gjs = all_gj.view(batch_size, nl, -1).transpose(1, 0, 2).view(nl, -1) * matching_tmasks + matching_gis = all_gi.view(batch_size, nl, -1).transpose(1, 0, 2).view(nl, -1) * matching_tmasks + matching_targets = ( + this_target.view(batch_size, nl, -1, 6).transpose(1, 0, 2, 3).view(nl, -1, 6) * matching_tmasks[..., None] + ) + matching_anchs = ( + all_anch.view(batch_size, nl, -1, 2).transpose(1, 0, 2, 3).view(nl, -1, 2) * matching_tmasks[..., None] + ) + + return matching_bs, matching_as, matching_gjs, matching_gis, matching_targets, matching_anchs, matching_tmasks + + def find_3_positive(self, p, targets): + # Build targets for compute_loss(), input targets(image,class,x,y,w,h) + targets = targets.view(-1, 6) # (bs, gt_max, 6) -> (bs*gt_max, 6) + mask_t = targets[:, 1] >= 0 # (bs*gt_max,) + na, nt = self.na, targets.shape[0] # number of anchors, targets + indices, anch, tmasks = (), (), () + gain = ops.ones(7, ms.int32) # normalized to gridspace gain + ai = ops.tile(mnp.arange(na, dtype=targets.dtype).view(na, 1), (1, nt)) # shape: (na, nt) + targets = ops.concat((ops.tile(targets, (na, 1, 1)), ai[:, :, None]), 2) # append anchor indices # (na, nt, 7) + + g = 0.5 # bias + off = ops.cast(self._off, targets.dtype) * g # offsets + + for i in range(self.nl): + anchors, shape = self.anchors[i], p[i].shape + gain[2:6] = get_tensor(shape, targets.dtype)[[3, 2, 3, 2]] # xyxy gain # [W, H, W, H] + + # Match targets to anchors + t = targets * gain # (na, nt, 7) + # Matches + r = t[:, :, 4:6] / anchors[:, None, :] # wh ratio + j = ops.maximum(r, 1.0 / r).max(2) < self.hyp_anchor_t # compare # (na, nt) + + mask_m_t = ops.logical_and(j, mask_t[None, :]).view(-1) + t = t.view(-1, 7) # (na*nt, 7) + + # Offsets + gxy = t[:, 2:4] # grid xy + gxi = gain[[2, 3]] - gxy # inverse + jk = ops.logical_and((gxy % 1.0 < g), (gxy > 1.0)) + lm = ops.logical_and((gxi % 1.0 < g), (gxi > 1.0)) + j, k = jk[:, 0], jk[:, 1] + l, m = lm[:, 0], lm[:, 1] + + # original + # j = ops.stack((ops.ones_like(j), j, k, l, m)) # shape: (5, *) + # t = ops.tile(t, (5, 1, 1)) # shape(5, *, 7) + # t = t.view(-1, 7) + # mask_m_t = (ops.cast(j, ms.int32) * ops.cast(mask_m_t[None, :], ms.int32)).view(-1) + # # t = t.repeat((5, 1, 1))[j] + # offsets = (ops.zeros_like(gxy)[None, :, :] + off[:, None, :]) # (1,*,2) + (5,1,2) -> (5,na*nt,2) + # offsets = offsets.view(-1, 2) # (5*na*nt, 2) + # # offsets = (torch.zeros_like(gxy)[None] + off[:, None])[j] + + # Faster + tag1, tag2 = ops.tile(j[:, None], (1, 2)), ops.tile(k[:, None], (1, 2)) + j_l = ops.logical_or(j, l).astype(ms.int32) + k_m = ops.logical_or(k, m).astype(ms.int32) + center = ops.ones_like(j_l) + j = ops.stack((center, j_l, k_m)) + mask_m_t = (ops.cast(j, ms.int32) * ops.cast(mask_m_t[None, :], ms.int32)).view(-1) + t = ops.tile(t, (3, 1, 1)) # shape(5, *, 7) + t = t.view(-1, 7) + offsets = ops.zeros_like(gxy)[None, :, :] + off[:, None, :] # (1,*,2) + (5,1,2) -> (5,na*nt,2) + offsets_new = ops.zeros((3,) + offsets.shape[1:], offsets.dtype) + offsets_new[1, :, :] = ops.select(tag1.astype(ms.bool_), offsets[1, ...], offsets[3, ...]) + offsets_new[2, :, :] = ops.select(tag2.astype(ms.bool_), offsets[2, ...], offsets[4, ...]) + offsets = offsets_new + offsets = offsets.view(-1, 2) + + # Define + b, c, gxy, gwh, a = ( + ops.cast(t[:, 0], ms.int32), + ops.cast(t[:, 1], ms.int32), + t[:, 2:4], + t[:, 4:6], + ops.cast(t[:, 6], ms.int32), + ) # (image, class), grid xy, grid wh, anchors # b: (5*na*nt,), gxy: (5*na*nt, 2) + gij = ops.cast(gxy - offsets, ms.int32) + gi, gj = gij[:, 0], gij[:, 1] # grid indices + gi = gi.clip(0, shape[3] - 1) + gj = gj.clip(0, shape[2] - 1) + + # Append + indices += (ops.stack((b, a, gj, gi), 0),) # image, anchor, grid + anch += (anchors[a],) # anchors + tmasks += (mask_m_t,) + + return indices, anch, tmasks + + +@register_model +class YOLOv7AuxLoss(nn.Cell): + def __init__( + self, box, obj, cls, anchor_t, label_smoothing, fl_gamma, cls_pw, obj_pw, anchors, stride, nc, **kwargs + ): + super(YOLOv7AuxLoss, self).__init__() + self.hyp_box = box + self.hyp_obj = obj + self.hyp_cls = cls + self.hyp_anchor_t = anchor_t + self.nc = nc # number of classes + self.na = len(anchors[0]) // 2 # number of anchors + self.nl = len(anchors) # number of layers + + # modify weight of box/obj/cls when aux_loss + self.hyp_box *= 3.0 / self.nl + self.hyp_cls *= self.nc / 80.0 * 3.0 / self.nl + self.hyp_obj *= 2.0**2 * 3.0 / self.nl + + stride = np.array(stride) + anchors = np.array(anchors).reshape((self.nl, -1, 2)) + anchors = anchors / stride.reshape((-1, 1, 1)) + self.stride = Tensor(stride, ms.int32) + self.anchors = Tensor(anchors, ms.float32) # shape(nl,na,2) + + # Class label smoothing https://arxiv.org/pdf/1902.04103.pdf eqn 3 + self.cp, self.cn = smooth_BCE(eps=label_smoothing) # positive, negative BCE targets + # Focal loss + g = fl_gamma # focal loss gamma + if g > 0: + BCEcls, BCEobj = FocalLoss(bce_pos_weight=Tensor([cls_pw], ms.float32), gamma=g), FocalLoss( + bce_pos_weight=Tensor([obj_pw], ms.float32), gamma=g + ) + else: + # Define criteria + BCEcls = BCEWithLogitsLoss(bce_pos_weight=Tensor(np.array([cls_pw]), ms.float32)) + BCEobj = BCEWithLogitsLoss(bce_pos_weight=Tensor(np.array([obj_pw]), ms.float32)) + + _balance = {3: [4.0, 1.0, 0.4]}.get(self.nl, [4.0, 1.0, 0.25, 0.06, 0.02]) # P3-P7 + self.balance = ms.Parameter(Tensor(_balance, ms.float32), requires_grad=False) + self.BCEcls, self.BCEobj, self.gr = BCEcls, BCEobj, 1.0 + + self._off = Tensor( + [ + [0, 0], + [1, 0], + [0, 1], + [-1, 0], + [0, -1], # j,k,l,m + # [1, 1], [1, -1], [-1, 1], [-1, -1], # jk,jm,lk,lm + ], + dtype=ms.float32, + ) + + self.loss_item_name = ["loss", "lbox", "lobj", "lcls"] # branch name returned by loss for print + + def construct(self, p, targets, imgs): + lcls, lbox, lobj = 0.0, 0.0, 0.0 + targets_ori = targets + bs, as_, gjs, gis, targets, anchors, tmasks = self.build_targets( + p[: self.nl], targets_ori, imgs + ) # bs: (nl, bs*3*na*gt_max) + bs_aux, as_aux_, gjs_aux, gis_aux, targets_aux, anchors_aux, tmasks_aux = self.build_targets_2( + p[: self.nl], targets_ori, imgs + ) # bs: (nl, bs*5*na*gt_max) + + bs, as_, gjs, gis, targets, anchors, tmasks = ( + ops.stop_gradient(bs), + ops.stop_gradient(as_), + ops.stop_gradient(gjs), + ops.stop_gradient(gis), + ops.stop_gradient(targets), + ops.stop_gradient(anchors), + ops.stop_gradient(tmasks), + ) + bs_aux, as_aux_, gjs_aux, gis_aux, targets_aux, anchors_aux, tmasks_aux = ( + ops.stop_gradient(bs_aux), + ops.stop_gradient(as_aux_), + ops.stop_gradient(gjs_aux), + ops.stop_gradient(gis_aux), + ops.stop_gradient(targets_aux), + ops.stop_gradient(anchors_aux), + ops.stop_gradient(tmasks_aux), + ) + + pre_gen_gains = () + # pre_gen_gains_aux = () + for pp in p[: self.nl]: + pre_gen_gains += (get_tensor(pp.shape, targets.dtype)[[3, 2, 3, 2]],) + # pre_gen_gains_aux += (get_tensor(pp.shape, targets.dtype)[[3, 2, 3, 2]],) + + # Losses + for i in range(self.nl): # layer index + pi = p[i] # layer predictions + pi_aux = p[i + self.nl] + b, a, gj, gi, tmask = bs[i], as_[i], gjs[i], gis[i], tmasks[i] # image, anchor, gridy, gridx, tmask + b_aux, a_aux, gj_aux, gi_aux, tmask_aux = bs_aux[i], as_aux_[i], gjs_aux[i], gis_aux[i], tmasks_aux[i] + tobj = ops.zeros_like(pi[..., 0]) # target obj + tobj_aux = ops.zeros_like(pi_aux[..., 0]) # target obj + + # 1. Branch1, Compute main branch loss + n = b.shape[0] # number of targets + ps = pi[b, a, gj, gi] # prediction subset corresponding to targets + # 1.1. Regression + grid = ops.stack([gi, gj], axis=1) + pxy = ops.Sigmoid()(ps[:, :2]) * 2.0 - 0.5 + pwh = (ops.Sigmoid()(ps[:, 2:4]) * 2) ** 2 * anchors[i] + pbox = ops.concat((pxy, pwh), 1) # predicted box + selected_tbox = targets[i][:, 2:6] * pre_gen_gains[i] + selected_tbox[:, :2] -= grid + iou = bbox_iou(pbox, selected_tbox, xywh=True, CIoU=True).view(-1) + lbox += ((1.0 - iou) * tmask).sum() / tmask.astype(iou.dtype).sum().clip(1, None) # iou loss + # 1.2. Objectness + tobj[b, a, gj, gi] = ((1.0 - self.gr) + self.gr * ops.stop_gradient(iou).clip(0, None)) * tmask # iou ratio + obji = self.BCEobj(pi[..., 4], tobj) + lobj += obji * self.balance[i] # obj loss + # 1.3. Classification + selected_tcls = ops.cast(targets[i][:, 1], ms.int32) + if self.nc > 1: # cls loss (only if multiple classes) + t = ops.ones_like(ps[:, 5:]) * self.cn # targets + t[mnp.arange(n, dtype=ms.int32), selected_tcls] = self.cp + lcls += self.BCEcls(ps[:, 5:], t, ops.tile(tmask[:, None], (1, t.shape[1]))) # BCE + + # 2. Branch2, Compute Aux branch loss + n_aux = b_aux.shape[0] # number of targets + ps_aux = pi[b_aux, a_aux, gj_aux, gi_aux] # prediction subset corresponding to targets + # 2.1. Regression + grid_aux = ops.stack([gi_aux, gj_aux], axis=1) + pxy_aux = ops.Sigmoid()(ps_aux[:, :2]) * 2.0 - 0.5 + pwh_aux = (ops.Sigmoid()(ps_aux[:, 2:4]) * 2) ** 2 * anchors_aux[i] + pbox_aux = ops.concat((pxy_aux, pwh_aux), 1) # predicted box + selected_tbox_aux = targets_aux[i][:, 2:6] * pre_gen_gains[i] + selected_tbox_aux[:, :2] -= grid_aux + iou_aux = bbox_iou(pbox_aux, selected_tbox_aux, xywh=True, CIoU=True).view(-1) + lbox += ( + 0.25 * ((1.0 - iou_aux) * tmask_aux).sum() / tmask_aux.astype(iou_aux.dtype).sum().clip(1, None) + ) # iou loss + # 1.2. Objectness + tobj_aux[b_aux, a_aux, gj_aux, gi_aux] = ( + (1.0 - self.gr) + self.gr * ops.stop_gradient(iou_aux).clip(0, None) + ) * tmask_aux # iou ratio + obji_aux = self.BCEobj(pi_aux[..., 4], tobj_aux) + lobj += 0.25 * obji_aux * self.balance[i] # obj loss + # 1.3. Classification + selected_tcls_aux = ops.cast(targets_aux[i][:, 1], ms.int32) + if self.nc > 1: # cls loss (only if multiple classes) + t_aux = ops.ones_like(ps_aux[:, 5:]) * self.cn # targets + t_aux[mnp.arange(n_aux, dtype=ms.int32), selected_tcls_aux] = self.cp + lcls += 0.25 * self.BCEcls( + ps_aux[:, 5:], t_aux, ops.tile(tmask_aux[:, None], (1, t_aux.shape[1])) + ) # BCE + + lbox *= self.hyp_box + lobj *= self.hyp_obj + lcls *= self.hyp_cls + bs = p[0].shape[0] # batch size + + loss = lbox + lobj + lcls + return loss * bs, ops.stop_gradient(ops.stack((loss, lbox, lobj, lcls))) + + def build_targets(self, p, targets, imgs): + indices, anch, tmasks = self.find_3_positive(p, targets) + + na, n_gt_max = self.na, targets.shape[1] + nl, batch_size, img_size = len(p), p[0].shape[0], imgs[0].shape[1] + + this_target = targets.view(-1, 6) + + txywh = this_target[:, 2:6] * img_size + txyxy = xywh2xyxy(txywh) + txyxy = txyxy.view(batch_size, n_gt_max, 4) + this_target = this_target.view(batch_size, n_gt_max, 6) + this_mask = this_target[:, :, 1] >= 0 # (bs, gt_max) + + pxyxys = () + p_cls = () + p_obj = () + all_b = () + all_a = () + all_gj = () + all_gi = () + all_anch = () + all_tmasks = () + + # for i, pi in enumerate(p): + for i in range(self.nl): + pi = p[i] + _this_indices = indices[i].view(4, 3 * na, batch_size, n_gt_max).transpose(0, 2, 1, 3).view(4, -1) + _this_anch = anch[i].view(3 * na, batch_size, n_gt_max * 2).transpose(1, 0, 2).view(-1, 2) + _this_mask = tmasks[i].view(3 * na, batch_size, n_gt_max).transpose(1, 0, 2).view(-1) + + _this_indices *= _this_mask[None, :] + _this_anch *= _this_mask[:, None] + + b, a, gj, gi = ops.split(_this_indices, split_size_or_sections=1, axis=0) + b, a, gj, gi = b.view(-1), a.view(-1), gj.view(-1), gi.view(-1) + + fg_pred = pi[b, a, gj, gi] + p_obj += (fg_pred[:, 4:5].view(batch_size, 3 * na * n_gt_max, 1),) + p_cls += (fg_pred[:, 5:].view(batch_size, 3 * na * n_gt_max, -1),) + + grid = ops.stack((gi, gj), axis=1) + pxy = (ops.Sigmoid()(fg_pred[:, :2]) * 2.0 - 0.5 + grid) * self.stride[i] # / 8. + pwh = (ops.Sigmoid()(fg_pred[:, 2:4]) * 2) ** 2 * _this_anch * self.stride[i] # / 8. + pxywh = ops.concat((pxy, pwh), axis=-1) + pxyxy = xywh2xyxy(pxywh) + + b, a, gj, gi, pxyxy, _this_anch, _this_mask = ( + b.view(batch_size, -1), + a.view(batch_size, -1), + gj.view(batch_size, -1), + gi.view(batch_size, -1), + pxyxy.view(batch_size, -1, 4), + _this_anch.view(batch_size, -1, 2), + _this_mask.view(batch_size, -1), + ) + all_b += (b,) + all_a += (a,) + all_gj += (gj,) + all_gi += (gi,) + pxyxys += (pxyxy,) + all_anch += (_this_anch,) + all_tmasks += (_this_mask,) + + pxyxys = ops.concat(pxyxys, axis=1) # nl * (bs, 5*na*gt_max, 4) -> cat -> (bs, c, 4) # nt = bs * gt_max + p_obj = ops.concat(p_obj, axis=1) + p_cls = ops.concat(p_cls, axis=1) # nl * (bs, 5*na*gt_max, 80) -> (bs, nl*5*na*gt_max, 80) + all_b = ops.concat(all_b, axis=1) # nl * (bs, 5*na*gt_max) -> (bs, nl*5*na*gt_max) + all_a = ops.concat(all_a, axis=1) + all_gj = ops.concat(all_gj, axis=1) + all_gi = ops.concat(all_gi, axis=1) + all_anch = ops.concat(all_anch, axis=1) + all_tmasks = ops.concat(all_tmasks, axis=1) # (bs, nl*5*na*gt_max) + + this_mask = all_tmasks[:, None, :] * this_mask[:, :, None] # (bs, gt_max, nl*5*na*gt_max,) + + # (bs, gt_max, 4), (bs, nl*5*na*gt_max, 4) -> (bs, gt_max, nl*5*na*gt_max) + pair_wise_iou = batch_box_iou(txyxy, pxyxys) * this_mask # (bs, gt_max, nl*5*na*gt_max,) + pair_wise_iou_loss = -ops.log(pair_wise_iou + EPS) + + # Top 20 iou sum for aux, default 10 + v, _ = ops.top_k(pair_wise_iou, 20) # (bs, gt_max, 20) + dynamic_ks = ops.cast(v.sum(-1).clip(1, 20), ms.int32) # (bs, gt_max) + + # (bs, gt_max, 80) + gt_cls_per_image = ops.one_hot( + indices=ops.cast(this_target[:, :, 1], ms.int32), + depth=self.nc, + on_value=ops.ones(1, p_cls.dtype), + off_value=ops.zeros(1, p_cls.dtype), + ) + # (bs, gt_max, nl*5*na*gt_max, 80) + gt_cls_per_image = ops.tile( + ops.expand_dims(ops.cast(gt_cls_per_image, p_cls.dtype), 2), (1, 1, pxyxys.shape[1], 1) + ) + + cls_preds_ = ops.sqrt(ops.Sigmoid()(p_cls) * ops.Sigmoid()(p_obj)) + cls_preds_ = ops.tile( + ops.expand_dims(cls_preds_, 1), (1, n_gt_max, 1, 1) + ) # (bs, nl*5*na*gt_max, 80) -> (bs, gt_max, nl*5*na*gt_max, 80) + y = cls_preds_ + + pair_wise_cls_loss = ops.binary_cross_entropy_with_logits( + ops.log(y / (1 - y) + EPS), + gt_cls_per_image, + ops.ones(1, cls_preds_.dtype), + ops.ones(1, cls_preds_.dtype), + reduction="none", + ).sum( + -1 + ) # (bs, gt_max, nl*5*na*gt_max) + + cost = pair_wise_cls_loss + 3.0 * pair_wise_iou_loss + cost = cost * this_mask + cost += CLIP_VALUE * (1.0 - ops.cast(this_mask, cost.dtype)) + + sort_cost, sort_idx = ops.top_k(-cost, 20, sorted=True) # (bs, gt_max, 20) + sort_cost = -sort_cost + pos_idx = ops.stack((mnp.arange(batch_size * n_gt_max, dtype=ms.int32), dynamic_ks.view(-1) - 1), -1) + pos_v = ops.gather_nd(sort_cost.view(batch_size * n_gt_max, 20), pos_idx).view(batch_size, n_gt_max) + matching_matrix = ops.cast(cost <= pos_v[:, :, None], ms.int32) * this_mask + + # delete reduplicate match label, one anchor only match one gt + cost_argmin = mnp.argmin(cost, axis=1) # (bs, nl*5*na*gt_max) + anchor_matching_gt_mask = ops.one_hot( + cost_argmin, n_gt_max, ops.ones(1, ms.float16), ops.zeros(1, ms.float16), axis=-1 + ).transpose( + 0, 2, 1 + ) # (bs, gt_max, nl*5*na*gt_max) + matching_matrix = matching_matrix * ops.cast(anchor_matching_gt_mask, matching_matrix.dtype) + + fg_mask_inboxes = ( + matching_matrix.astype(ms.float16).sum(1) > 0.0 + ) # (bs, gt_max, nl*5*na*gt_max) -> (bs, nl*5*na*gt_max) + all_tmasks = all_tmasks * ops.cast(fg_mask_inboxes, ms.int32) # (bs, nl*5*na*gt_max) + matched_gt_inds = matching_matrix.argmax(1).astype(ms.int32) # (bs, gt_max, nl*5*na*gt_max) -> (bs, nl*5*na*gt_max) + matched_bs_inds = ops.tile( + mnp.arange(batch_size, dtype=ms.int32)[:, None], (1, matching_matrix.shape[2]) + ) # (bs, nl*5*na*gt_max) + matched_inds = ops.stack((matched_bs_inds.view(-1), matched_gt_inds.view(-1)), 1) # (bs*nl*5*na*gt_max, 2) + matched_inds *= all_tmasks.view(-1)[:, None] + this_target = ops.gather_nd(this_target, matched_inds) # (bs*nl*5*na*gt_max, 6) + # this_target = this_target.view(-1, 6)[matched_gt_inds.view(-1,)] # (bs*nl*5*na*gt_max, 6) + + # (bs, nl*5*na*gt_max,) -> (bs, nl, 5*na*gt_max) -> (nl, bs*5*na*gt_max) + matching_tmasks = all_tmasks.view(batch_size, nl, -1).transpose(1, 0, 2).view(nl, -1) + matching_bs = all_b.view(batch_size, nl, -1).transpose(1, 0, 2).view(nl, -1) * matching_tmasks + matching_as = all_a.view(batch_size, nl, -1).transpose(1, 0, 2).view(nl, -1) * matching_tmasks + matching_gjs = all_gj.view(batch_size, nl, -1).transpose(1, 0, 2).view(nl, -1) * matching_tmasks + matching_gis = all_gi.view(batch_size, nl, -1).transpose(1, 0, 2).view(nl, -1) * matching_tmasks + matching_targets = ( + this_target.view(batch_size, nl, -1, 6).transpose(1, 0, 2, 3).view(nl, -1, 6) * matching_tmasks[..., None] + ) + matching_anchs = ( + all_anch.view(batch_size, nl, -1, 2).transpose(1, 0, 2, 3).view(nl, -1, 2) * matching_tmasks[..., None] + ) + + return matching_bs, matching_as, matching_gjs, matching_gis, matching_targets, matching_anchs, matching_tmasks + + def build_targets_2(self, p, targets, imgs): + indices, anch, tmasks = self.find_5_positive(p, targets) + + na, n_gt_max = self.na, targets.shape[1] + nl, batch_size, img_size = len(p), p[0].shape[0], imgs[0].shape[1] + + this_target = targets.view(-1, 6) + + txywh = this_target[:, 2:6] * img_size + txyxy = xywh2xyxy(txywh) + txyxy = txyxy.view(batch_size, n_gt_max, 4) + this_target = this_target.view(batch_size, n_gt_max, 6) + this_mask = this_target[:, :, 1] >= 0 # (bs, gt_max) + + pxyxys = () + p_cls = () + p_obj = () + all_b = () + all_a = () + all_gj = () + all_gi = () + all_anch = () + all_tmasks = () + + # for i, pi in enumerate(p): + for i in range(self.nl): + pi = p[i] + _this_indices = indices[i].view(4, 5 * na, batch_size, n_gt_max).transpose(0, 2, 1, 3).view(4, -1) + _this_anch = anch[i].view(5 * na, batch_size, n_gt_max * 2).transpose(1, 0, 2).view(-1, 2) + _this_mask = tmasks[i].view(5 * na, batch_size, n_gt_max).transpose(1, 0, 2).view(-1) + + _this_indices *= _this_mask[None, :] + _this_anch *= _this_mask[:, None] + + b, a, gj, gi = ops.split(_this_indices, split_size_or_sections=1, axis=0) + b, a, gj, gi = b.view(-1), a.view(-1), gj.view(-1), gi.view(-1) + + fg_pred = pi[b, a, gj, gi] + p_obj += (fg_pred[:, 4:5].view(batch_size, 5 * na * n_gt_max, 1),) + p_cls += (fg_pred[:, 5:].view(batch_size, 5 * na * n_gt_max, -1),) + + grid = ops.stack((gi, gj), axis=1) + pxy = (ops.Sigmoid()(fg_pred[:, :2]) * 2.0 - 0.5 + grid) * self.stride[i] # / 8. + pwh = (ops.Sigmoid()(fg_pred[:, 2:4]) * 2) ** 2 * _this_anch * self.stride[i] # / 8. + pxywh = ops.concat((pxy, pwh), axis=-1) + pxyxy = xywh2xyxy(pxywh) + + b, a, gj, gi, pxyxy, _this_anch, _this_mask = ( + b.view(batch_size, -1), + a.view(batch_size, -1), + gj.view(batch_size, -1), + gi.view(batch_size, -1), + pxyxy.view(batch_size, -1, 4), + _this_anch.view(batch_size, -1, 2), + _this_mask.view(batch_size, -1), + ) + all_b += (b,) + all_a += (a,) + all_gj += (gj,) + all_gi += (gi,) + pxyxys += (pxyxy,) + all_anch += (_this_anch,) + all_tmasks += (_this_mask,) + + pxyxys = ops.concat(pxyxys, axis=1) # nl * (bs, 5*na*gt_max, 4) -> cat -> (bs, c, 4) # nt = bs * gt_max + p_obj = ops.concat(p_obj, axis=1) + p_cls = ops.concat(p_cls, axis=1) # nl * (bs, 5*na*gt_max, 80) -> (bs, nl*5*na*gt_max, 80) + all_b = ops.concat(all_b, axis=1) # nl * (bs, 5*na*gt_max) -> (bs, nl*5*na*gt_max) + all_a = ops.concat(all_a, axis=1) + all_gj = ops.concat(all_gj, axis=1) + all_gi = ops.concat(all_gi, axis=1) + all_anch = ops.concat(all_anch, axis=1) + all_tmasks = ops.concat(all_tmasks, axis=1) # (bs, nl*5*na*gt_max) + + this_mask = all_tmasks[:, None, :] * this_mask[:, :, None] # (bs, gt_max, nl*5*na*gt_max,) + + # (bs, gt_max, 4), (bs, nl*5*na*gt_max, 4) -> (bs, gt_max, nl*5*na*gt_max) + pair_wise_iou = batch_box_iou(txyxy, pxyxys) * this_mask # (bs, gt_max, nl*5*na*gt_max,) + pair_wise_iou_loss = -ops.log(pair_wise_iou + EPS) + + # Top 20 iou sum for aux, default 10 + v, _ = ops.top_k(pair_wise_iou, 20) # (bs, gt_max, 20) + dynamic_ks = ops.cast(v.sum(-1).clip(1, 20), ms.int32) # (bs, gt_max) + + # (bs, gt_max, 80) + gt_cls_per_image = ops.one_hot( + indices=ops.cast(this_target[:, :, 1], ms.int32), + depth=self.nc, + on_value=ops.ones(1, p_cls.dtype), + off_value=ops.zeros(1, p_cls.dtype), + ) + # (bs, gt_max, nl*5*na*gt_max, 80) + gt_cls_per_image = ops.tile( + ops.expand_dims(ops.cast(gt_cls_per_image, p_cls.dtype), 2), (1, 1, pxyxys.shape[1], 1) + ) + + cls_preds_ = ops.sqrt(ops.Sigmoid()(p_cls) * ops.Sigmoid()(p_obj)) + cls_preds_ = ops.tile( + ops.expand_dims(cls_preds_, 1), (1, n_gt_max, 1, 1) + ) # (bs, nl*5*na*gt_max, 80) -> (bs, gt_max, nl*5*na*gt_max, 80) + y = cls_preds_ + + pair_wise_cls_loss = ops.binary_cross_entropy_with_logits( + ops.log(y / (1 - y) + EPS), + gt_cls_per_image, + ops.ones(1, cls_preds_.dtype), + ops.ones(1, cls_preds_.dtype), + reduction="none", + ).sum( + -1 + ) # (bs, gt_max, nl*5*na*gt_max) + + cost = pair_wise_cls_loss + 3.0 * pair_wise_iou_loss + cost = cost * this_mask + cost += CLIP_VALUE * (1.0 - ops.cast(this_mask, cost.dtype)) + + sort_cost, sort_idx = ops.top_k(-cost, 20, sorted=True) # (bs, gt_max, 20) + sort_cost = -sort_cost + pos_idx = ops.stack((mnp.arange(batch_size * n_gt_max, dtype=ms.int32), dynamic_ks.view(-1) - 1), -1) + pos_v = ops.gather_nd(sort_cost.view(batch_size * n_gt_max, 20), pos_idx).view(batch_size, n_gt_max) + matching_matrix = ops.cast(cost <= pos_v[:, :, None], ms.int32) * this_mask + + # delete reduplicate match label, one anchor only match one gt + cost_argmin = mnp.argmin(cost, axis=1) # (bs, nl*5*na*gt_max) + anchor_matching_gt_mask = ops.one_hot( + cost_argmin, n_gt_max, ops.ones(1, ms.float16), ops.zeros(1, ms.float16), axis=-1 + ).transpose( + 0, 2, 1 + ) # (bs, gt_max, nl*5*na*gt_max) + matching_matrix = matching_matrix * ops.cast(anchor_matching_gt_mask, matching_matrix.dtype) + + fg_mask_inboxes = ( + matching_matrix.astype(ms.float16).sum(1) > 0.0 + ) # (bs, gt_max, nl*5*na*gt_max) -> (bs, nl*5*na*gt_max) + all_tmasks = all_tmasks * ops.cast(fg_mask_inboxes, ms.int32) # (bs, nl*5*na*gt_max) + matched_gt_inds = matching_matrix.argmax(1).astype(ms.int32) # (bs, gt_max, nl*5*na*gt_max) -> (bs, nl*5*na*gt_max) + matched_bs_inds = ops.tile( + mnp.arange(batch_size, dtype=ms.int32)[:, None], (1, matching_matrix.shape[2]) + ) # (bs, nl*5*na*gt_max) + matched_inds = ops.stack((matched_bs_inds.view(-1), matched_gt_inds.view(-1)), 1) # (bs*nl*5*na*gt_max, 2) + matched_inds *= all_tmasks.view(-1)[:, None] + this_target = ops.gather_nd(this_target, matched_inds) # (bs*nl*5*na*gt_max, 6) + # this_target = this_target.view(-1, 6)[matched_gt_inds.view(-1,)] # (bs*nl*5*na*gt_max, 6) + + # (bs, nl*5*na*gt_max,) -> (bs, nl, 5*na*gt_max) -> (nl, bs*5*na*gt_max) + matching_tmasks = all_tmasks.view(batch_size, nl, -1).transpose(1, 0, 2).view(nl, -1) + matching_bs = all_b.view(batch_size, nl, -1).transpose(1, 0, 2).view(nl, -1) * matching_tmasks + matching_as = all_a.view(batch_size, nl, -1).transpose(1, 0, 2).view(nl, -1) * matching_tmasks + matching_gjs = all_gj.view(batch_size, nl, -1).transpose(1, 0, 2).view(nl, -1) * matching_tmasks + matching_gis = all_gi.view(batch_size, nl, -1).transpose(1, 0, 2).view(nl, -1) * matching_tmasks + matching_targets = ( + this_target.view(batch_size, nl, -1, 6).transpose(1, 0, 2, 3).view(nl, -1, 6) * matching_tmasks[..., None] + ) + matching_anchs = ( + all_anch.view(batch_size, nl, -1, 2).transpose(1, 0, 2, 3).view(nl, -1, 2) * matching_tmasks[..., None] + ) + + return matching_bs, matching_as, matching_gjs, matching_gis, matching_targets, matching_anchs, matching_tmasks + + def find_3_positive(self, p, targets): + # Build targets for compute_loss(), input targets(image,class,x,y,w,h) + targets = targets.view(-1, 6) # (bs, gt_max, 6) -> (bs*gt_max, 6) + mask_t = targets[:, 1] >= 0 # (bs*gt_max,) + na, nt = self.na, targets.shape[0] # number of anchors, targets + indices, anch, tmasks = (), (), () + gain = ops.ones(7, ms.int32) # normalized to gridspace gain + ai = ops.tile(mnp.arange(na, dtype=targets.dtype).view(na, 1), (1, nt)) # shape: (na, nt) + targets = ops.concat((ops.tile(targets, (na, 1, 1)), ai[:, :, None]), 2) # append anchor indices # (na, nt, 7) + + g = 0.5 # bias + off = ops.cast(self._off, targets.dtype) * g # offsets + + for i in range(self.nl): + anchors, shape = self.anchors[i], p[i].shape + gain[2:6] = get_tensor(shape, targets.dtype)[[3, 2, 3, 2]] # xyxy gain # [W, H, W, H] + + # Match targets to anchors + t = targets * gain # (na, nt, 7) + # Matches + # if nt: + r = t[:, :, 4:6] / anchors[:, None, :] # wh ratio + j = ops.maximum(r, 1.0 / r).max(2) < self.hyp_anchor_t # compare # (na, nt) + + # t = t[j] # filter + mask_m_t = ops.logical_and(j, mask_t[None, :]).view(-1) + t = t.view(-1, 7) # (na*nt, 7) + + # Offsets + gxy = t[:, 2:4] # grid xy + gxi = gain[[2, 3]] - gxy # inverse + jk = ops.logical_and((gxy % 1.0 < g), (gxy > 1.0)) + lm = ops.logical_and((gxi % 1.0 < g), (gxi > 1.0)) + j, k = jk[:, 0], jk[:, 1] + l, m = lm[:, 0], lm[:, 1] + + # original + # j = ops.stack((ops.ones_like(j), j, k, l, m)) # shape: (5, *) + # t = ops.tile(t, (5, 1, 1)) # shape(5, *, 7) + # t = t.view(-1, 7) + # mask_m_t = (ops.cast(j, ms.int32) * ops.cast(mask_m_t[None, :], ms.int32)).view(-1) + # # t = t.repeat((5, 1, 1))[j] + # offsets = (ops.zeros_like(gxy)[None, :, :] + off[:, None, :]) # (1,*,2) + (5,1,2) -> (5,na*nt,2) + # offsets = offsets.view(-1, 2) # (5*na*nt, 2) + # # offsets = (torch.zeros_like(gxy)[None] + off[:, None])[j] + + # Faster + tag1, tag2 = ops.tile(j[:, None], (1, 2)), ops.tile(k[:, None], (1, 2)) + j_l = ops.logical_or(j, l).astype(ms.int32) + k_m = ops.logical_or(k, m).astype(ms.int32) + center = ops.ones_like(j_l) + j = ops.stack((center, j_l, k_m)) + mask_m_t = (ops.cast(j, ms.int32) * ops.cast(mask_m_t[None, :], ms.int32)).view(-1) + t = ops.tile(t, (3, 1, 1)) # shape(5, *, 7) + t = t.view(-1, 7) + offsets = ops.zeros_like(gxy)[None, :, :] + off[:, None, :] # (1,*,2) + (5,1,2) -> (5,na*nt,2) + offsets_new = ops.zeros((3,) + offsets.shape[1:], offsets.dtype) + # offsets_new[0, :, :] = offsets[0, :, :] + offsets_new[1, :, :] = ops.select(tag1.astype(ms.bool_), offsets[1, ...], offsets[3, ...]) + offsets_new[2, :, :] = ops.select(tag2.astype(ms.bool_), offsets[2, ...], offsets[4, ...]) + offsets = offsets_new + offsets = offsets.view(-1, 2) + + # Define + b, c, gxy, gwh, a = ( + ops.cast(t[:, 0], ms.int32), + ops.cast(t[:, 1], ms.int32), + t[:, 2:4], + t[:, 4:6], + ops.cast(t[:, 6], ms.int32), + ) # (image, class), grid xy, grid wh, anchors # b: (5*na*nt,), gxy: (5*na*nt, 2) + # gij = gxy - offsets + gij = ops.cast(gxy - offsets, ms.int32) + gi, gj = gij[:, 0], gij[:, 1] # grid indices + gi = gi.clip(0, shape[3] - 1) + gj = gj.clip(0, shape[2] - 1) + + # Append + indices += (ops.stack((b, a, gj, gi), 0),) # image, anchor, grid + anch += (anchors[a],) # anchors + tmasks += (mask_m_t,) + + return indices, anch, tmasks + + def find_5_positive(self, p, targets): + # Build targets for compute_loss(), input targets(image,class,x,y,w,h) + targets = targets.view(-1, 6) # (bs, gt_max, 6) -> (bs*gt_max, 6) + mask_t = targets[:, 1] >= 0 # (bs*gt_max,) + na, nt = self.na, targets.shape[0] # number of anchors, targets + indices, anch, tmasks = (), (), () + gain = ops.ones(7, ms.int32) # normalized to gridspace gain + ai = ops.tile(mnp.arange(na, dtype=targets.dtype).view(na, 1), (1, nt)) # shape: (na, nt) + targets = ops.concat((ops.tile(targets, (na, 1, 1)), ai[:, :, None]), 2) # append anchor indices # (na, nt, 7) + + g = 1.0 # bias + off = ops.cast(self._off, targets.dtype) * g # offsets + + for i in range(self.nl): + anchors, shape = self.anchors[i], p[i].shape + gain[2:6] = get_tensor(shape, targets.dtype)[[3, 2, 3, 2]] # xyxy gain # [W, H, W, H] + + # Match targets to anchors + t = targets * gain # (na, nt, 7) + # Matches + r = t[:, :, 4:6] / anchors[:, None, :] # wh ratio + j = ops.maximum(r, 1.0 / r).max(2) < self.hyp_anchor_t # compare # (na, nt) + + # t = t[j] # filter + mask_m_t = ops.logical_and(j, mask_t[None, :]).view(-1) # filter + t = t.view(-1, 7) # (na*nt, 7) + + # Offsets + gxy = t[:, 2:4] # grid xy + gxi = gain[[2, 3]] - gxy # inverse + jk = ops.logical_and((gxy % 1.0 < g), (gxy > 1.0)).astype(ms.int32) + lm = ops.logical_and((gxi % 1.0 < g), (gxi > 1.0)).astype(ms.int32) + j, k = jk[:, 0], jk[:, 1] + l, m = lm[:, 0], lm[:, 1] + + # original + j = ops.stack((ops.ones_like(j), j, k, l, m)) # shape: (5, *) + t = ops.tile(t, (5, 1, 1)) # shape(5, *, 7) + t = t.view(-1, 7) + mask_m_t = (ops.cast(j, ms.int32) * ops.cast(mask_m_t[None, :], ms.int32)).view(-1) + offsets = ops.zeros_like(gxy)[None, :, :] + off[:, None, :] # (1,*,2) + (5,1,2) -> (5,na*nt,2) + offsets = offsets.view(-1, 2) # (5*na*nt, 2) + + # Define + b, c, gxy, gwh, a = ( + ops.cast(t[:, 0], ms.int32), + ops.cast(t[:, 1], ms.int32), + t[:, 2:4], + t[:, 4:6], + ops.cast(t[:, 6], ms.int32), + ) # (image, class), grid xy, grid wh, anchors # b: (5*na*nt,), gxy: (5*na*nt, 2) + # gij = gxy - offsets + gij = ops.cast(gxy - offsets, ms.int32) + gi, gj = gij[:, 0], gij[:, 1] # grid indices + gi = gi.clip(0, shape[3] - 1) + gj = gj.clip(0, shape[2] - 1) + + # Append + indices += (ops.stack((b, a, gj, gi), 0),) # image, anchor, grid + anch += (anchors[a],) # anchors + tmasks += (mask_m_t,) + + return indices, anch, tmasks + + +def xywh2xyxy(x): + # Convert nx4 boxes from [x, y, w, h] to [x1, y1, x2, y2] where xy1=top-left, xy2=bottom-right + y = ops.Identity()(x) + y[:, 0] = x[:, 0] - x[:, 2] / 2 # top left x + y[:, 1] = x[:, 1] - x[:, 3] / 2 # top left y + y[:, 2] = x[:, 0] + x[:, 2] / 2 # bottom right x + y[:, 3] = x[:, 1] + x[:, 3] / 2 # bottom right y + return y + + +@ops.constexpr +def get_tensor(x, dtype=ms.float32): + return Tensor(x, dtype) + + +if __name__ == "__main__": + from mindyolo.models.losses.loss_factory import create_loss + from mindyolo.utils.config import parse_config + + cfg = parse_config() + loss_fn = create_loss( + name="YOLOv7Loss", + **cfg.loss, + anchors=cfg.network.get("anchors", None), + stride=cfg.network.get("stride", None), + nc=cfg.data.get("nc", None), + ) + print(f"loss_fn is {loss_fn}") diff --git a/community/cv/ShipWise/mindyolo/models/losses/yolov8_loss.py b/community/cv/ShipWise/mindyolo/models/losses/yolov8_loss.py new file mode 100644 index 000000000..6e85efe62 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/losses/yolov8_loss.py @@ -0,0 +1,595 @@ +import mindspore as ms +import mindspore.numpy as mnp +from mindspore import Tensor, nn, ops + +from mindyolo.models.registry import register_model + +from .iou_loss import bbox_iou + +CLIP_VALUE = 1000.0 +EPS = 1e-7 + +__all__ = ["YOLOv8Loss", "YOLOv8SegLoss"] + + +@register_model +class YOLOv8Loss(nn.Cell): + def __init__(self, box, cls, dfl, stride, nc, reg_max=16, **kwargs): + super(YOLOv8Loss, self).__init__() + + self.bce = nn.BCEWithLogitsLoss(reduction="none") + self.hyp_box = box + self.hyp_cls = cls + self.hyp_dfl = dfl + self.stride = stride # model strides + self.nc = nc # number of classes + self.no = nc + reg_max * 4 + self.reg_max = reg_max + + self.use_dfl = reg_max > 1 + self.assigner = TaskAlignedAssigner(topk=10, num_classes=self.nc, alpha=0.5, beta=6.0) + self.bbox_loss = BboxLoss(reg_max, use_dfl=self.use_dfl) + self.proj = mnp.arange(reg_max) + + # ops + self.sigmoid = ops.Sigmoid() + + # branch name returned by lossitem for print + self.loss_item_name = ["loss", "lbox", "lcls", "dfl"] + + def construct(self, feats, targets, imgs): + """YOLOv8 Loss + Args: + feats: list of tensor, feats[i] shape: (bs, nc+reg_max*4, hi, wi) + targets: [image_idx,cls,x,y,w,h], shape: (bs, gt_max, 6) + """ + loss = ops.zeros(3, ms.float32) # box, cls, dfl + batch_size = feats[0].shape[0] + _x = () + for xi in feats: + _x += (xi.view(batch_size, self.no, -1),) + _x = ops.concat(_x, 2) + pred_distri, pred_scores = _x[:, : self.reg_max * 4, :], _x[:, -self.nc :, :] # (bs, nc, h*w) + pred_distri, pred_scores = pred_distri.transpose((0, 2, 1)), pred_scores.transpose((0, 2, 1)) + + dtype = pred_scores.dtype + imgsz = get_tensor(feats[0].shape[2:], dtype) * self.stride[0] # image size (h,w) + anchor_points, stride_tensor = self.make_anchors(feats, self.stride, 0.5) + + # targets + targets, mask_gt = self.preprocess(targets, scale_tensor=imgsz[[1, 0, 1, 0]]) + gt_labels, gt_bboxes = targets[:, :, :1], targets[:, :, 1:5] # cls, xyxy + + # pboxes + pred_bboxes = self.bbox_decode(anchor_points, pred_distri) # xyxy, shape: (b, h*w, 4) + + _, target_bboxes, target_scores, fg_mask, _ = self.assigner( + self.sigmoid(pred_scores), + (pred_bboxes * stride_tensor).astype(gt_bboxes.dtype), + anchor_points * stride_tensor, + gt_labels, + gt_bboxes, + mask_gt, + ) + # stop gradient + target_bboxes, target_scores, fg_mask = ( + ops.stop_gradient(target_bboxes), + ops.stop_gradient(target_scores), + ops.stop_gradient(fg_mask), + ) + + target_bboxes /= stride_tensor + + target_scores_sum = ops.maximum(target_scores.sum(), 1) + + # cls loss + # loss[1] = self.varifocal_loss(pred_scores, target_scores, target_labels) / target_scores_sum # VFL way + loss[1] = self.bce(pred_scores, ops.cast(target_scores, dtype)).sum() / target_scores_sum # BCE + + # bbox loss + # if fg_mask.sum(): + loss[0], loss[2] = self.bbox_loss( + pred_distri, pred_bboxes, anchor_points, target_bboxes, target_scores, target_scores_sum, fg_mask + ) + + loss[0] *= self.hyp_box # box gain + loss[1] *= self.hyp_cls # cls gain + loss[2] *= self.hyp_dfl # dfl gain + + return loss.sum() * batch_size, ops.stop_gradient( + ops.concat((loss.sum(keepdims=True), loss)) + ) # loss(box, cls, dfl) + + def bbox_decode(self, anchor_points, pred_dist): + if self.use_dfl: + b, a, c = pred_dist.shape # batch, anchors, channels + pred_dist = pred_dist.view(b, a, 4, c // 4) + # pred_dist = ops.softmax(pred_dist, axis=3) # ms version >= 1.9.0 + pred_dist = ops.Softmax(axis=3)(pred_dist) # ms version <= 1.8.1 + # (batch, anchors, 4, reg_max) @ (reg_max,) -> (batch, anchors, 4) + _dtype = pred_dist.dtype + pred_dist = ops.matmul(pred_dist.astype(ms.float16), self.proj.astype(ms.float16)).astype(_dtype) + return self.dist2bbox(pred_dist, anchor_points, xywh=False) + + def preprocess(self, targets, scale_tensor): + """preprocess gt boxes + + Args: + targets: [image_idx,cls,x,y,w,h], shape: (bs, gt_max, 6) + scale_tensor: (4,) + Return: + out: [cls,x,y,x,y], shape: (bs, gt_max, 5) + mask_gt: (bs, gt_max) + """ + mask_gt = targets[:, :, 1] >= 0 # (bs, gt_max) + out = targets[:, :, 1:] * mask_gt[:, :, None] # [cls,x,y,w,h], shape: (bs, gt_max, 5) + out[..., 1:5] = xywh2xyxy(out[..., 1:5] * scale_tensor) + return out, mask_gt + + @staticmethod + def dist2bbox(distance, anchor_points, xywh=True, axis=-1): + """Transform distance(ltrb) to box(xywh or xyxy).""" + lt, rb = ops.split(distance, split_size_or_sections=2, axis=axis) + x1y1 = anchor_points - lt + x2y2 = anchor_points + rb + if xywh: + c_xy = (x1y1 + x2y2) / 2 + wh = x2y2 - x1y1 + return ops.concat((c_xy, wh), axis) # xywh bbox + return ops.concat((x1y1, x2y2), axis) # xyxy bbox + + @staticmethod + def make_anchors(feats, strides, grid_cell_offset=0.5): + """Generate anchors from features.""" + anchor_points, stride_tensor = (), () + dtype = feats[0].dtype + for i, stride in enumerate(strides): + _, _, h, w = feats[i].shape + sx = mnp.arange(w, dtype=dtype) + grid_cell_offset # shift x + sy = mnp.arange(h, dtype=dtype) + grid_cell_offset # shift y + sy, sx = ops.meshgrid(sy, sx, indexing="ij") + anchor_points += (ops.stack((sx, sy), -1).view(-1, 2),) + stride_tensor += (ops.ones((h * w, 1), dtype) * stride,) + return ops.concat(anchor_points), ops.concat(stride_tensor) + + +@register_model +class YOLOv8SegLoss(YOLOv8Loss): + def __init__(self, box, cls, dfl, stride, nc, reg_max=16, nm=32, overlap=True, max_object_num=600, **kwargs): + super(YOLOv8SegLoss, self).__init__(box, cls, dfl, stride, nc, reg_max) + + self.overlap = overlap + self.nm = nm + self.max_object_num = max_object_num + + # branch name returned by lossitem for print + self.loss_item_name = ["loss", "lbox", "lseg", "lcls", "dfl"] + + def construct(self, preds, target_box, target_seg): + """YOLOv8 Loss + Args: + feats: list of tensor, feats[i] shape: (bs, nc+reg_max*4, hi, wi) + targets: [image_idx,cls,x,y,w,h], shape: (bs, gt_max, 6) + """ + loss = ops.zeros(4, ms.float32) # box, cls, dfl, mask + # (bs, nc+reg_max*4, hi, wi), (bs, k, hi*wi), (bs, k, 138, 138); k = 32; + feats, pred_masks, proto = preds # x, mc, p; + batch_size, _, mask_h, mask_w = proto.shape # batch size, number of masks, mask height, mask width + + _x = () + for xi in feats: + _x += (xi.view(batch_size, self.no, -1),) + _x = ops.concat(_x, 2) + pred_distri, pred_scores = _x[:, :self.reg_max * 4, :], _x[:, -self.nc:, :] # (bs, nc, h*w) + + # b, grids, .. + pred_scores = pred_scores.transpose(0, 2, 1) # (bs, h*w, nc) + pred_distri = pred_distri.transpose(0, 2, 1) # (bs, h*w, regmax * 4) + pred_masks = pred_masks.transpose(0, 2, 1) # (bs, h*w, k) + + dtype = pred_scores.dtype + imgsz = get_tensor(feats[0].shape[2:], dtype) * self.stride[0] # image size (h,w) + anchor_points, stride_tensor = self.make_anchors(feats, self.stride, 0.5) + + # targets + target_box, mask_gt = self.preprocess(target_box, scale_tensor=imgsz[[1, 0, 1, 0]]) + gt_labels, gt_bboxes = target_box[:, :, :1], target_box[:, :, 1:5] # cls, xyxy + + # pboxes + pred_bboxes = self.bbox_decode(anchor_points, pred_distri) # xyxy, shape: (b, h*w, 4) + + _, target_bboxes, target_scores, fg_mask, target_gt_idx = self.assigner( + self.sigmoid(pred_scores), + (pred_bboxes * stride_tensor).astype(gt_bboxes.dtype), + anchor_points * stride_tensor, + gt_labels, + gt_bboxes, + mask_gt, + ) + + # stop gradient + target_bboxes, target_scores, fg_mask, target_gt_idx = ( + ops.stop_gradient(target_bboxes), + ops.stop_gradient(target_scores), + ops.stop_gradient(fg_mask), + ops.stop_gradient(target_gt_idx) + ) + + target_scores_sum = ops.maximum(target_scores.sum(), 1) + + # cls loss + loss[2] = self.bce(pred_scores, ops.cast(target_scores, dtype)).sum() / target_scores_sum # BCE + + # bbox loss + loss[0], loss[3] = self.bbox_loss( + pred_distri, pred_bboxes, anchor_points, target_bboxes / stride_tensor, target_scores, target_scores_sum, fg_mask + ) + + # FIXME: mask target reshape, dynamic shape feature required. + # masks = target_seg # (b, 1, mask_h, mask_w) if overlap else (bs, N, mask_h, mask_w) + # if tuple(masks.shape[-2:]) != (mask_h, mask_w): # downsample + # masks = ops.interpolate(ops.expand_dims(masks, 0), size=(mask_h, mask_w), mode="nearest")[0] + + for i in range(batch_size): + _fg_mask, _fg_mask_index = ops.topk(fg_mask[i].astype(ms.float16), self.max_object_num) + _mask = target_seg[i] # (mask_h, mask_w) if overlap else (n_gt, mask_h, mask_w) + _mask_idx = target_gt_idx[i] # (b, N) -> (N,) + _mask_idx = ops.gather(_mask_idx, _fg_mask_index, axis=0) # (max_object_num,) + + if self.overlap: + _cond = _mask[None, :, :] == (_mask_idx[:, None, None] + 1) + gt_mask = ops.where( + _cond, + ops.ones(_cond.shape, pred_masks.dtype), + ops.zeros(_cond.shape, pred_masks.dtype) + ) + else: + gt_mask = _mask[_mask_idx] # (n_gt, mask_h, mask_w) -> (N, mask_h, mask_w)/(max_object_num, mask_h, mask_w) + + xyxyn = target_bboxes[i] / imgsz[[1, 0, 1, 0]] + marea = xyxy2xywh(xyxyn)[:, 2:].prod(1) + mxyxy = xyxyn * get_tensor((mask_w, mask_h, mask_w, mask_h), xyxyn.dtype) + + _loss_1 = self.single_mask_loss( + gt_mask, pred_masks[i], proto[i], mxyxy, marea, _fg_mask, _fg_mask_index + ) + loss[1] += _loss_1 + + loss[0] *= self.hyp_box # box gain + loss[1] *= self.hyp_box / batch_size # seg gain + loss[2] *= self.hyp_cls # cls gain + loss[3] *= self.hyp_dfl # dfl gain + + return loss.sum() * batch_size, ops.stop_gradient( + ops.concat((loss.sum(keepdims=True), loss)) + ) # loss, lbox, lseg, lcls, ldfl + + def single_mask_loss(self, gt_mask, pred, proto, xyxy, area, _fg_mask, _fg_mask_index): + """Mask loss for one image.""" + pred = ops.gather(pred, _fg_mask_index, axis=0) + xyxy = ops.gather(xyxy, _fg_mask_index, axis=0) + area = ops.gather(area, _fg_mask_index, axis=0) + + _dtype = pred.dtype + pred_mask = ops.matmul( + pred.astype(ms.float16), + proto.astype(ms.float16).view(self.nm, -1) + ).view(-1, *proto.shape[1:]).astype(_dtype) # (n, 32) @ (32,80,80) -> (n,80,80) + + loss = ops.binary_cross_entropy_with_logits( + pred_mask, gt_mask, reduction='none', + weight=ops.ones(1, pred_mask.dtype), + pos_weight=ops.ones(1, pred_mask.dtype) + ) + + single_loss = (self.crop_mask(loss, xyxy).mean(axis=(1, 2)) / ops.clip(area, min=1e-4)) + single_loss *= _fg_mask + + num_seg = ops.clip(_fg_mask.sum(), min=1.0) + + return single_loss.sum() / num_seg + + @staticmethod + def crop_mask(masks, boxes): + """ + It takes a mask and a bounding box, and returns a mask that is cropped to the bounding box + + Args: + masks (Tensor): [h, w, n] tensor of masks + boxes (Tensor): [n, 4] tensor of bbox coordinates in relative point form + + Returns: + (Tensor): The masks are being cropped to the bounding box. + """ + n, h, w = masks.shape + x1, y1, x2, y2 = ops.chunk(boxes[:, :, None], 4, 1) # x1 shape(n,1,1) + r = ops.arange(w, dtype=x1.dtype)[None, None, :] # rows shape(1,1,w) + c = ops.arange(h, dtype=x1.dtype)[None, :, None] # cols shape(1,h,1) + + return masks * ops.logical_and( + ops.logical_and((r >= x1), (r < x2)), + ops.logical_and((c >= y1), (c < y2)) + ).astype(x1.dtype) + + +class BboxLoss(nn.Cell): + def __init__(self, reg_max, use_dfl=False): + super().__init__() + self.reg_max = reg_max + self.use_dfl = use_dfl + + def construct( + self, pred_dist, pred_bboxes, anchor_points, target_bboxes, target_scores, target_scores_sum, fg_mask + ): + """ + Args: + pred_dist: (bs, N, reg_max * 4) + pred_bboxes: (bs, N, 4) + anchor_points: (N, 2) + target_bboxes: (bs, N, 4) + target_scores: (bs, N, num_classes) + target_scores_sum: (1,) + fg_mask: (bs, N) + """ + # IoU loss + weight = target_scores.sum(-1).expand_dims(-1) # (bs, N, num_classes) -> (bs, N) -> (bs, N, 1) + iou = bbox_iou(pred_bboxes, target_bboxes, xywh=False, CIoU=True) + loss_iou = ((1.0 - iou) * weight * fg_mask.expand_dims(2)).sum() / target_scores_sum + + # DFL loss + if self.use_dfl: + target_ltrb = self.bbox2dist(anchor_points, target_bboxes, self.reg_max - 1) + loss_dfl = self._df_loss(pred_dist.view(-1, self.reg_max), target_ltrb) * weight * fg_mask[:, :, None] + loss_dfl = loss_dfl.sum() / target_scores_sum + else: + loss_dfl = ops.zeros(1, ms.float32) + + return loss_iou, loss_dfl + + @staticmethod + def bbox2dist(anchor_points, bbox, reg_max): + """Transform bbox(xyxy) to dist(ltrb).""" + x1y1, x2y2 = ops.split(bbox, split_size_or_sections=2, axis=-1) + return ops.concat((anchor_points - x1y1, x2y2 - anchor_points), -1).clip(0, reg_max - 0.01) # dist (lt, rb) + + @staticmethod + def _df_loss(pred_dist, target): + # Return sum of left and right DFL losses + # Distribution Focal Loss (DFL) proposed in Generalized Focal Loss https://ieeexplore.ieee.org/document/9792391 + """ + Args: + pred_dist: (bs*N*4, reg_max) + target: (bs, N, 4) + fg_mask: (bs, N) + Return: + loss: (bs, N, 1) + """ + tl = ops.cast(target, ms.int32) # target left + tr = tl + 1 # target right + wl = tr - target # weight left + wr = 1 - wl # weight right + + loss = ( + ops.cross_entropy(pred_dist, tl.view(-1), reduction="none").view(tl.shape) * wl + + ops.cross_entropy(pred_dist, tr.view(-1), reduction="none").view(tl.shape) * wr + ).mean(-1, keep_dims=True) + + return loss + + +class TaskAlignedAssigner(nn.Cell): + def __init__(self, topk=13, num_classes=80, alpha=1.0, beta=6.0, eps=1e-9): + super().__init__() + self.topk = topk + self.num_classes = num_classes + self.bg_idx = num_classes + self.alpha = alpha + self.beta = beta + self.eps = eps + + def construct(self, pd_scores, pd_bboxes, anc_points, gt_labels, gt_bboxes, mask_gt): + """This code referenced to + https://github.com/Nioolek/PPYOLOE_pytorch/blob/master/ppyoloe/assigner/tal_assigner.py + + Args: + pd_scores: (bs, N, num_classes) + pd_bboxes: (bs, N, 4) + anc_points: (N, 2) + gt_labels: (bs, n_gt, 1) + gt_bboxes: (bs, n_gt, 4) + mask_gt: (bs, n_gt) + Returns: + target_labels: (bs, N) + target_bboxes: (bs, N, 4) + target_scores: (bs, N, num_classes) + fg_mask: (bs, N) + target_gt_idx: (bs, N) + """ + bs, n_gt, _ = gt_labels.shape + mask_pos, align_metric, overlaps = self.get_pos_mask( + pd_scores, pd_bboxes, gt_labels, gt_bboxes, anc_points, mask_gt + ) + + target_gt_idx, fg_mask, mask_pos = self.select_highest_overlaps(mask_pos, overlaps, n_gt) + + # assigned target + target_labels, target_bboxes, target_scores = self.get_targets(gt_labels, gt_bboxes, target_gt_idx, fg_mask) + + # normalize + align_metric *= mask_pos + pos_align_metrics = align_metric.max(axis=-1, keepdims=True) # (b, n_gt) + pos_overlaps = (overlaps * mask_pos).max(axis=-1, keepdims=True) # (b, n_gt) + norm_align_metric = (align_metric * pos_overlaps / (pos_align_metrics + self.eps)).max(-2).expand_dims(-1) + target_scores = target_scores * norm_align_metric + + return target_labels, target_bboxes, target_scores, ops.cast(fg_mask, ms.bool_), target_gt_idx + + def get_pos_mask(self, pd_scores, pd_bboxes, gt_labels, gt_bboxes, anc_points, mask_gt): + align_metric, overlaps = self.get_box_metrics(pd_scores, pd_bboxes, gt_labels, gt_bboxes) # (b, n_gt, N) + mask_in_gts = self.select_candidates_in_gts(anc_points, gt_bboxes, mask_gt) # (b, n_gt, N) + mask_topk = self.select_topk_candidates( + align_metric * mask_in_gts, topk_mask=ops.cast(ops.tile(mask_gt[..., None], (1, 1, self.topk)), ms.bool_) + ) # (b, n_gt, h*w) + mask_pos = mask_topk * mask_in_gts * mask_gt[:, :, None] # (b, n_gt, N) + + return mask_pos, align_metric, overlaps + + def select_topk_candidates(self, metrics, topk_mask=None): + """ + Args: + metrics: (b, n_gt, N). + topk_mask: (b, n_gt, topk) or None + Returns: + mask: (b, n_gt, N) + """ + + num_anchors = metrics.shape[-1] # N + topk_metrics, topk_idxs = ops.top_k(metrics, self.topk) # (b, n_gt, topk) + if topk_mask is None: + topk_mask = ops.tile(topk_metrics.max(-1, keepdims=True) > self.eps, (1, 1, self.topk)) # (b, n_gt, topk) + topk_idxs = mnp.where(topk_mask, topk_idxs, ops.zeros_like(topk_idxs)) # (b, n_gt, topk) + is_in_topk = ops.one_hot(topk_idxs, num_anchors, ops.ones(1, ms.float32), ops.zeros(1, ms.float32)).sum( + -2 + ) # (b, n_gt, topk, N) -> (b, n_gt, N) + # filter invalid bboxes + is_in_topk = mnp.where(is_in_topk > 1, ops.zeros(1, ms.float32), is_in_topk) + is_in_topk = ops.cast(is_in_topk, metrics.dtype) + + return is_in_topk + + def get_box_metrics(self, pd_scores, pd_bboxes, gt_labels, gt_bboxes): + bs, n_gt, _ = gt_labels.shape + + ind0 = ops.tile(mnp.arange(bs, dtype=ms.int32).view(-1, 1), (1, n_gt)).view(-1, 1) # (b*n_gt, 1) + ind1 = ops.cast(gt_labels, ms.int32).squeeze(-1).view(-1, 1) # (b*n_gt, 1) + bbox_scores = ops.gather_nd( + pd_scores.transpose((0, 2, 1)), ops.concat((ind0, ind1), axis=1) + ) # (b, N, 80)->(b, 80, N)->(b*n_gt, N) + bbox_scores = bbox_scores.view(bs, n_gt, -1) + + # (b, n_gt, 1, 4), (b, 1, N, 4) -> (b, n_gt, N) + overlaps = ( + bbox_iou(gt_bboxes.expand_dims(2), pd_bboxes.expand_dims(1), xywh=False, CIoU=True).squeeze(3).clip(0, None) + ) + align_metric = bbox_scores.pow(self.alpha) * overlaps.pow(self.beta) + return align_metric, overlaps + + def get_targets(self, gt_labels, gt_bboxes, target_gt_idx, fg_mask): + """ + Args: + gt_labels: (b, n_gt, 1) + gt_bboxes: (b, n_gt, 4) + target_gt_idx: (b, N) + fg_mask: (b, N) + """ + + # assigned target labels + bs, n_gt, _ = gt_labels.shape + batch_ind = mnp.arange(bs)[:, None] # (b, 1) + target_gt_idx = target_gt_idx + batch_ind * n_gt # (b, N) + target_labels = ops.cast(gt_labels, ms.int32).flatten()[target_gt_idx] # (b, N) + + # assigned target boxes + target_bboxes = gt_bboxes.view(-1, 4)[target_gt_idx] # (b, n_gt, 4) -> (b * n_gt, 4) -> (b, N) + + # assigned target scores + target_labels.clip(0, None) + target_scores = ops.one_hot( + target_labels, self.num_classes, on_value=ops.ones(1, ms.int32), off_value=ops.zeros(1, ms.int32) + ) # (b, N, 80) + fg_scores_mask = ops.tile(fg_mask[:, :, None], (1, 1, self.num_classes)) # (b, N) -> (b, N, 80) + target_scores = mnp.where(fg_scores_mask > 0, target_scores, ops.zeros(1, ms.int32)) + + return target_labels, target_bboxes, target_scores + + @staticmethod + def select_candidates_in_gts(xy_centers, gt_bboxes, mask_gt=None, eps=1e-9): + """select the positive anchor center in gt + + Args: + xy_centers: (N, 2) + gt_bboxes: (bs, n_gt, 4) + mask_gt: (bs, n_gt) or None + Return: + select: shape(bs, n_gt, N) + """ + n_anchors = xy_centers.shape[0] + bs, n_boxes, _ = gt_bboxes.shape + x, y = ops.split(xy_centers.view(1, -1, 2), split_size_or_sections=1, axis=-1) # (1, N, 2) -> (1, N, 1) + left, top, right, bottom = ops.split( + gt_bboxes.view(-1, 1, 4), split_size_or_sections=1, axis=-1 + ) # (bs, n_gt, 4)->(bs*n_gt, 1, 4)->(bs*n_gt, 1, 1) + select = ops.logical_and( + ops.logical_and((x - left) > eps, (y - top) > eps), ops.logical_and((right - x) > eps, (bottom - y) > eps) + ).view( + bs, n_boxes, n_anchors + ) # (bs, n_gt, N) + + if mask_gt is not None: + select = ops.cast(select, ms.float32) * ops.cast(mask_gt[..., None], ms.float32) + + return select + + @staticmethod + def select_highest_overlaps(mask_pos, overlaps, n_gt): + """if an anchor box is assigned to multiple gts, + the one with the highest iou will be selected. + + Args: + mask_pos: (b, n_gt, N) + overlaps: (b, n_gt, N) + Return: + target_gt_idx: (b, N) + fg_mask: (b, N) + mask_pos: (b, n_gt, N) + """ + + fg_mask = mask_pos.sum(-2) # (b, n_gt, N) -> (b, N) + + # if fg_mask.max() > 1: # one anchor is assigned to multiple gt_bboxes + mask_multi_gts = ops.tile(ops.expand_dims(fg_mask > 1, 1), (1, n_gt, 1)) # (b, n_gt, N) + max_overlaps_idx = overlaps.argmax(1) # (b, n_gt, N) -> (b, N) + is_max_overlaps = ops.one_hot( + max_overlaps_idx, n_gt, on_value=ops.ones(1, ms.int32), off_value=ops.zeros(1, ms.int32) + ) # (b, N, n_gt) + is_max_overlaps = ops.cast( + ops.transpose(is_max_overlaps, (0, 2, 1)), overlaps.dtype + ) # (b, N, n_gt) -> (b, n_gt, N) + mask_pos = mnp.where(mask_multi_gts, is_max_overlaps, mask_pos) + fg_mask = mask_pos.sum(-2) + + # find each grid serve which gt(index) + target_gt_idx = mask_pos.argmax(-2) # (b, h*w) + return target_gt_idx, fg_mask, mask_pos + + +def xywh2xyxy(x): + # Convert nx4 boxes from [x, y, w, h] to [x1, y1, x2, y2] where xy1=top-left, xy2=bottom-right + y = ops.Identity()(x) + y[..., 0] = x[..., 0] - x[..., 2] / 2 # top left x + y[..., 1] = x[..., 1] - x[..., 3] / 2 # top left y + y[..., 2] = x[..., 0] + x[..., 2] / 2 # bottom right x + y[..., 3] = x[..., 1] + x[..., 3] / 2 # bottom right y + return y + + +def xyxy2xywh(x): + """ + Convert bounding box coordinates from (x1, y1, x2, y2) format to (x, y, width, height) format. + + Args: + x (Tensor): The input bounding box coordinates in (x1, y1, x2, y2) format. + Returns: + y (Tensor): The bounding box coordinates in (x, y, width, height) format. + """ + y = ops.Identity()(x) + y[..., 0] = (x[..., 0] + x[..., 2]) / 2 # x center + y[..., 1] = (x[..., 1] + x[..., 3]) / 2 # y center + y[..., 2] = x[..., 2] - x[..., 0] # width + y[..., 3] = x[..., 3] - x[..., 1] # height + return y + + +@ops.constexpr +def get_tensor(x, dtype=ms.float32): + return Tensor(x, dtype) diff --git a/community/cv/ShipWise/mindyolo/models/losses/yolox_loss.py b/community/cv/ShipWise/mindyolo/models/losses/yolox_loss.py new file mode 100644 index 000000000..2946bfe2b --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/losses/yolox_loss.py @@ -0,0 +1,306 @@ +import numpy as np + +import mindspore as ms +import mindspore.numpy as mnp +from mindspore import Tensor, nn, ops + +from mindyolo.models.layers.utils import box_clip, box_cxcywh_to_xyxy, box_scale, box_xyxy_to_cxcywh +from mindyolo.models.losses.iou_loss import batch_box_iou, bbox_iou +from mindyolo.models.registry import register_model + +__all__ = ["YOLOXLoss"] + + +@register_model +class YOLOXLoss(nn.Cell): + """yolox with loss cell""" + + def __init__( + self, + nc=80, + input_size=(640, 640), + num_candidate_ota=10, + strides=(8, 16, 32), + use_l1=False, + use_summary=False, + **kwargs + ): + super(YOLOXLoss, self).__init__() + self.n_candidate_k = num_candidate_ota + self.on_value = Tensor(1.0, ms.float32) + self.off_value = Tensor(0.0, ms.float32) + self.num_class = nc + + self.unsqueeze = ops.ExpandDims() + self.reshape = ops.Reshape() + self.one_hot = ops.OneHot() + self.zeros = ops.ZerosLike() + self.sort_ascending = ops.Sort(descending=False) + self.batch_matmul_trans_a = ops.BatchMatMul(transpose_a=True) + self.bce_loss = nn.BCEWithLogitsLoss(reduction="none") + self.l1_loss = nn.L1Loss(reduction="none") + + self.strides = strides + self.input_size = input_size + self.grids = [(input_size[0] // _stride) * (input_size[1] // _stride) for _stride in strides] + self.num_total_anchor = sum(self.grids) + self.anchor_center_pos, self.anchor_strides = self._get_anchor_center_and_stride(norm=False) + + self.use_l1 = use_l1 + self.use_summary = use_summary + self.summary = ops.ScalarSummary() + self.assign = ops.Assign() + + self.loss_item_name = ["loss", "lbox", "lobj", "lcls", "lboxl1"] # branch name returned by lossitem for print + + def _get_anchor_center_and_stride(self, norm=False): + """ + creat a table for all layer of anchors(grids), the value is the pixel position of the grid center and its stride. + The coordinate of the value is relative to the input img + Returns: + anchor_center_pos (Tensor[num_total_anchor, 2]): pixel position of the grid center + anchor_strides (Tensor[num_total_anchor,]): anchor strides + """ + + anchor_strides_list = [] + for s, g in zip(self.strides, self.grids): + layer_stride = ops.ones((g,), ms.float32) * float(s) + anchor_strides_list.append(layer_stride) + anchor_strides = ops.concat(anchor_strides_list) + # (num_total_anchor, 2) + anchor_strides = ops.stack([anchor_strides, anchor_strides], axis=1) + + anchor_center_pos_list = [] + for stride in self.strides: + size_x = self.input_size[0] // stride + size_y = self.input_size[1] // stride + grid_x, grid_y = ops.meshgrid(mnp.arange(size_x), mnp.arange(size_y)) + grids = ops.stack((grid_x, grid_y), 2).reshape(-1, 2) + anchor_center_pos_list.append(grids) + + # (num_total_anchor, 2) + anchor_center_pos = ops.concat(anchor_center_pos_list, 0) + + # to the scale of input img + anchor_center_pos = (anchor_center_pos + 0.5) * anchor_strides + + if norm: + anchor_center_pos[..., 0] /= self.input_size[0] + anchor_center_pos[..., 1] /= self.input_size[1] + + anchor_strides[..., 0] /= self.input_size[0] + anchor_strides[..., 1] /= self.input_size[1] + + return anchor_center_pos, anchor_strides + + def in_box(self, anchors, boxes): + splitted_diff1 = anchors - boxes[..., :2] + splitted_diff2 = boxes[..., 2:] - anchors + temp1 = ops.logical_and(splitted_diff1[..., 0] > 0.0, splitted_diff1[..., 1] > 0.0) + temp2 = ops.logical_and(splitted_diff2[..., 0] > 0.0, splitted_diff2[..., 1] > 0.0) + in_mask = ops.logical_and(temp1, temp2) + + return in_mask + + def _get_foreground(self, gt_boxes, gt_valid_mask, center_radius=1.5): + """ + get the mask of foreground anchor point, + ref: simOTA, link + Args: + gt_boxes (Tensor[bs, num_gt_max, 4]): gt box in [x1,y1, x2, y2] format, normed + gt_valid_mask (Tensor[bs, num_gt_max]) : gt box valid mask, indicates valid if true + num_valid_gt (int): num of valid gt boxes + center_radius (float): radius threshold to judge whether an anchor is an inlier of the gt center. + The unit is pixel in the feature map scale. + Returns: + fg_mask (Tensor(bs, num_total_anchor)): mask to indicate whether an anchor falls in any gt box + in_center_box_mask (Tensor(bs, num_gt_max, num_total_anchor)): mask to indicate whether an anchor + falls both in a specific gt box and the core box with radius center_radius + + """ + bs, num_gt_max, _ = gt_boxes.shape + + gt_box_xyxy = gt_boxes + gt_box_center = 0.5 * (gt_box_xyxy[..., :2] + gt_box_xyxy[..., 2:]) + # 1. Gt box mask + # (bs, num_gt_max, num_total_anchor) + in_box_mask = self.in_box(self.anchor_center_pos, gt_box_xyxy.expand_dims(2)) + # fg_mask = in_box_mask.any(1) + + # 2. Gt core box mask + # (bs, num_gt_max, num_total_anchor, 4) + gt_core_box_xyxy = ops.concat( + [ + gt_box_center[:, :, None, :] - center_radius * self.anchor_strides, + gt_box_center[:, :, None, :] + center_radius * self.anchor_strides, + ], + axis=-1, + ) + # (bs, num_gt_max, num_total_anchor) + in_center_mask = self.in_box(self.anchor_center_pos, gt_core_box_xyxy) + in_center_box_mask = ops.logical_and(in_box_mask, in_center_mask) + + # 3. Fill padding pos with false (bs, num_gt_max, num_total_anchor) + expanded_gt_valid_mask = ops.repeat_elements( + gt_valid_mask[:, :, None].astype(ms.int32), rep=self.num_total_anchor, axis=2 + ).astype(ms.bool_) + in_center_box_mask = ops.logical_and(expanded_gt_valid_mask, in_center_box_mask) + pre_fg_mask = ops.logical_and(expanded_gt_valid_mask, in_box_mask.any(1, keep_dims=True)) + return in_center_box_mask, pre_fg_mask + + def construct(self, preds, targets, imgs=None): + """ + forward with loss return + Args: + preds (Tensor[bs, num_total_anchor, 85]): + targets (Tensor[bs, num_gt_max, 6]): 0: batch_id, 1: label, 2-6: box + """ + gt_valid_mask = targets[..., 1] >= 0 # defalut class column + gt_box_xyxy = box_cxcywh_to_xyxy(targets[:, :, 2:]) # (batch_size, gt_max, 4) in [xyxy] format + # reverse norm + gt_box_xyxy_raw = box_clip(box_scale(gt_box_xyxy, self.input_size), self.input_size) + # to cxcywh format + bbox_true = box_xyxy_to_cxcywh(gt_box_xyxy_raw) + is_inbox_and_incenter, pre_fg_mask = self._get_foreground(gt_box_xyxy_raw, gt_valid_mask) + + batch_size = preds.shape[0] + gt_max = targets.shape[1] + outputs = preds # batch_size, 8400, 85 + total_num_anchors = outputs.shape[1] + bbox_preds = outputs[:, :, :4] # batch_size, num_total_anchor, 4 + + obj_preds = outputs[:, :, 4:5] # batch_size, num_total_anchor, 1 + cls_preds = outputs[:, :, 5:] # (batch_size, num_total_anchor, num_class) + + # process label + gt_classes = ops.cast(targets[:, :, 1:2].squeeze(-1), ms.int32) + pair_wise_ious = batch_box_iou(bbox_true, bbox_preds, xywh=True) # (batch_size, gt_max, 8400) + pair_wise_ious = pair_wise_ious * pre_fg_mask + pair_wise_iou_loss = -ops.log(pair_wise_ious + 1e-8) * pre_fg_mask + gt_classes_ = self.one_hot(gt_classes, self.num_class, self.on_value, self.off_value) + # (bs, num_gt_max, num_class) -> (bs, num_gt_max, num_total_anchor, num_class) + gt_classes_expaned = ops.repeat_elements(self.unsqueeze(gt_classes_, 2), rep=total_num_anchors, axis=2) + gt_classes_expaned = ops.stop_gradient(gt_classes_expaned) + cls_preds_ = ops.sigmoid(ops.repeat_elements(self.unsqueeze(cls_preds, 1), rep=gt_max, axis=1)) * ops.sigmoid( + ops.repeat_elements(self.unsqueeze(obj_preds, 1), rep=gt_max, axis=1) + ) + # (bs, num_gt_max, num_total_anchor, num_class) -> (bs, num_gt_max, num_total_anchor) + pair_wise_cls_loss = ops.reduce_sum( + ops.binary_cross_entropy(ops.sqrt(cls_preds_), gt_classes_expaned, None, reduction="none"), -1 + ) + + pair_wise_cls_loss = pair_wise_cls_loss * pre_fg_mask + cost = pair_wise_cls_loss + 3.0 * pair_wise_iou_loss + punishment_cost = 1000.0 * (1.0 - ops.cast(is_inbox_and_incenter, ms.float32)) + cost = ops.cast(cost + punishment_cost, ms.float16) + # dynamic k matching + ious_in_boxes_matrix = pair_wise_ious # (batch_size, gt_max, 8400) + ious_in_boxes_matrix = ops.cast(pre_fg_mask * ious_in_boxes_matrix, ms.float16) + topk_ious, _ = ops.top_k(ious_in_boxes_matrix, self.n_candidate_k, sorted=True) + + dynamic_ks = ops.reduce_sum(topk_ious, 2).astype(ms.int32).clip(min=1, max=total_num_anchors - 1) + + # (1, batch_size * gt_max, 2) + batch_iter = Tensor(np.arange(0, batch_size * gt_max), ms.int32) + dynamic_ks_indices = ops.stack((batch_iter, dynamic_ks.reshape((-1,))), axis=1) + + dynamic_ks_indices = ops.stop_gradient(dynamic_ks_indices) + + values, _ = ops.top_k(-cost, self.n_candidate_k, sorted=True) # b_s , 50, 8400 + values = ops.reshape(-values, (-1, self.n_candidate_k)) + max_neg_score = self.unsqueeze(ops.gather_nd(values, dynamic_ks_indices).reshape(batch_size, -1), 2) + # positive sample for each gt + pos_mask = ops.cast(cost < max_neg_score, ms.float32) # (batch_size, gt_num, 8400) + pos_mask = pre_fg_mask * pos_mask + # ----dynamic_k---- END----------------------------------------------------------------------------------------- + + # pick the one with the lower cost if a sample is positive for more than one gt + cost_t = cost * pos_mask + (1.0 - pos_mask) * 2000.0 + min_index = ops.argmin(cost_t, axis=1) + ret_posk = ops.transpose(ops.one_hot(min_index, gt_max, self.on_value, self.off_value), (0, 2, 1)) + pos_mask = pos_mask * ret_posk + pos_mask = ops.stop_gradient(pos_mask) + # AA problem--------------END ---------------------------------------------------------------------------------- + + # calculate target --------------------------------------------------------------------------------------------- + # Cast precision + pos_mask = ops.cast(pos_mask, ms.float16) + bbox_true = ops.cast(bbox_true, ms.float16) + gt_classes_ = ops.cast(gt_classes_, ms.float16) + + reg_target = self.batch_matmul_trans_a(pos_mask, bbox_true) # (batch_size, 8400, 4) + pred_ious_this_matching = self.unsqueeze(ops.reduce_sum((ious_in_boxes_matrix * pos_mask), 1), -1) + cls_target = self.batch_matmul_trans_a(pos_mask, gt_classes_) + + cls_target = cls_target * pred_ious_this_matching + obj_target = ops.reduce_max(pos_mask, 1) # (batch_size, 8400) + + # calculate l1_target + reg_target = ops.stop_gradient(reg_target) + cls_target = ops.stop_gradient(cls_target) + obj_target = ops.stop_gradient(obj_target) + bbox_preds = ops.cast(bbox_preds, ms.float32) + reg_target = ops.cast(reg_target, ms.float32) + obj_preds = ops.cast(obj_preds, ms.float32) + obj_target = ops.cast(obj_target, ms.float32) + cls_preds = ops.cast(cls_preds, ms.float32) + cls_target = ops.cast(cls_target, ms.float32) + loss_l1 = 0.0 + if self.use_l1: + l1_target = self.get_l1_format(reg_target) + l1_preds = self.get_l1_format(bbox_preds) + l1_target = ops.stop_gradient(l1_target) + l1_target = ops.cast(l1_target, ms.float32) + l1_preds = ops.cast(l1_preds, ms.float32) + loss_l1 = ops.reduce_sum(self.l1_loss(l1_preds, l1_target), -1) * obj_target + loss_l1 = ops.reduce_sum(loss_l1) + # calculate target -----------END------------------------------------------------------------------------------- + iou = bbox_iou(bbox_preds.reshape(-1, 4), reg_target.reshape(-1, 4), xywh=True).reshape(batch_size, -1) + loss_iou = (1 - iou * iou) * obj_target # (bs, num_total_anchor) + loss_iou = ops.reduce_sum(loss_iou) + + loss_obj = self.bce_loss(ops.reshape(obj_preds, (-1, 1)), ops.reshape(obj_target, (-1, 1))) + loss_obj = ops.reduce_sum(loss_obj) + + loss_cls = ops.reduce_sum(self.bce_loss(cls_preds, cls_target), -1) * obj_target + loss_cls = ops.reduce_sum(loss_cls) + + num_fg_mask = ops.reduce_sum(obj_target) == 0 + num_fg = (num_fg_mask == 0) * ops.reduce_sum(obj_target) + 1.0 * num_fg_mask + + loss_iou = 5 * loss_iou / num_fg + loss_cls = loss_cls / num_fg + loss_obj = loss_obj / num_fg + loss_l1 = loss_l1 / num_fg + loss_all = loss_iou + loss_cls + loss_obj + loss_l1 + + if self.use_summary: + self.summary("loss", loss_all) + self.summary("num_fg", num_fg) + self.summary("loss_iou", loss_iou) + self.summary("loss_cls", loss_cls) + self.summary("loss_obj", loss_obj) + self.summary("loss_l1", loss_l1) + + return loss_all, ops.stop_gradient(ops.stack((loss_all, loss_iou, loss_obj, loss_cls, loss_l1))) + + def get_l1_format_single(self, reg_target, stride, eps): + """calculate L1 loss related""" + reg_target = reg_target / stride + reg_target_xy = reg_target[:, :, :2] + reg_target_wh = reg_target[:, :, 2:] + reg_target_wh = ops.log(reg_target_wh + eps) + return ops.concat((reg_target_xy, reg_target_wh), -1) + + def get_l1_format(self, reg_target, eps=1e-8): + """calculate L1 loss related""" + reg_target_l = reg_target[:, 0 : self.grids[0], :] # (bs, 6400, 4) + reg_target_m = reg_target[:, self.grids[0] : self.grids[1] + self.grids[0], :] # (bs, 1600, 4) + reg_target_s = reg_target[:, -self.grids[2] :, :] # (bs, 400, 4) + + reg_target_l = self.get_l1_format_single(reg_target_l, self.strides[0], eps) + reg_target_m = self.get_l1_format_single(reg_target_m, self.strides[1], eps) + reg_target_s = self.get_l1_format_single(reg_target_s, self.strides[2], eps) + + l1_target = ops.concat([reg_target_l, reg_target_m, reg_target_s], axis=1) + return l1_target diff --git a/community/cv/ShipWise/mindyolo/models/model_factory.py b/community/cv/ShipWise/mindyolo/models/model_factory.py new file mode 100644 index 000000000..5d7c57511 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/model_factory.py @@ -0,0 +1,214 @@ +import math +import os +from copy import deepcopy + +from mindspore import load_checkpoint, load_param_into_net, nn, ops + +from mindyolo.utils import logger +from .heads import * +from .layers import * +from .registry import is_model, model_entrypoint +from .initializer import initialize_defult + +__all__ = ["create_model", "build_model_from_cfg"] + + +def create_model( + model_name: str, + model_cfg: dict = None, + in_channels: int = 3, + num_classes: int = 80, + checkpoint_path: str = "", + **kwargs, +): + model_args = dict(cfg=model_cfg, num_classes=num_classes, in_channels=in_channels) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + + if not is_model(model_name): + raise RuntimeError(f"Unknown model {model_name}") + + create_fn = model_entrypoint(model_name) + model = create_fn(**model_args, **kwargs) + + if checkpoint_path: + assert os.path.isfile(checkpoint_path) and checkpoint_path.endswith( + ".ckpt" + ), f"[{checkpoint_path}] not a ckpt file." + checkpoint_param = load_checkpoint(checkpoint_path) + load_param_into_net(model, checkpoint_param) + logger.info(f"Load checkpoint from [{checkpoint_path}] success.") + + return model + + +# Tools: build model from yaml cfg +def build_model_from_cfg(**kwargs): + return Model(**kwargs) + + +class Model(nn.Cell): + def __init__(self, model_cfg, in_channels=3, num_classes=80, sync_bn=False): + super(Model, self).__init__() + self.model, self.save, self.layers_param = parse_model( + deepcopy(model_cfg), ch=[in_channels], nc=num_classes, sync_bn=sync_bn + ) + # Recompute + if hasattr(model_cfg, "recompute") and model_cfg.recompute and model_cfg.recompute_layers > 0: + for i in range(model_cfg.recompute_layers): + self.model[i].recompute() + logger.info( + f"Turn on recompute, and the results of the first {model_cfg.recompute_layers} layers " + f"will be recomputed." + ) + initialize_defult(self) + + def construct(self, x): + y, dt = (), () # outputs + for i in range(len(self.model)): + m = self.model[i] + iol, f, _, _ = self.layers_param[i] # iol: index of layers + + if not (isinstance(f, int) and f == -1): # if not from previous layer + if isinstance(f, int): + x = y[f] + else: + _x = () + for j in f: + if j == -1: + _x += (x,) + else: + _x += (y[j],) + x = _x + + x = m(x) # run + + y += (x if iol in self.save else None,) # save output + return x + + @staticmethod + @ops.constexpr + def _get_h_w_list(ratio, gs, hw): + return tuple([math.ceil(x * ratio / gs) * gs for x in hw]) + + +def parse_model(d, ch, nc, sync_bn=False): # model_dict, input_channels(3) + _SYNC_BN = sync_bn + if _SYNC_BN: + logger.info("Parse model with Sync BN.") + verbose = d.get("verbose_log", False) + if verbose: + logger.info("") + logger.info("network structure are as follows") + logger.info("%3s%18s%3s%10s %-60s%-40s" % ("", "from", "n", "params", "module", "arguments")) + anchors, reg_max, max_channels = d.get("anchors", None), d.get("reg_max", None), d.get("max_channels", None) + stride, gd, gw = d.stride, d.depth_multiple, d.width_multiple + nc, na = ( + nc, + (len(anchors[0]) // 2) if isinstance(anchors, list) else anchors, + ) # number of classes, number of anchors + + layers, save, c2 = [], [], ch[-1] # layers, savelist, ch out + layers_param = [] + num_total_param, num_train_param = 0, 0 + for i, (f, n, m, args) in enumerate(d.backbone + d.head): # from, number, module, args + kwargs = {} + m = eval(m) if isinstance(m, str) else m # eval strings + + _args = [] + for j, a in enumerate(args): + if isinstance(a, str) and "=" in a: + _index = a.find("=") + k, v = a[:_index], a[_index + 1 :] + try: + v = eval(v) + except: + logger.warning(f"Parse Model, args: {k}={v}, keep str type") + kwargs[k] = v + else: + try: + a = eval(a) if isinstance(a, str) else a + except: + logger.warning(f"Parse Model, args: {a}, keep str type") + _args += [ + a, + ] + args = _args + + n = max(round(n * gd), 1) if n > 1 else n # depth gain + if m in ( + nn.Conv2d, + ConvNormAct, + RepConv, + DownC, + SPPCSPC, + SPPF, + C3, + C2f, + Bottleneck, + Residualblock, + Focus, + DWConvNormAct, + DWBottleneck, + DWC3, + ): + c1, c2 = ch[f], args[0] + if max_channels: + c2 = min(c2, max_channels) + c2 = math.ceil(c2 * gw / 8) * 8 + + args = [c1, c2, *args[1:]] + if m in ( + ConvNormAct, + RepConv, + DownC, + SPPCSPC, + SPPF, + C3, + C2f, + Bottleneck, + Residualblock, + DWConvNormAct, + DWBottleneck, + DWC3, + ): + kwargs["sync_bn"] = sync_bn + if m in (DownC, SPPCSPC, C3, C2f, DWC3): + args.insert(2, n) # number of repeats + n = 1 + elif m in (nn.BatchNorm2d, nn.SyncBatchNorm): + args = [ch[f]] + elif m in (Concat,): + c2 = sum([ch[x] for x in f]) + elif m is Shortcut: + c2 = ch[f[0]] + elif m in (YOLOv7Head, YOLOv7AuxHead, YOLOv5Head, YOLOv4Head, YOLOv3Head): + args.append([ch[x] for x in f]) + if isinstance(args[1], int): # number of anchors + args[1] = [list(range(args[1] * 2))] * len(f) + elif m in (YOLOv8Head, YOLOv8SegHead, YOLOXHead): # head of anchor free + args.append([ch[x] for x in f]) + if m in (YOLOv8SegHead,): + args[3] = math.ceil(min(args[3], max_channels) * gw / 8) * 8 + elif m is ReOrg: + c2 = ch[f] * 4 + else: + c2 = ch[f] + + m_ = nn.SequentialCell([m(*args, **kwargs) for _ in range(n)]) if n > 1 else m(*args, **kwargs) + + t = str(m) # module type + np = sum([x.size for x in m_.get_parameters()]) # number params + np_trainable = sum([x.size for x in m_.trainable_params()]) # number trainable params + num_total_param += np + num_train_param += np_trainable + m_.i, m_.f, m_.type, m_.np = i, f, t, np # attach index, 'from' index, type, number params + layers_param.append((i, f, t, np)) + if verbose: + logger.info("%3s%18s%3s%10.0f %-60s%-40s" % (i, f, n, np, t, args + [kwargs] if kwargs else args)) # print + save.extend(x % i for x in ([f] if isinstance(f, int) else f) if x != -1) # append to savelist + layers.append(m_) + if i == 0: + ch = [] + ch.append(c2) + logger.info(f"number of network params, total: {num_total_param / 1e6}M, trainable: {num_train_param / 1e6}M") + return nn.CellList(layers), sorted(save), layers_param diff --git a/community/cv/ShipWise/mindyolo/models/registry.py b/community/cv/ShipWise/mindyolo/models/registry.py new file mode 100644 index 000000000..08e369a27 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/registry.py @@ -0,0 +1,106 @@ +"""model registry and list""" +import fnmatch +import sys +from collections import defaultdict + +__all__ = ["list_models", "is_model", "model_entrypoint", "list_modules", "is_model_in_modules", "is_model_pretrained"] + +_module_to_models = defaultdict(set) +_model_to_module = {} +_model_entrypoints = {} +_model_has_pretrained = set() + + +def register_model(fn): + # lookup containing module + mod = sys.modules[fn.__module__] + module_name_split = fn.__module__.split(".") + module_name = module_name_split[-1] if len(module_name_split) else "" + + # add model to __all__ in module + model_name = fn.__name__ + if hasattr(mod, "__all__"): + mod.__all__.append(model_name) + else: + mod.__all__ = [model_name] + + # add entries to registry dict/sets + _model_entrypoints[model_name] = fn + _model_to_module[model_name] = module_name + _module_to_models[module_name].add(model_name) + has_pretrained = False + if hasattr(mod, "default_cfgs") and model_name in mod.default_cfgs: + cfg = mod.default_cfgs[model_name] + has_pretrained = "url" in cfg and cfg["url"] + if has_pretrained: + _model_has_pretrained.add(model_name) + return fn + + +def list_models(filter="", module="", pretrained=False, exclude_filters=""): + if module: + all_models = list(_module_to_models[module]) + else: + all_models = _model_entrypoints.keys() + + if filter: + models = [] + include_filters = filter if isinstance(filter, (tuple, list)) else [filter] + for f in include_filters: + include_models = fnmatch.filter(all_models, f) # include these models + if include_models: + models = set(models).union(include_models) + else: + models = all_models + + if exclude_filters: + if not isinstance(exclude_filters, (tuple, list)): + exclude_filters = [exclude_filters] + for xf in exclude_filters: + exclude_models = fnmatch.filter(models, xf) # exclude these models + if exclude_models: + models = set(models).difference(exclude_models) + + if pretrained: + models = _model_has_pretrained.intersection(models) + + models = sorted(list(models)) + + return models + + +def is_model(model_name): + """ + Check if a model name exists + """ + return model_name in _model_entrypoints + + +def model_entrypoint(model_name): + """ + Fetch a model entrypoint for specified model name + """ + return _model_entrypoints[model_name] + + +def list_modules(): + """ + Return list of module names that contain models / model entrypoints + """ + modules = _module_to_models.keys() + return list(sorted(modules)) + + +def is_model_in_modules(model_name, module_names): + """ + Check if a model exists within a subset of modules + Args: + model_name (str) - name of model to check + module_names (tuple, list, set) - names of modules to search in + """ + assert isinstance(module_names, (tuple, list, set)) + return any(model_name in _module_to_models[n] for n in module_names) + + +def is_model_pretrained(model_name): + return model_name in _model_has_pretrained diff --git a/community/cv/ShipWise/mindyolo/models/yolov3.py b/community/cv/ShipWise/mindyolo/models/yolov3.py new file mode 100644 index 000000000..9f87d2fee --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/yolov3.py @@ -0,0 +1,66 @@ +import numpy as np + +import mindspore as ms +from mindspore import Tensor, nn + +from mindyolo.models.heads.yolov3_head import YOLOv3Head +from mindyolo.models.model_factory import build_model_from_cfg +from mindyolo.models.registry import register_model + +__all__ = ["YOLOv3", "yolov3"] + + +def _cfg(url="", **kwargs): + return {"url": url, **kwargs} + + +default_cfgs = {"yolov3": _cfg(url="")} + + +class YOLOv3(nn.Cell): + def __init__(self, cfg, in_channels=3, num_classes=None, sync_bn=False): + super(YOLOv3, self).__init__() + self.cfg = cfg + self.stride = Tensor(np.array(cfg.stride), ms.int32) + self.stride_max = int(max(self.cfg.stride)) + ch, nc = in_channels, num_classes + + self.nc = nc # override yaml value + self.model = build_model_from_cfg(model_cfg=cfg, in_channels=ch, num_classes=nc, sync_bn=sync_bn) + self.names = [str(i) for i in range(nc)] # default names + + self.initialize_weights() + + def construct(self, x): + return self.model(x) + + def initialize_weights(self): + # reset parameter for Detect Head + m = self.model.model[-1] + if isinstance(m, YOLOv3Head): + m.initialize_biases() + + +@register_model +def yolov3(cfg, in_channels=3, num_classes=None, **kwargs) -> YOLOv3: + """Get yolov3 model.""" + model = YOLOv3(cfg=cfg, in_channels=in_channels, num_classes=num_classes, **kwargs) + return model + + +if __name__ == "__main__": + from mindyolo.models.model_factory import create_model + from mindyolo.utils.config import load_config, Config + + cfg, _, _ = load_config('../../configs/yolov3/yolov3.yaml') + cfg = Config(cfg) + network = create_model( + model_name=cfg.network.model_name, + model_cfg=cfg.network, + num_classes=cfg.data.nc, + sync_bn=cfg.sync_bn if hasattr(cfg, "sync_bn") else False, + ) + x = Tensor(np.random.randn(1, 3, 640, 640), ms.float32) + out = network(x) + out = out[0] if isinstance(out, (list, tuple)) else out + print(f"Output shape is {[o.shape for o in out]}") diff --git a/community/cv/ShipWise/mindyolo/models/yolov4.py b/community/cv/ShipWise/mindyolo/models/yolov4.py new file mode 100644 index 000000000..08748c5f6 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/yolov4.py @@ -0,0 +1,55 @@ +import numpy as np + +import mindspore as ms +from mindspore import Tensor, nn + +from mindyolo.models.model_factory import build_model_from_cfg +from mindyolo.models.registry import register_model + +__all__ = ["YOLOv4", "yolov4"] + + +def _cfg(url="", **kwargs): + return {"url": url, **kwargs} + + +default_cfgs = {"yolov4": _cfg(url="")} + + +class YOLOv4(nn.Cell): + def __init__(self, cfg, in_channels=3, num_classes=None, sync_bn=False): + super(YOLOv4, self).__init__() + self.cfg = cfg + ch, nc = in_channels, num_classes + + self.nc = nc # override yaml value + self.model = build_model_from_cfg(model_cfg=cfg, in_channels=ch, num_classes=nc, sync_bn=sync_bn) + self.names = [str(i) for i in range(nc)] # default names + + def construct(self, x): + return self.model(x) + + +@register_model +def yolov4(cfg, in_channels=3, num_classes=None, **kwargs) -> YOLOv4: + """Get yolov4 model.""" + model = YOLOv4(cfg=cfg, in_channels=in_channels, num_classes=num_classes, **kwargs) + return model + + +if __name__ == "__main__": + from mindyolo.models.model_factory import create_model + from mindyolo.utils.config import load_config, Config + + cfg, _, _ = load_config('../../configs/yolov4/yolov4.yaml') + cfg = Config(cfg) + network = create_model( + model_name=cfg.network.model_name, + model_cfg=cfg.network, + num_classes=cfg.data.nc, + sync_bn=cfg.sync_bn if hasattr(cfg, "sync_bn") else False, + ) + x = Tensor(np.random.randn(1, 3, 640, 640), ms.float32) + out = network(x) + out = out[0] if isinstance(out, (list, tuple)) else out + print(f"Output shape is {[o.shape for o in out]}") diff --git a/community/cv/ShipWise/mindyolo/models/yolov5.py b/community/cv/ShipWise/mindyolo/models/yolov5.py new file mode 100644 index 000000000..cb8931e8a --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/yolov5.py @@ -0,0 +1,69 @@ +import numpy as np + +import mindspore as ms +from mindspore import Tensor, nn + +from mindyolo.models.heads.yolov5_head import YOLOv5Head +from mindyolo.models.model_factory import build_model_from_cfg +from mindyolo.models.registry import register_model + +__all__ = ["YOLOv5", "yolov5"] + + +def _cfg(url="", **kwargs): + return {"url": url, **kwargs} + + +default_cfgs = {"yolov5": _cfg(url="")} + + +class YOLOv5(nn.Cell): + def __init__(self, cfg, in_channels=3, num_classes=None, sync_bn=False): + super(YOLOv5, self).__init__() + self.cfg = cfg + self.stride = Tensor(np.array(cfg.stride), ms.int32) + self.stride_max = int(max(self.cfg.stride)) + ch, nc = in_channels, num_classes + + self.nc = nc # override yaml value + self.model = build_model_from_cfg(model_cfg=cfg, in_channels=ch, num_classes=nc, sync_bn=sync_bn) + self.names = [str(i) for i in range(nc)] # default names + + self.initialize_weights() + + def construct(self, x): + return self.model(x) + + def initialize_weights(self): + # reset parameter for Detect Head + m = self.model.model[-1] + if isinstance(m, YOLOv5Head): + m.initialize_biases() + + +@register_model +def yolov5(cfg, in_channels=3, num_classes=None, **kwargs) -> YOLOv5: + """Get yolov5 model.""" + model = YOLOv5(cfg=cfg, in_channels=in_channels, num_classes=num_classes, **kwargs) + return model + + +# TODO: Preset pre-training model for yolov5-n/s/m + + +if __name__ == "__main__": + from mindyolo.models.model_factory import create_model + from mindyolo.utils.config import load_config, Config + + cfg, _, _ = load_config('../../configs/yolov5/yolov5s.yaml') + cfg = Config(cfg) + network = create_model( + model_name=cfg.network.model_name, + model_cfg=cfg.network, + num_classes=cfg.data.nc, + sync_bn=cfg.sync_bn if hasattr(cfg, "sync_bn") else False, + ) + x = Tensor(np.random.randn(1, 3, 640, 640), ms.float32) + out = network(x) + out = out[0] if isinstance(out, (list, tuple)) else out + print(f"Output shape is {[o.shape for o in out]}") diff --git a/community/cv/ShipWise/mindyolo/models/yolov7.py b/community/cv/ShipWise/mindyolo/models/yolov7.py new file mode 100644 index 000000000..a0b100aa9 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/yolov7.py @@ -0,0 +1,71 @@ +import numpy as np + +import mindspore as ms +from mindspore import Tensor, nn + +from mindyolo.models.heads.yolov7_head import YOLOv7AuxHead, YOLOv7Head +from mindyolo.models.model_factory import build_model_from_cfg +from .registry import register_model + +__all__ = ["YOLOv7", "yolov7"] + + +def _cfg(url="", **kwargs): + return {"url": url, **kwargs} + + +default_cfgs = {"yolov7": _cfg(url="")} + + +class YOLOv7(nn.Cell): + def __init__(self, cfg, in_channels=3, num_classes=None, sync_bn=False): + super(YOLOv7, self).__init__() + self.cfg = cfg + self.stride = Tensor(np.array(cfg.stride), ms.int32) + self.stride_max = int(max(self.cfg.stride)) + ch, nc = in_channels, num_classes + + self.nc = nc # override yaml value + self.model = build_model_from_cfg(model_cfg=cfg, in_channels=ch, num_classes=nc, sync_bn=sync_bn) + self.names = [str(i) for i in range(nc)] # default names + + self.initialize_weights() + + def construct(self, x): + return self.model(x) + + def initialize_weights(self): + # reset parameter for Detect Head + m = self.model.model[-1] + if isinstance(m, YOLOv7Head): + m.initialize_biases() + if isinstance(m, YOLOv7AuxHead): + m.initialize_aux_biases() + + +@register_model +def yolov7(cfg, in_channels=3, num_classes=None, **kwargs) -> YOLOv7: + """Get yolov7 model.""" + model = YOLOv7(cfg=cfg, in_channels=in_channels, num_classes=num_classes, **kwargs) + return model + + +# TODO: Preset pre-training model for yolov7-tiny/l/x + + +if __name__ == "__main__": + from mindyolo.models.model_factory import create_model + from mindyolo.utils.config import load_config, Config + + cfg, _, _ = load_config('../../configs/yolov7/yolov7-tiny.yaml') + cfg = Config(cfg) + network = create_model( + model_name=cfg.network.model_name, + model_cfg=cfg.network, + num_classes=cfg.data.nc, + sync_bn=cfg.sync_bn if hasattr(cfg, "sync_bn") else False, + ) + x = Tensor(np.random.randn(1, 3, 640, 640), ms.float32) + out = network(x) + out = out[0] if isinstance(out, (list, tuple)) else out + print(f"Output shape is {[o.shape for o in out]}") diff --git a/community/cv/ShipWise/mindyolo/models/yolov8.py b/community/cv/ShipWise/mindyolo/models/yolov8.py new file mode 100644 index 000000000..f67301f35 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/yolov8.py @@ -0,0 +1,70 @@ +import numpy as np + +import mindspore as ms +from mindspore import Tensor, nn + +from mindyolo.models.heads.yolov8_head import YOLOv8Head +from mindyolo.models.model_factory import build_model_from_cfg +from mindyolo.models.registry import register_model + +__all__ = ["YOLOv8", "yolov8"] + + +def _cfg(url="", **kwargs): + return {"url": url, **kwargs} + + +default_cfgs = {"yolov8": _cfg(url="")} + + +class YOLOv8(nn.Cell): + def __init__(self, cfg, in_channels=3, num_classes=None, sync_bn=False): + super(YOLOv8, self).__init__() + self.cfg = cfg + self.stride = Tensor(np.array(cfg.stride), ms.int32) + self.stride_max = int(max(self.cfg.stride)) + ch, nc = in_channels, num_classes + + self.nc = nc # override yaml value + self.model = build_model_from_cfg(model_cfg=cfg, in_channels=ch, num_classes=nc, sync_bn=sync_bn) + self.names = [str(i) for i in range(nc)] # default names + + self.initialize_weights() + + def construct(self, x): + return self.model(x) + + def initialize_weights(self): + # reset parameter for Detect Head + m = self.model.model[-1] + if isinstance(m, YOLOv8Head): + m.initialize_biases() + m.dfl.initialize_conv_weight() + + +@register_model +def yolov8(cfg, in_channels=3, num_classes=None, **kwargs) -> YOLOv8: + """Get yolov8 model.""" + model = YOLOv8(cfg=cfg, in_channels=in_channels, num_classes=num_classes, **kwargs) + return model + + +# TODO: Preset pre-training model for yolov8-n + + +if __name__ == "__main__": + from mindyolo.models.model_factory import create_model + from mindyolo.utils.config import load_config, Config + + cfg, _, _ = load_config('../../configs/yolov8/yolov8s.yaml') + cfg = Config(cfg) + network = create_model( + model_name=cfg.network.model_name, + model_cfg=cfg.network, + num_classes=cfg.data.nc, + sync_bn=cfg.sync_bn if hasattr(cfg, "sync_bn") else False, + ) + x = Tensor(np.random.randn(1, 3, 640, 640), ms.float32) + out = network(x) + out = out[0] if isinstance(out, (list, tuple)) else out + print(f"Output shape is {[o.shape for o in out]}") diff --git a/community/cv/ShipWise/mindyolo/models/yolox.py b/community/cv/ShipWise/mindyolo/models/yolox.py new file mode 100644 index 000000000..7dde87051 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/yolox.py @@ -0,0 +1,65 @@ +import numpy as np + +import mindspore as ms +from mindspore import Tensor, nn + +from mindyolo.models.registry import register_model +from mindyolo.models.heads import YOLOXHead +from mindyolo.models.model_factory import build_model_from_cfg + +__all__ = ["YOLOX", "yolox"] + + +def _cfg(url="", **kwargs): + return {"url": url, **kwargs} + +default_cfgs = {"yolox": _cfg(url="")} + + +class YOLOX(nn.Cell): + """connect yolox backbone and head""" + + def __init__(self, cfg, in_channels=3, num_classes=80, sync_bn=False): + super(YOLOX, self).__init__() + self.cfg = cfg + self.stride = Tensor(np.array(cfg.stride), ms.int32) + ch, nc = in_channels, num_classes + self.nc = nc + self.model = build_model_from_cfg(model_cfg=cfg, in_channels=ch, num_classes=nc, sync_bn=sync_bn) + self.names = [str(i) for i in range(nc)] + + self.initialize_weights() + + def construct(self, x): + return self.model(x) + + def initialize_weights(self): + # reset parameter for Detect Head + m = self.model.model[-1] + assert isinstance(m, YOLOXHead) + m.initialize_biases() + + +@register_model +def yolox(cfg, in_channels=3, num_classes=None, **kwargs) -> YOLOX: + """Get yolox model.""" + model = YOLOX(cfg, in_channels=in_channels, num_classes=num_classes, **kwargs) + return model + + +if __name__ == "__main__": + from mindyolo.models.model_factory import create_model + from mindyolo.utils.config import load_config, Config + + cfg, _, _ = load_config('../../configs/yolox/yolox-s.yaml') + cfg = Config(cfg) + network = create_model( + model_name=cfg.network.model_name, + model_cfg=cfg.network, + num_classes=cfg.data.nc, + sync_bn=cfg.sync_bn if hasattr(cfg, "sync_bn") else False, + ) + x = Tensor(np.random.randn(1, 3, 640, 640), ms.float32) + out = network(x) + out = out[0] if isinstance(out, (list, tuple)) else out + print(f"Output shape is {[o.shape for o in out]}") diff --git a/community/cv/ShipWise/mindyolo/optim/__init__.py b/community/cv/ShipWise/mindyolo/optim/__init__.py new file mode 100644 index 000000000..40b4f1f50 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/optim/__init__.py @@ -0,0 +1,11 @@ +from . import ema, group_params, optim_factory, scheduler +from .ema import * +from .group_params import * +from .optim_factory import * +from .scheduler import * + +__all__ = [] +__all__.extend(ema.__all__) +__all__.extend(group_params.__all__) +__all__.extend(scheduler.__all__) +__all__.extend(optim_factory.__all__) diff --git a/community/cv/ShipWise/mindyolo/optim/ema.py b/community/cv/ShipWise/mindyolo/optim/ema.py new file mode 100644 index 000000000..479df62a8 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/optim/ema.py @@ -0,0 +1,51 @@ +import mindspore as ms +from mindspore import Parameter, Tensor, nn, ops + +__all__ = ["EMA"] + + +class EMA(nn.Cell): + """Model Exponential Moving Average from https://github.com/rwightman/pytorch-image-models + Keep a moving average of everything in the model state_dict (parameters and buffers). + This is intended to allow functionality like + https://www.tensorflow.org/api_docs/python/tf/train/ExponentialMovingAverage + A smoothed version of the weight is necessary for some training schemes to perform well. + """ + + def __init__(self, model, ema_model, decay=0.9999, updates=0): + super(EMA, self).__init__() + # Create EMA + self.ema = ema_model + self.ema.set_train(False) + self.weight = ms.ParameterTuple(list(model.get_parameters())) + self.ema_weight = ms.ParameterTuple(list(ema_model.get_parameters())) + self.updates = Parameter(Tensor(updates, ms.float32), requires_grad=False) # number of EMA updates + self.decay_value = decay + self.assign = ops.Assign() + self.hyper_map = ops.HyperMap() + + def decay(self, x): + # decay exponential ramp (to help early epochs) + return self.decay_value * (1 - ops.exp(ops.neg(x) / 2000)) + + @ms.jit + def update(self): + # Update EMA parameters + def update_param(d, ema_v, weight): + if weight.dtype == ms.int32: + return self.assign(ema_v, weight) + else: + tep_v = ema_v * d + return self.assign(ema_v, weight * (1.0 - d) + tep_v) + + ops.assign_add(self.updates, 1) + d = self.decay(self.updates) + success = self.hyper_map(ops.partial(update_param, d), self.ema_weight, self.weight) + + return success + + @ms.jit + def clone_from_model(self): + ops.assign_add(self.updates, 1) + success = self.hyper_map(ops.assign, self.ema_weight, self.weight) + return success diff --git a/community/cv/ShipWise/mindyolo/optim/group_params.py b/community/cv/ShipWise/mindyolo/optim/group_params.py new file mode 100644 index 000000000..2c78edd2f --- /dev/null +++ b/community/cv/ShipWise/mindyolo/optim/group_params.py @@ -0,0 +1,284 @@ +import numpy as np + +from .scheduler import cosine_decay_lr, linear_lr + +__all__ = ["create_group_param"] + + +def create_group_param(params, gp_weight_decay=0.0, **kwargs): + """ + Create group parameters for optimizer. + + Args: + params: Network parameters + gp_weight_decay: Weight decay. Default: 0.0 + **kwargs: Others + """ + if "group_param" in kwargs: + gp_strategy = kwargs["group_param"] + if gp_strategy == "filter_bias_and_bn": + return filter_bias_and_bn(params, gp_weight_decay) + elif gp_strategy == "yolov8": + return group_param_yolov8(params, weight_decay=gp_weight_decay, **kwargs) + elif gp_strategy == "yolov7": + return group_param_yolov7(params, weight_decay=gp_weight_decay, **kwargs) + elif gp_strategy == "yolov5": + return group_param_yolov5(params, weight_decay=gp_weight_decay, **kwargs) + elif gp_strategy == "yolov4": + return group_param_yolov4(params, weight_decay=gp_weight_decay, **kwargs) + elif gp_strategy == "yolov3": + return group_param_yolov3(params, weight_decay=gp_weight_decay, **kwargs) + else: + raise NotImplementedError + else: + return params + + +def filter_bias_and_bn(params, weight_decay): + no_decay_params, decay_params = _group_param_common2(params) + + return [ + {"params": decay_params, "weight_decay": weight_decay}, + {"params": no_decay_params}, + ] + + +def group_param_yolov3( + params, + weight_decay, + start_factor, + end_factor, + lr_init, + warmup_bias_lr, + warmup_epochs, + min_warmup_step, + accumulate, + epochs, + steps_per_epoch, + total_batch_size, + **kwargs +): + # old: # weight, gamma, bias/beta + # new: # bias/beta, weight, others + pg0, pg1, pg2 = _group_param_common3(params) + + lr_pg0, lr_pg1, lr_pg2 = [], [], [] + lrs = cosine_decay_lr(start_factor, end_factor, lr_init, steps_per_epoch, epochs) + + warmup_steps = max(round(warmup_epochs * steps_per_epoch), min_warmup_step) + xi = [0, warmup_steps] + for i in range(epochs * steps_per_epoch): + _lr = lrs[i] + if i < warmup_steps: + lr_pg0.append(np.interp(i, xi, [warmup_bias_lr, _lr])) + lr_pg1.append(np.interp(i, xi, [0.0, _lr])) + lr_pg2.append(np.interp(i, xi, [0.0, _lr])) + else: + lr_pg0.append(_lr) + lr_pg1.append(_lr) + lr_pg2.append(_lr) + + nbs = 64 + weight_decay *= total_batch_size * accumulate / nbs # scale weight_decay + group_params = [ + {"params": pg0, "lr": lr_pg0}, + {"params": pg1, "lr": lr_pg1, "weight_decay": weight_decay}, + {"params": pg2, "lr": lr_pg2}, + ] + return group_params + + +def group_param_yolov4( + params, + weight_decay, + start_factor, + end_factor, + lr_init, + warmup_epochs, + min_warmup_step, + accumulate, + epochs, + steps_per_epoch, + total_batch_size, + **kwargs +): + pg0, pg1 = _group_param_common2(params) # bias/beta/gamma, others + + lr_pg0, lr_pg1 = [], [] + lrs = cosine_decay_lr(start_factor, end_factor, lr_init, steps_per_epoch, epochs) + + warmup_steps = max(round(warmup_epochs * steps_per_epoch), min_warmup_step) + + xi = [0, warmup_steps] + for i in range(epochs * steps_per_epoch): + _lr = lrs[i] + if i < warmup_steps: + lr_pg0.append(np.interp(i, xi, [0.0, lr_init])) + lr_pg1.append(np.interp(i, xi, [0.0, lr_init])) + + else: + lr_pg0.append(_lr) + lr_pg1.append(_lr) + + group_params = [{"params": pg0, "lr": lr_pg0}, {"params": pg1, "lr": lr_pg1, "weight_decay": weight_decay}] + return group_params + + +def group_param_yolov5( + params, + weight_decay, + start_factor, + end_factor, + lr_init, + warmup_bias_lr, + warmup_epochs, + min_warmup_step, + accumulate, + epochs, + steps_per_epoch, + total_batch_size, + **kwargs +): + # old: # weight, gamma, bias/beta + # new: # bias/beta, weight, others + pg0, pg1, pg2 = _group_param_common3(params) + + lr_pg0, lr_pg1, lr_pg2 = [], [], [] + lrs = linear_lr(start_factor, end_factor, lr_init, steps_per_epoch, epochs) + + warmup_steps = max(round(warmup_epochs * steps_per_epoch), min_warmup_step) + xi = [0, warmup_steps] + for i in range(epochs * steps_per_epoch): + _lr = lrs[i] + if i < warmup_steps: + lr_pg0.append(np.interp(i, xi, [warmup_bias_lr, _lr])) + lr_pg1.append(np.interp(i, xi, [0.0, _lr])) + lr_pg2.append(np.interp(i, xi, [0.0, _lr])) + else: + lr_pg0.append(_lr) + lr_pg1.append(_lr) + lr_pg2.append(_lr) + + nbs = 64 + weight_decay *= total_batch_size * accumulate / nbs # scale weight_decay + group_params = [ + {"params": pg0, "lr": lr_pg0}, + {"params": pg1, "lr": lr_pg1, "weight_decay": weight_decay}, + {"params": pg2, "lr": lr_pg2}, + ] + return group_params + + +def group_param_yolov7( + params, + weight_decay, + start_factor, + end_factor, + lr_init, + warmup_bias_lr, + warmup_epochs, + min_warmup_step, + accumulate, + epochs, + steps_per_epoch, + total_batch_size, + **kwargs +): + pg0, pg1, pg2 = _group_param_common3(params) # bias/beta, weight, others + + lr_pg0, lr_pg1, lr_pg2 = [], [], [] + lrs = cosine_decay_lr(start_factor, end_factor, lr_init, steps_per_epoch, epochs) + + warmup_steps = max(round(warmup_epochs * steps_per_epoch), min_warmup_step) + warmup_bias_steps_first = min(max(round(3 * steps_per_epoch), min_warmup_step), warmup_steps) + warmup_bias_lr_first = np.interp(warmup_bias_steps_first, [0, warmup_steps], [0.0, lr_init]) + xi = [0, warmup_steps] + for i in range(epochs * steps_per_epoch): + _lr = lrs[i] + if i < warmup_steps: + lr_pg0.append( + np.interp(i, [0, warmup_bias_steps_first, warmup_steps], [warmup_bias_lr, warmup_bias_lr_first, _lr]) + ) + lr_pg1.append(np.interp(i, xi, [0.0, _lr])) + lr_pg2.append(np.interp(i, xi, [0.0, _lr])) + + else: + lr_pg0.append(_lr) + lr_pg1.append(_lr) + lr_pg2.append(_lr) + + nbs = 64 + weight_decay *= total_batch_size * accumulate / nbs # scale weight_decay + group_params = [ + {"params": pg0, "lr": lr_pg0}, + {"params": pg1, "lr": lr_pg1, "weight_decay": weight_decay}, + {"params": pg2, "lr": lr_pg2}, + ] + return group_params + + +def group_param_yolov8( + params, + weight_decay, + start_factor, + end_factor, + lr_init, + warmup_bias_lr, + warmup_epochs, + min_warmup_step, + accumulate, + epochs, + steps_per_epoch, + total_batch_size, + **kwargs +): + pg0, pg1, pg2 = _group_param_common3(params) # bias/beta, weight, others + + lr_pg0, lr_pg1, lr_pg2 = [], [], [] + lrs = linear_lr(start_factor, end_factor, lr_init, steps_per_epoch, epochs) + + warmup_steps = max(round(warmup_epochs * steps_per_epoch), min_warmup_step) + xi = [0, warmup_steps] + for i in range(epochs * steps_per_epoch): + _lr = lrs[i] + if i < warmup_steps: + lr_pg0.append(np.interp(i, xi, [warmup_bias_lr, _lr])) + lr_pg1.append(np.interp(i, xi, [0.0, _lr])) + lr_pg2.append(np.interp(i, xi, [0.0, _lr])) + else: + lr_pg0.append(_lr) + lr_pg1.append(_lr) + lr_pg2.append(_lr) + + nbs = 64 + weight_decay *= total_batch_size * accumulate / nbs # scale weight_decay + group_params = [ + {"params": pg0, "lr": lr_pg0}, + {"params": pg1, "lr": lr_pg1, "weight_decay": weight_decay}, + {"params": pg2, "lr": lr_pg2}, + ] + return group_params + + +def _group_param_common2(params): + pg0, pg1 = [], [] # optimizer parameter groups + for p in params: + if "bias" in p.name or "beta" in p.name or "gamma" in p.name: + pg0.append(p) + else: + pg1.append(p) + + return pg0, pg1 # bias/beta/gamma, others + + +def _group_param_common3(params): + pg0, pg1, pg2 = [], [], [] # optimizer parameter groups + for p in params: + if "bias" in p.name or "beta" in p.name: + pg0.append(p) + elif "weight" in p.name: + pg1.append(p) + else: + pg2.append(p) + + return pg0, pg1, pg2 # bias/beta, weight, others diff --git a/community/cv/ShipWise/mindyolo/optim/optim_factory.py b/community/cv/ShipWise/mindyolo/optim/optim_factory.py new file mode 100644 index 000000000..8e1d39a33 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/optim/optim_factory.py @@ -0,0 +1,64 @@ +""" optim factory """ +import os +from typing import Optional + +from mindspore import load_checkpoint, load_param_into_net, nn + +__all__ = ["create_optimizer"] + + +def create_optimizer( + params, + optimizer: str = "momentum", + lr: Optional[float] = 1e-3, + weight_decay: float = 0, + momentum: float = 0.9, + nesterov: bool = False, + loss_scale: float = 1.0, + checkpoint_path: str = "", + **kwargs, +): + r"""Creates optimizer by name. + + Args: + params: network parameters. + optim: optimizer name like 'sgd', 'nesterov', 'momentum'. + lr: learning rate, float or lr scheduler. Fixed and dynamic learning rate are supported. Default: 1e-3. + weight_decay: weight decay factor. Default: 0. + momentum: momentum if the optimizer supports. Default: 0.9. + nesterov: Whether to use Nesterov Accelerated Gradient (NAG) algorithm to update the gradients. Default: False. + loss_scale: A floating point value for the loss scale, which must be larger than 0.0. Default: 1.0. + checkpoint_path: Optimizer weight path. Default: ''. + + Returns: + Optimizer object + """ + + optim = optimizer.lower() + + if optim == "sgd": + optimizer = nn.SGD( + params=params, + learning_rate=lr, + momentum=momentum, + weight_decay=weight_decay, + nesterov=nesterov, + loss_scale=loss_scale, + ) + elif optim in ["momentum", "nesterov"]: + optimizer = nn.Momentum( + params=params, + learning_rate=lr, + momentum=momentum, + weight_decay=weight_decay, + use_nesterov=nesterov, + loss_scale=loss_scale, + ) + else: + raise ValueError(f"Invalid optimizer: {optim}") + + if checkpoint_path.endswith(".ckpt") and os.path.isfile(checkpoint_path): + param_dict = load_checkpoint(checkpoint_path, filter_prefix="learning_rate") + load_param_into_net(optimizer, param_dict) + + return optimizer diff --git a/community/cv/ShipWise/mindyolo/optim/scheduler.py b/community/cv/ShipWise/mindyolo/optim/scheduler.py new file mode 100644 index 000000000..5fe074b13 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/optim/scheduler.py @@ -0,0 +1,237 @@ +import math +import numpy as np + +__all__ = ["create_lr_scheduler", "create_warmup_momentum_scheduler"] + + +def create_lr_scheduler(lr_init, lr_scheduler=None, by_epoch=True, **kwargs): + """ + Create lr scheduler for optimizer. + + Args: + lr_init: Initial learning rate + lr_scheduler: LR scheduler name like 'linear', 'cos'. + by_epoch: learning rate updated by epoch if true, else updated by iteration. Default true + **kwargs: Others + """ + + if lr_scheduler: + assert isinstance(lr_scheduler, str), f"lr_scheduler should be a string, but got {type(lr_scheduler)}" + if lr_scheduler == "yolox": + return create_yolox_lr_scheduler(lr_init=lr_init, by_epoch=by_epoch, **kwargs) + else: + return lr_init + + +def create_yolox_lr_scheduler( + start_factor, end_factor, lr_init, steps_per_epoch, warmup_epochs, epochs, by_epoch, cooldown_epochs=0, **kwargs +): + assert epochs - warmup_epochs - cooldown_epochs > 0, f"the sum of warmup({warmup_epochs}) and " \ + f"cooldown{cooldown_epochs} epoch should " \ + f"be less than total epoch{epochs}" + # quadratic + lrs_qua = quadratic_lr(0.01, start_factor, lr_init, steps_per_epoch, epochs=warmup_epochs, by_epoch=by_epoch) + + # cosine + cosine_epochs = epochs - warmup_epochs - cooldown_epochs + lrs_cos = cosine_decay_lr( + start_factor, end_factor, lr_init, steps_per_epoch, epochs=cosine_epochs, by_epoch=by_epoch + ) + + # constant + lrs_col = [] + if cooldown_epochs > 0: + cool_down_lr = lr_init * end_factor + lrs_col = [cool_down_lr] * cooldown_epochs * steps_per_epoch + + lrs = lrs_qua + lrs_cos + lrs_col + return lrs + + +def quadratic_lr(start_factor, end_factor, lr_init, steps_per_epoch, epochs, by_epoch=True, t_max=None, **kwargs): + if t_max is None: + t_max = epochs if by_epoch else steps_per_epoch * epochs + lrs = [] + start_lr = lr_init * start_factor + end_lr = lr_init * end_factor + for i in range(steps_per_epoch * epochs): + epoch_idx = i // steps_per_epoch + index = epoch_idx if by_epoch else i + multiplier = min(index, t_max) / t_max + multiplier = pow(multiplier, 2) + lrs.append(start_lr + multiplier * (end_lr - start_lr)) + return lrs + + +def create_warmup_momentum_scheduler( + steps_per_epoch, momentum=None, warmup_momentum=None, warmup_epochs=None, min_warmup_step=None, **kwargs +): + """ + Create warmup momentum scheduler. + + Args: + steps_per_epoch: Number of steps in each epoch. + momentum (float, optional): Hyperparameter of type float, means momentum for the moving average. + It must be at least 0.0. Default: None. + warmup_momentum (float, optional): Hyperparameter of type float, means warmup momentum for the moving average. + It must be at least 0.0. Default: None. + warmup_epochs: Number of epochs for warmup. + min_warmup_step: Minimum number of steps for warmup. + **kwargs: Others + """ + + if warmup_momentum: + warmup_steps = max(round(warmup_epochs * steps_per_epoch), min_warmup_step) + return linear_momentum(warmup_momentum, momentum, warmup_steps) + else: + return None + + +def linear_momentum(start, end, total_steps): + """ + Args: + start: Starting value. + end: Ending value. + total_steps: Number of total step. + + Returns: + momentum_list: A list with length total_steps. + """ + + momentum_list = [] + for i in range(total_steps): + momentum_list.append(np.interp(i, [0, total_steps], [start, end])) + + return momentum_list + + +def linear_lr(start_factor, end_factor, lr_init, steps_per_epoch, epochs, t_max=None, **kwargs): + """ + Args: + start_factor: Starting factor. + end_factor: Ending factor. + lr_init: Initial learning rate. + steps_per_epoch: Total number of steps per epoch. + epochs: Total number of epochs trained. + t_max: The maximum number of epochs where lr changes. Default: None. + + Examples: + >>> lrs = linear_lr(0.1, 0.01, 0.2, 100, 5) + >>> print(f"lrs len: {len(lrs)}") + >>> print(f"lrs per epoch: {[lrs[i] for i in range(len(lrs)) if ((i + 1) % 100 == 0)]}") + lrs len: 500 + lrs: [0.02, 0.0155, 0.011, 0.0065, 0.002] + """ + + if t_max is None: + t_max = epochs + lrs = [] + start_lr = lr_init * start_factor + end_lr = lr_init * end_factor + for i in range(steps_per_epoch * epochs): + epoch_idx = i // steps_per_epoch + multiplier = min(epoch_idx, t_max) / t_max + lrs.append(start_lr + multiplier * (end_lr - start_lr)) + return lrs + + +def cosine_decay_lr(start_factor, end_factor, lr_init, steps_per_epoch, epochs, by_epoch=True, t_max=None, **kwargs): + """ + Args: + start_factor: Starting factor. + end_factor: Ending factor. + lr_init: Initial learning rate. + steps_per_epoch: Total number of steps per epoch. + epochs: Total number of epochs trained. + t_max: The maximum number of epochs where lr changes. Default: None. + + Examples: + >>> lrs = cosine_decay_lr(0.1, 0.01, 0.2, 100, 5) + >>> print(f"lrs len: {len(lrs)}") + >>> print(f"lrs: {[lrs[i] for i in range(len(lrs)) if ((i + 1) % 100 == 0)]}") + lrs len: 500 + lrs: [0.02, 0.0173, 0.011, 0.0046, 0.002] + """ + + if t_max is None: + t_max = epochs if by_epoch else steps_per_epoch * epochs + lrs = [] + start_lr = lr_init * start_factor + end_lr = lr_init * end_factor + delta = 0.5 * (start_lr - end_lr) + for i in range(steps_per_epoch * epochs): + epoch_idx = i // steps_per_epoch + index = epoch_idx if by_epoch else i + multiplier = min(index, t_max) / t_max + lrs.append(end_lr + delta * (1.0 + math.cos(math.pi * multiplier))) + return lrs + + +def cosine_decay_lr_with_linear_warmup( + warmup_epochs, + warmup_lrs, + start_factor, + end_factor, + lr_init, + steps_per_epoch, + epochs, + min_warmup_step=1000, + t_max=None, + **kwargs, +): + """ + Args: + warmup_epochs (Union[int, tuple[int]]): The warmup epochs of the lr scheduler. + The data type is an integer or a tuple of integers. An integer represents the warmup epoch size. + A tuple of integers represents the warmup epochs interpolation nodes. Like: [0, 12, 24] or 24. + warmup_lrs (Union[int, tuple[float]]): The warmup lr of the lr scheduler. + The data type is a float or a tuple of float(The last element can be None). + A float represents the start warmup lr. + A tuple of float represents the warmup lrs interpolation nodes. Like: [0.01, 0.1, 'None'] or [0.01, 0.1] or 0.01. + start_factor: Starting factor. + end_factor: Ending factor. + lr_init: Initial learning rate. + steps_per_epoch: Total number of steps per epoch. + epochs: Total number of epochs trained. + min_warmup_step (int): Minimum warm-up steps. Default: 1000. + t_max: The maximum number of epochs where lr changes. Default: None. + + Examples: + >>> lrs = cosine_decay_lr_with_linear_warmup([0, 3], [0.0001, None], 0.1, 0.01, 0.2, 100, 5, min_warmup_step=1) + >>> print(f"lrs len: {len(lrs)}") + >>> print(f"lrs every epoch: {[lrs[i] for i in range(len(lrs)) if ((i + 1) % 100 == 0)]}") + lrs len: 500 + lrs every epoch: [0.0066, 0.0115, 0.0109, 0.0046, 0.002] + """ + + warmup_epochs = [0, warmup_epochs] if isinstance(warmup_epochs, int) else warmup_epochs + if isinstance(warmup_epochs, (int, float)): + warmup_epochs = [0, int(warmup_epochs)] + elif isinstance(warmup_epochs, (list, tuple)): + warmup_epochs = warmup_epochs + else: + raise ValueError + + if isinstance(warmup_lrs, float): + warmup_lrs = [ + warmup_lrs, + ] + elif isinstance(warmup_lrs, (list, tuple)): + if warmup_lrs[-1] in ("None", "none", None): + warmup_lrs = warmup_lrs[:-1] + else: + raise ValueError + + assert ( + len(warmup_epochs) == len(warmup_lrs) + 1 + ), "LRScheduler: The length of 'warmup_epochs' and 'warmup_lrs' is inconsistent" + + lrs = cosine_decay_lr(start_factor, end_factor, lr_init, steps_per_epoch, epochs, t_max) + warmup_steps = [min(i * steps_per_epoch, len(lrs)) for i in warmup_epochs] + warmup_steps[-1] = max(warmup_steps[-1], min(len(lrs), min_warmup_step)) + + for i in range(warmup_steps[-1]): + _lr = lrs[i] + lrs[i] = np.interp(i, warmup_steps, warmup_lrs + [_lr,]) + + return lrs diff --git a/community/cv/ShipWise/mindyolo/utils/__init__.py b/community/cv/ShipWise/mindyolo/utils/__init__.py new file mode 100644 index 000000000..16de95da9 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/utils/__init__.py @@ -0,0 +1,7 @@ +"""Utility Tools""" +from .checkpoint_manager import * +from .config import * +from .logger import * +from .metrics import * +from .modelarts import * +from .utils import * diff --git a/community/cv/ShipWise/mindyolo/utils/callback.py b/community/cv/ShipWise/mindyolo/utils/callback.py new file mode 100644 index 000000000..df7c61ded --- /dev/null +++ b/community/cv/ShipWise/mindyolo/utils/callback.py @@ -0,0 +1,381 @@ +import math +import os +import sys +import time +from typing import Union, Tuple, List + +import numpy as np +from mindspore import Profiler, SummaryRecord, Tensor +from mindyolo.utils.modelarts import sync_data +from mindyolo.utils import CheckpointManager, logger +from mindyolo.utils.registry import Registry +from mindyolo.utils.train_step_factory import create_train_step_fn + +CALLBACK_REGISTRY = Registry("callback") + + +def create_callback(arg_callback): + def _create_callback_worker(name, **kwargs): + cb_cls = CALLBACK_REGISTRY.get(name) + instance = cb_cls(**kwargs) + return instance + + assert isinstance(arg_callback, (tuple, list)), f'expect callback to be list of tuple, ' \ + f'but got {type(arg_callback)} instead' + for i, cb in enumerate(arg_callback): + assert isinstance(cb, dict) and 'name' in cb, f'callback[{i}] is not a dict or does not contain key [name]' + + logger.info(CALLBACK_REGISTRY) + + return [_create_callback_worker(**kw) for kw in arg_callback] + + +class RunContext: + """ + Hold and manage information about the running state of the model + Args: + epoch_num (int): total epoch number in the training process + steps_per_epoch (int): total steps of one epoch + trainer (Trainer): trainer class that perform training process + test_fn (Function): test function that can evaluate the training model + enable_modelarts (bool): whether to enable modelarts. usually on cloud when true + ckpt_save_dir (str): checkpoint saving directory + train_url (str): training url. usually on cloud when not empty + + """ + + def __init__( + self, + epoch_num=0, + steps_per_epoch=0, + total_steps=0, + trainer=None, + test_fn=None, + enable_modelarts=False, + ckpt_save_dir="", + save_dir="", + train_url="", + overflow_still_update=False, + ms_jit=True, + rank_size=8, + ): + + self.epoch_num = epoch_num + self.steps_per_epoch = steps_per_epoch + self.total_epochs = total_steps + self.trainer = trainer + self.test_fn = test_fn + self.ckpt_save_dir = ckpt_save_dir + self.save_dir = save_dir + self.enable_modelarts = enable_modelarts + self.train_url = train_url + self.overflow_still_update = overflow_still_update + self.ms_jit = ms_jit + self.rank_size = rank_size + + # the first index start with 1 rather than 0 + self.cur_epoch_index = 0 + self.cur_step_index = 0 + self.loss = [] + self.lr = 0 + + +class BaseCallback: + """ + Base class of callback. Applied in Train function, it can take actions on 6 different stage of the training process. + + """ + + def __init__(self): + pass + + def __repr__(self): + members = vars(self) + mem_str = ", ".join([f"{k}={v}" for k, v in members.items()]) + fmt_str = self.__class__.__name__ + f"({mem_str})" + return fmt_str + + def on_train_begin(self, run_context: RunContext): + """hooks to run on the beginning of training process""" + pass + + def on_train_end(self, run_context: RunContext): + """hooks to run on the end of training process""" + pass + + def on_train_epoch_begin(self, run_context: RunContext): + """hooks to run on the beginning of a training epoch""" + pass + + def on_train_epoch_end(self, run_context: RunContext): + """hooks to run on the end of a training epoch""" + pass + + def on_train_step_begin(self, run_context: RunContext): + """hooks to run on the beginning of a training step""" + pass + + def on_train_step_end(self, run_context: RunContext): + """hooks to run on the end of a training step""" + pass + + +@CALLBACK_REGISTRY.registry_module() +class YoloxSwitchTrain(BaseCallback): + """ + Switch train hook applied in yolox model. Yolox model uses a two stage training strategy. Compared with the 1st + stage, the 2nd second has no mosaic data augmentation and add l1 loss item. Reference: url + + Args: + switch_epoch_num (int): index of epoch to switch stage. This value equals to the epoch number of first stage. + is_switch_loss (bool): whether to switch loss + is_switch_data_aug (bool): whether to switch data augmentation + + """ + + def __init__(self, switch_epoch_num=285, is_switch_loss=True, is_switch_data_aug=False, **kwargs): + super().__init__() + self.switch_epoch_num = switch_epoch_num + self.switch_epoch_index = switch_epoch_num + 1 + self.is_switch_loss = is_switch_loss + self.is_switch_data_aug = is_switch_data_aug + + def on_train_step_begin(self, run_context: RunContext): + pass + + def on_train_epoch_begin(self, run_context: RunContext): + cur_epoch_index = run_context.cur_epoch_index + trainer = run_context.trainer + loss_ratio = run_context.rank_size + overflow_still_update = run_context.overflow_still_update + ms_jit = run_context.ms_jit + + # switch loss + if self.is_switch_loss and cur_epoch_index == self.switch_epoch_index: + logger.info(f"\nAdding L1 loss starts from epoch {self.switch_epoch_index}. Graph recompiling\n") + trainer.loss_fn.use_l1 = True + trainer.train_step_fn = create_train_step_fn(task='detect', + network=trainer.network, + loss_fn=trainer.loss_fn, + optimizer=trainer.optimizer, + loss_ratio=loss_ratio, + scaler=trainer.scaler, + reducer=trainer.reducer, + ema=trainer.ema, + overflow_still_update=overflow_still_update, + ms_jit=ms_jit) + + # switch data_aug, not implemented hear + if self.is_switch_data_aug: + raise ValueError( + "Currently switch_data_aug should be implemented using multi-stage training pipe line. " + "Refer train_transforms for more information. Keep is_switch_data_aug button False." + ) + + +@CALLBACK_REGISTRY.registry_module() +class EvalWhileTrain(BaseCallback): + """ + Callback of evaluation while training. Mainly two parts are included, namely evaluating at requested time and + uploading ckpt file to cloud. Piecewise evaluation with different interval in each piece is supported. + Args: + stage_epochs (Union(List, Tuple, int)): For list or tuple type, piecewise mode is on and each element + indicates the epoch number in its piece. For int type, single piece mode is on and the value indicates + the possible max epoch index where the model will be evaluated. Default positive infinite means no switch + stage_intervals (Union(List, Tuple, int)): With the same type and length with stage_epochs, interval represents + the corresponding interval of each piece. Default 1 + eval_last_epoch (bool): whether to evaluate the last epoch of each piece. Default True + isolated_epochs (Union(List, Tuple, int, None)): isolated epochs to evaluation for flexible sense. Default None. + keep_checkpoint_max (int): the most possible checkpoint to keep on disk. Default 10. + + Example: + Case 1: evaluate single stage + >>> hook EvalWhileTrain(stage_intervals=5) + The above hook will evaluate the model with an interval of 5, and final epoch will be evaluated by default. + + Case 2: evaluate multiple stage + >>> hook = EvalWhileTrain(stage_epochs=[285, 15], stage_intervals=[25, 5], isolated_epochs=[3, 213]) + The above hook will evaluate the model by two stage. At 1st stage, 285 epochs are evaluated with an interval of + 25, while at 2nd stage, 15 epochs are evaluated with an interval of 5. Meanwhile, the model is evaluated at + 3 and 213 epoch specified by isolated_epochs. The final epoch of the two stage, namely 285 and 300, will be + evaluated by default. + """ + + def __init__( + self, + stage_epochs: Union[List, Tuple, int] = sys.maxsize, + stage_intervals: Union[List, Tuple, int] = 1, + eval_last_epoch=True, + isolated_epochs: Union[List, Tuple, int, None] = None, + keep_checkpoint_max=10, + ): + super().__init__() + assert isinstance(stage_intervals, (list, tuple, int)) + assert isinstance(stage_epochs, (list, tuple, int)) + + # cast interval list in case of 1 stage + if isinstance(stage_intervals, int) or isinstance(stage_epochs, int): + assert isinstance(stage_intervals, int) and isinstance( + stage_epochs, int + ), f"stage_intervals and stage_epochs must be int at the same time" + stage_intervals = [stage_intervals] + stage_epochs = [stage_epochs] + + # cast isolated_epochs to list + if isolated_epochs is not None: + assert isinstance(isolated_epochs, (list, tuple, int)) + if isinstance(isolated_epochs, int): + isolated_epochs = [isolated_epochs] + else: + isolated_epochs = [] + + assert len(stage_intervals) == len(stage_epochs) + self.stage_intervals = stage_intervals + self.stage_epochs = stage_epochs # for log + self.stage_cum_epochs = np.cumsum(stage_epochs) + self.eval_last_epoch = eval_last_epoch + self.isolated_epochs = isolated_epochs + self.keep_checkpoint_max = keep_checkpoint_max + self.manager_best = CheckpointManager(ckpt_save_policy="top_k") + self.ckpt_filelist_best = [] + + def on_train_epoch_end(self, run_context: RunContext): + cur_epoch_index = run_context.cur_epoch_index + epochs = run_context.epoch_num + # reset to total epoch if exceed + for i in range(len(self.stage_cum_epochs)): + if self.stage_cum_epochs[i] > epochs: + self.stage_cum_epochs[i] = epochs + + stage = np.searchsorted(self.stage_cum_epochs, cur_epoch_index, side="left") + # in case of cur_epoch_index greater than total epoch that need evaluation + if stage == len(self.stage_intervals): + return + + offset = self.stage_cum_epochs[stage - 1] if stage > 0 else 0 + interval_cond = (cur_epoch_index - offset) % self.stage_intervals[stage] == 0 + last_cond = self.eval_last_epoch and (cur_epoch_index == self.stage_cum_epochs[stage]) + isolated_cond = any(cur_epoch_index == e for e in self.isolated_epochs) + if interval_cond or last_cond or isolated_cond: + self._run_eval(run_context) + + def on_train_end(self, run_context: RunContext): + enable_modelarts = run_context.enable_modelarts + train_url = run_context.train_url + if enable_modelarts and self.ckpt_filelist_best: + ckpt_filelist_best = [s[0] for s in self.ckpt_filelist_best] + for p in ckpt_filelist_best: + sync_data(p, train_url + "/weights/" + p.split("/")[-1]) + + def _run_eval(self, run_context: RunContext): + s_eval_time = time.time() + + trainer = run_context.trainer + test_fn = run_context.test_fn + cur_epoch = run_context.cur_epoch_index + epochs = run_context.epoch_num + ckpt_save_dir = run_context.ckpt_save_dir + + eval_network = trainer.ema.ema if trainer.ema else trainer.network + _train_status = eval_network.training + eval_network.set_train(False) + accuracy = test_fn(network=eval_network, cur_epoch=f'{cur_epoch:03d}') + accuracy = accuracy[0] if isinstance(accuracy, (list, tuple)) else accuracy + eval_network.set_train(_train_status) + + save_path_best = os.path.join( + ckpt_save_dir, + f"best_{trainer.model_name}-{cur_epoch}_{trainer.steps_per_epoch}" f"_acc{accuracy:.3f}.ckpt", + ) + + if trainer.main_device: + self.ckpt_filelist_best = self.manager_best.save_ckpoint( + eval_network, num_ckpt=self.keep_checkpoint_max, metric=accuracy, save_path=save_path_best + ) + best_path, best_accu = self.ckpt_filelist_best[0] + logger.info( + f"Epoch {cur_epoch}/{epochs}, eval accuracy: {accuracy:.3f}, " + f"run_eval time: {(time.time() - s_eval_time):.3f} s." + ) + logger.info(f"best accuracy: {best_accu:.3f}, saved at: {best_path}") + + +@CALLBACK_REGISTRY.registry_module() +class SummaryCallback(BaseCallback): + """ + Callback of whether to collect summary data at training time. + """ + + def __init__(self): + super().__init__() + + def on_train_begin(self, run_context: RunContext): + """hooks to run on the beginning of training process""" + self.summary_dir = os.path.join(run_context.save_dir, "summary") + self.summary_record = SummaryRecord(self.summary_dir) + + def on_train_end(self, run_context: RunContext): + """hooks to run on the end of training process""" + self.summary_record.close() + if run_context.enable_modelarts: + for p in os.listdir(self.summary_dir): + summary_file_path = os.path.join(self.summary_dir, p) + sync_data(summary_file_path, run_context.train_url + "/summary/" + summary_file_path.split("/")[-1]) + + def on_train_epoch_end(self, run_context: RunContext): + """hooks to run on the end of a training epoch""" + trainer = run_context.trainer + if trainer.data_sink: + for i in range(len(run_context.loss)): + self.summary_record.add_value("scalar", f"{trainer.loss_item_name[i]}", run_context.loss[i]) + self.summary_record.add_value("scalar", f"cur_lr", Tensor(run_context.lr)) + self.summary_record.record(run_context.cur_epoch_index) + self.summary_record.flush() + + def on_train_step_end(self, run_context: RunContext): + """hooks to run on the end of a training step""" + trainer = run_context.trainer + if run_context.cur_step_index % trainer.log_interval == 0: + for i in range(len(run_context.loss)): + self.summary_record.add_value("scalar", f"{trainer.loss_item_name[i]}", run_context.loss[i]) + self.summary_record.add_value("scalar", f"cur_lr", Tensor(run_context.lr)) + self.summary_record.record(run_context.cur_step_index) + self.summary_record.flush() + + +@CALLBACK_REGISTRY.registry_module() +class ProfilerCallback(BaseCallback): + """ + Callback of whether to collect profiler data at training time. + + Example: + Case 1: Non-data sinking mode Collects performance data in the specified step interval. + Case 2: Data sink mode Collects performance data for a specified epoch interval. + """ + + def __init__(self, profiler_step_num): + super().__init__() + self.profiler_step_num = profiler_step_num + + def on_train_begin(self, run_context: RunContext): + """hooks to run on the beginning of training process""" + self.prof_dir = os.path.join(run_context.save_dir, "profiling_data") + self.prof = Profiler(output_path=self.prof_dir) + + def on_train_epoch_end(self, run_context: RunContext): + """hooks to run on the beginning of a training epoch""" + if run_context.cur_epoch_index == math.ceil(self.profiler_step_num/run_context.steps_per_epoch): + self.prof.stop() + self.prof.analyse() + + def on_train_step_end(self, run_context: RunContext): + """hooks to run on the beginning of a training step""" + if run_context.cur_step_index == self.profiler_step_num: + self.prof.stop() + self.prof.analyse() + + def on_train_end(self, run_context: RunContext): + if run_context.enable_modelarts: + for p in os.listdir(self.prof_dir): + prof_file_path = os.path.join(self.prof_dir, p) + sync_data(prof_file_path, run_context.train_url + "/profiling_data/" + prof_file_path.split("/")[-1]) diff --git a/community/cv/ShipWise/mindyolo/utils/checkpoint_manager.py b/community/cv/ShipWise/mindyolo/utils/checkpoint_manager.py new file mode 100644 index 000000000..2138f68b0 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/utils/checkpoint_manager.py @@ -0,0 +1,123 @@ +"""checkpoint manager """ +import os +import stat +import numpy as np + +import mindspore as ms +from mindspore import Tensor + +from mindyolo.utils import logger + +__all__ = ["CheckpointManager"] + + +class CheckpointManager: + """ + Manage checkpoint files according to ckpt_save_policy of checkpoint. + Args: + ckpt_save_policy (str): Checkpoint saving strategy. The optional values is None, "top_k" or "latest_k". + None means to save each checkpoint, top_k means to save K checkpoints with the highest accuracy, + and latest_k means saving the latest K checkpoint. Default: None. + """ + + def __init__(self, ckpt_save_policy=None): + self._ckpoint_filelist = [] + self.ckpt_save_policy = ckpt_save_policy + + @property + def ckpoint_filelist(self): + """Get all the related checkpoint files managed here.""" + return self._ckpoint_filelist + + @property + def ckpoint_num(self): + """Get the number of the related checkpoint files managed here.""" + return len(self._ckpoint_filelist) + + def update_ckpoint_filelist(self, directory, prefix): + """Update the checkpoint file list.""" + self._ckpoint_filelist = [] + files = os.listdir(directory) + for filename in files: + if os.path.splitext(filename)[-1] == ".ckpt" and filename.startswith(prefix + "-"): + mid_name = filename[len(prefix) : -5] + flag = not (True in [char.isalpha() for char in mid_name]) + if flag: + self._ckpoint_filelist.append(os.path.join(directory, filename)) + + def remove_ckpoint_file(self, file_name): + """Remove the specified checkpoint file from this checkpoint manager and also from the directory.""" + try: + os.chmod(file_name, stat.S_IWRITE) + os.remove(file_name) + except OSError: + logger.warning("OSError, failed to remove the older ckpt file %s.", file_name) + except ValueError: + logger.warning("ValueError, failed to remove the older ckpt file %s.", file_name) + + def remove_oldest_ckpoint_file(self): + """Remove the oldest checkpoint file from this checkpoint manager and also from the directory.""" + ckpoint_files = sorted(self._ckpoint_filelist, key=os.path.getmtime) + self.remove_ckpoint_file(ckpoint_files[0]) + self._ckpoint_filelist.remove(ckpoint_files[0]) + + def keep_one_ckpoint_per_minutes(self, minutes, cur_time): + """Only keep the latest one ckpt file per minutes, remove other files generated in [last_time, cur_time].""" + del_list = [] + oldest_file = "" + oldest_time = cur_time + for ck_file in self._ckpoint_filelist: + modify_time = os.path.getmtime(ck_file) + if cur_time - modify_time < 60 * minutes: + del_list.append(ck_file) + + if modify_time < oldest_time: + oldest_time = modify_time + oldest_file = ck_file + + for mv_file in del_list: + if mv_file == oldest_file: + continue + self.remove_ckpoint_file(mv_file) + + def top_K_checkpoint(self, network, K=10, metric=None, save_path=""): + """Save and return Top K checkpoint address and accuracy.""" + last_file = self._ckpoint_filelist[-1] if self._ckpoint_filelist else None + if isinstance(metric, Tensor): + metric = metric.asnumpy() + if self.ckpoint_num < K or np.greater(metric, last_file[1]): + if self.ckpoint_num >= K: + delete = K - 1 + if delete < 0 or self.ckpoint_num <= delete: + return + to_delete = self._ckpoint_filelist[delete:] + for d in to_delete: + self.remove_ckpoint_file(d[0]) + self._ckpoint_filelist = self._ckpoint_filelist[:delete] + ms.save_checkpoint(network, save_path, async_save=True) + self._ckpoint_filelist.append((save_path, float(metric))) + self._ckpoint_filelist = sorted(self._ckpoint_filelist, key=lambda x: x[1], reverse=True) + + def latest_K_checkpoint(self, network, K=10, save_path=""): + """Save latest K checkpoint.""" + if K and 0 < K <= self.ckpoint_num: + self.remove_oldest_ckpoint_file() + ms.save_checkpoint(network, save_path, async_save=True) + self._ckpoint_filelist.append(save_path) + + def save_ckpoint(self, network, num_ckpt=10, metric=None, save_path=""): + """Save checkpoint according to different save strategy.""" + if self.ckpt_save_policy is None: + ms.save_checkpoint(network, save_path, async_save=True) + elif self.ckpt_save_policy == "top_k": + if metric is None: + raise ValueError(f"The expected 'metric' is not None, but got: {metric}.") + self.top_K_checkpoint(network, K=num_ckpt, metric=metric, save_path=save_path) + return self._ckpoint_filelist + elif self.ckpt_save_policy == "latest_k": + self.latest_K_checkpoint(network, K=num_ckpt, save_path=save_path) + return self._ckpoint_filelist + else: + raise ValueError( + f"The expected 'ckpt_save_policy' is None, top_k or latest_k," f"but got: {self.ckpt_save_policy}." + ) diff --git a/community/cv/ShipWise/mindyolo/utils/config.py b/community/cv/ShipWise/mindyolo/utils/config.py new file mode 100644 index 000000000..0b35a893d --- /dev/null +++ b/community/cv/ShipWise/mindyolo/utils/config.py @@ -0,0 +1,150 @@ +import argparse +import collections +import os +from copy import deepcopy +import yaml + +try: + collectionsAbc = collections.abc +except AttributeError: + collectionsAbc = collections + +__all__ = ["parse_args"] + + +def parse_args(parser): + parser_config = argparse.ArgumentParser(description="Config", add_help=False) + parser_config.add_argument( + "-c", "--config", type=str, default="", help="YAML config file specifying default arguments." + ) + + args_config, remaining = parser_config.parse_known_args() + + # Do we have a config file to parse? + if args_config.config: + cfg, _, _ = load_config(args_config.config) + cfg = Config(cfg) + parser.set_defaults(**cfg) + parser.set_defaults(config=args_config.config) + + # The main arg parser parses the rest of the args, the usual + # defaults will have been overridden if config file specified. + args = parser.parse_args(remaining) + + return Config(vars(args)) + + +def load_config(file_path): + BASE = "__BASE__" + assert os.path.splitext(file_path)[-1] in [".yaml", ".yml"], f"[{file_path}] not yaml format." + cfg_default, cfg_helper, cfg_choices = _parse_yaml(file_path) + + # NOTE: cfgs outside have higher priority than cfgs in _BASE_ + if BASE in cfg_default: + all_base_cfg_default = {} + all_base_cfg_helper = {} + all_base_cfg_choices = {} + base_yamls = list(cfg_default[BASE]) + for base_yaml in base_yamls: + if base_yaml.startswith("~"): + base_yaml = os.path.expanduser(base_yaml) + if not base_yaml.startswith("/"): + base_yaml = os.path.join(os.path.dirname(file_path), base_yaml) + + base_cfg_default, base_cfg_helper, base_cfg_choices = load_config(base_yaml) + all_base_cfg_default = _merge_config(base_cfg_default, all_base_cfg_default) + all_base_cfg_helper = _merge_config(base_cfg_helper, all_base_cfg_helper) + all_base_cfg_choices = _merge_config(base_cfg_choices, all_base_cfg_choices) + + del cfg_default[BASE] + return ( + _merge_config(cfg_default, all_base_cfg_default), + _merge_config(cfg_helper, all_base_cfg_helper), + _merge_config(cfg_choices, all_base_cfg_choices), + ) + + return cfg_default, cfg_helper, cfg_choices + + +def _parse_yaml(yaml_path): + """ + Parse the yaml config file. + + Args: + yaml_path: Path to the yaml config. + """ + with open(yaml_path, "r") as fin: + try: + cfgs = yaml.load_all(fin.read(), Loader=yaml.FullLoader) + cfgs = [x for x in cfgs] + if len(cfgs) == 1: + cfg = cfgs[0] + cfg_helper = {} + cfg_choices = {} + elif len(cfgs) == 2: + cfg, cfg_helper = cfgs + cfg_choices = {} + elif len(cfgs) == 3: + cfg, cfg_helper, cfg_choices = cfgs + else: + raise ValueError("At most 3 docs (config, description for help, choices) are supported in config yaml") + except: + raise ValueError("Failed to parse yaml") + return cfg, cfg_helper, cfg_choices + + +def _merge_config(config, base): + """Merge config""" + new = deepcopy(base) + for k, v in config.items(): + if k in new and isinstance(new[k], dict) and isinstance(config[k], collectionsAbc.Mapping): + new[k] = _merge_config(config[k], new[k]) + else: + new[k] = config[k] + return new + + +class Config(dict): + """ + Configuration namespace. Convert dictionary to members. + """ + + def __init__(self, cfg_dict): + super(Config, self).__init__() + for k, v in cfg_dict.items(): + setattr(self, k, Config(v) if isinstance(v, dict) else v) + + def __setattr__(self, name, value): + self[name] = value + self.__dict__.update({name: value}) + + def __getattr__(self, name): + if name in self: + return self[name] + else: + raise AttributeError(name) + + def __str__(self): + return config_format_func(self) + + def __repr__(self): + return self.__str__() + + +def config_format_func(config, prefix=""): + """ + Args: + config: dict-like object + Returns: + formatted str + """ + msg = "" + if prefix: + prefix += "." + + for k, v in config.__dict__.items(): + if isinstance(v, Config): + msg += config_format_func(v, prefix=str(k)) + else: + msg += format(prefix + str(k), "<40") + format(str(v), "<") + "\n" + return msg diff --git a/community/cv/ShipWise/mindyolo/utils/convert_weight_cspdarknet53.py b/community/cv/ShipWise/mindyolo/utils/convert_weight_cspdarknet53.py new file mode 100644 index 000000000..663fc3616 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/utils/convert_weight_cspdarknet53.py @@ -0,0 +1,167 @@ +import mindspore as ms + +convert_dict = { + "feature_map.backbone.conv0.1": "model.model.0.bn", + "feature_map.backbone.conv1.1": "model.model.1.bn", + "feature_map.backbone.conv2.1": "model.model.2.bn", + "feature_map.backbone.conv3.1": "model.model.3.conv1.bn", + "feature_map.backbone.conv4.1": "model.model.3.conv2.bn", + "feature_map.backbone.conv5.1": "model.model.4.bn", + "feature_map.backbone.conv6.1": "model.model.5.bn", + "feature_map.backbone.conv7.1": "model.model.7.bn", + "feature_map.backbone.conv8.1": "model.model.8.bn", + "feature_map.backbone.conv9.1": "model.model.9.bn", + "feature_map.backbone.layer2.0.conv1.1": "model.model.10.0.conv1.bn", + "feature_map.backbone.layer2.0.conv2.1": "model.model.10.0.conv2.bn", + "feature_map.backbone.layer2.1.conv1.1": "model.model.10.1.conv1.bn", + "feature_map.backbone.layer2.1.conv2.1": "model.model.10.1.conv2.bn", + "feature_map.backbone.conv10.1": "model.model.11.bn", + "feature_map.backbone.conv11.1": "model.model.12.bn", + "feature_map.backbone.conv12.1": "model.model.14.bn", + "feature_map.backbone.conv13.1": "model.model.15.bn", + "feature_map.backbone.conv14.1": "model.model.16.bn", + "feature_map.backbone.layer3.0.conv1.1": "model.model.17.0.conv1.bn", + "feature_map.backbone.layer3.1.conv1.1": "model.model.17.1.conv1.bn", + "feature_map.backbone.layer3.2.conv1.1": "model.model.17.2.conv1.bn", + "feature_map.backbone.layer3.3.conv1.1": "model.model.17.3.conv1.bn", + "feature_map.backbone.layer3.4.conv1.1": "model.model.17.4.conv1.bn", + "feature_map.backbone.layer3.5.conv1.1": "model.model.17.5.conv1.bn", + "feature_map.backbone.layer3.6.conv1.1": "model.model.17.6.conv1.bn", + "feature_map.backbone.layer3.7.conv1.1": "model.model.17.7.conv1.bn", + "feature_map.backbone.layer3.0.conv2.1": "model.model.17.0.conv2.bn", + "feature_map.backbone.layer3.1.conv2.1": "model.model.17.1.conv2.bn", + "feature_map.backbone.layer3.2.conv2.1": "model.model.17.2.conv2.bn", + "feature_map.backbone.layer3.3.conv2.1": "model.model.17.3.conv2.bn", + "feature_map.backbone.layer3.4.conv2.1": "model.model.17.4.conv2.bn", + "feature_map.backbone.layer3.5.conv2.1": "model.model.17.5.conv2.bn", + "feature_map.backbone.layer3.6.conv2.1": "model.model.17.6.conv2.bn", + "feature_map.backbone.layer3.7.conv2.1": "model.model.17.7.conv2.bn", + "feature_map.backbone.conv15.1": "model.model.18.bn", + "feature_map.backbone.conv16.1": "model.model.19.bn", + "feature_map.backbone.conv17.1": "model.model.21.bn", + "feature_map.backbone.conv18.1": "model.model.22.bn", + "feature_map.backbone.conv19.1": "model.model.23.bn", + "feature_map.backbone.layer4.0.conv1.1": "model.model.24.0.conv1.bn", + "feature_map.backbone.layer4.1.conv1.1": "model.model.24.1.conv1.bn", + "feature_map.backbone.layer4.2.conv1.1": "model.model.24.2.conv1.bn", + "feature_map.backbone.layer4.3.conv1.1": "model.model.24.3.conv1.bn", + "feature_map.backbone.layer4.4.conv1.1": "model.model.24.4.conv1.bn", + "feature_map.backbone.layer4.5.conv1.1": "model.model.24.5.conv1.bn", + "feature_map.backbone.layer4.6.conv1.1": "model.model.24.6.conv1.bn", + "feature_map.backbone.layer4.7.conv1.1": "model.model.24.7.conv1.bn", + "feature_map.backbone.layer4.0.conv2.1": "model.model.24.0.conv2.bn", + "feature_map.backbone.layer4.1.conv2.1": "model.model.24.1.conv2.bn", + "feature_map.backbone.layer4.2.conv2.1": "model.model.24.2.conv2.bn", + "feature_map.backbone.layer4.3.conv2.1": "model.model.24.3.conv2.bn", + "feature_map.backbone.layer4.4.conv2.1": "model.model.24.4.conv2.bn", + "feature_map.backbone.layer4.5.conv2.1": "model.model.24.5.conv2.bn", + "feature_map.backbone.layer4.6.conv2.1": "model.model.24.6.conv2.bn", + "feature_map.backbone.layer4.7.conv2.1": "model.model.24.7.conv2.bn", + "feature_map.backbone.conv20.1": "model.model.25.bn", + "feature_map.backbone.conv21.1": "model.model.26.bn", + "feature_map.backbone.conv22.1": "model.model.28.bn", + "feature_map.backbone.conv23.1": "model.model.29.bn", + "feature_map.backbone.conv24.1": "model.model.30.bn", + "feature_map.backbone.layer5.0.conv1.1": "model.model.31.0.conv1.bn", + "feature_map.backbone.layer5.1.conv1.1": "model.model.31.1.conv1.bn", + "feature_map.backbone.layer5.2.conv1.1": "model.model.31.2.conv1.bn", + "feature_map.backbone.layer5.3.conv1.1": "model.model.31.3.conv1.bn", + "feature_map.backbone.layer5.0.conv2.1": "model.model.31.0.conv2.bn", + "feature_map.backbone.layer5.1.conv2.1": "model.model.31.1.conv2.bn", + "feature_map.backbone.layer5.2.conv2.1": "model.model.31.2.conv2.bn", + "feature_map.backbone.layer5.3.conv2.1": "model.model.31.3.conv2.bn", + "feature_map.backbone.conv25.1": "model.model.32.bn", + "feature_map.backbone.conv26.1": "model.model.33.bn", + "feature_map.backbone.conv27.1": "model.model.35.bn", + "feature_map.backbone.conv0.0": "model.model.0.conv", + "feature_map.backbone.conv1.0": "model.model.1.conv", + "feature_map.backbone.conv2.0": "model.model.2.conv", + "feature_map.backbone.conv3.0": "model.model.3.conv1.conv", + "feature_map.backbone.conv4.0": "model.model.3.conv2.conv", + "feature_map.backbone.conv5.0": "model.model.4.conv", + "feature_map.backbone.conv6.0": "model.model.5.conv", + "feature_map.backbone.conv7.0": "model.model.7.conv", + "feature_map.backbone.conv8.0": "model.model.8.conv", + "feature_map.backbone.conv9.0": "model.model.9.conv", + "feature_map.backbone.layer2.0.conv1.0": "model.model.10.0.conv1.conv", + "feature_map.backbone.layer2.0.conv2.0": "model.model.10.0.conv2.conv", + "feature_map.backbone.layer2.1.conv1.0": "model.model.10.1.conv1.conv", + "feature_map.backbone.layer2.1.conv2.0": "model.model.10.1.conv2.conv", + "feature_map.backbone.conv10.0": "model.model.11.conv", + "feature_map.backbone.conv11.0": "model.model.12.conv", + "feature_map.backbone.conv12.0": "model.model.14.conv", + "feature_map.backbone.conv13.0": "model.model.15.conv", + "feature_map.backbone.conv14.0": "model.model.16.conv", + "feature_map.backbone.layer3.0.conv1.0": "model.model.17.0.conv1.conv", + "feature_map.backbone.layer3.1.conv1.0": "model.model.17.1.conv1.conv", + "feature_map.backbone.layer3.2.conv1.0": "model.model.17.2.conv1.conv", + "feature_map.backbone.layer3.3.conv1.0": "model.model.17.3.conv1.conv", + "feature_map.backbone.layer3.4.conv1.0": "model.model.17.4.conv1.conv", + "feature_map.backbone.layer3.5.conv1.0": "model.model.17.5.conv1.conv", + "feature_map.backbone.layer3.6.conv1.0": "model.model.17.6.conv1.conv", + "feature_map.backbone.layer3.7.conv1.0": "model.model.17.7.conv1.conv", + "feature_map.backbone.layer3.0.conv2.0": "model.model.17.0.conv2.conv", + "feature_map.backbone.layer3.1.conv2.0": "model.model.17.1.conv2.conv", + "feature_map.backbone.layer3.2.conv2.0": "model.model.17.2.conv2.conv", + "feature_map.backbone.layer3.3.conv2.0": "model.model.17.3.conv2.conv", + "feature_map.backbone.layer3.4.conv2.0": "model.model.17.4.conv2.conv", + "feature_map.backbone.layer3.5.conv2.0": "model.model.17.5.conv2.conv", + "feature_map.backbone.layer3.6.conv2.0": "model.model.17.6.conv2.conv", + "feature_map.backbone.layer3.7.conv2.0": "model.model.17.7.conv2.conv", + "feature_map.backbone.conv15.0": "model.model.18.conv", + "feature_map.backbone.conv16.0": "model.model.19.conv", + "feature_map.backbone.conv17.0": "model.model.21.conv", + "feature_map.backbone.conv18.0": "model.model.22.conv", + "feature_map.backbone.conv19.0": "model.model.23.conv", + "feature_map.backbone.layer4.0.conv1.0": "model.model.24.0.conv1.conv", + "feature_map.backbone.layer4.1.conv1.0": "model.model.24.1.conv1.conv", + "feature_map.backbone.layer4.2.conv1.0": "model.model.24.2.conv1.conv", + "feature_map.backbone.layer4.3.conv1.0": "model.model.24.3.conv1.conv", + "feature_map.backbone.layer4.4.conv1.0": "model.model.24.4.conv1.conv", + "feature_map.backbone.layer4.5.conv1.0": "model.model.24.5.conv1.conv", + "feature_map.backbone.layer4.6.conv1.0": "model.model.24.6.conv1.conv", + "feature_map.backbone.layer4.7.conv1.0": "model.model.24.7.conv1.conv", + "feature_map.backbone.layer4.0.conv2.0": "model.model.24.0.conv2.conv", + "feature_map.backbone.layer4.1.conv2.0": "model.model.24.1.conv2.conv", + "feature_map.backbone.layer4.2.conv2.0": "model.model.24.2.conv2.conv", + "feature_map.backbone.layer4.3.conv2.0": "model.model.24.3.conv2.conv", + "feature_map.backbone.layer4.4.conv2.0": "model.model.24.4.conv2.conv", + "feature_map.backbone.layer4.5.conv2.0": "model.model.24.5.conv2.conv", + "feature_map.backbone.layer4.6.conv2.0": "model.model.24.6.conv2.conv", + "feature_map.backbone.layer4.7.conv2.0": "model.model.24.7.conv2.conv", + "feature_map.backbone.conv20.0": "model.model.25.conv", + "feature_map.backbone.conv21.0": "model.model.26.conv", + "feature_map.backbone.conv22.0": "model.model.28.conv", + "feature_map.backbone.conv23.0": "model.model.29.conv", + "feature_map.backbone.conv24.0": "model.model.30.conv", + "feature_map.backbone.layer5.0.conv1.0": "model.model.31.0.conv1.conv", + "feature_map.backbone.layer5.1.conv1.0": "model.model.31.1.conv1.conv", + "feature_map.backbone.layer5.2.conv1.0": "model.model.31.2.conv1.conv", + "feature_map.backbone.layer5.3.conv1.0": "model.model.31.3.conv1.conv", + "feature_map.backbone.layer5.0.conv2.0": "model.model.31.0.conv2.conv", + "feature_map.backbone.layer5.1.conv2.0": "model.model.31.1.conv2.conv", + "feature_map.backbone.layer5.2.conv2.0": "model.model.31.2.conv2.conv", + "feature_map.backbone.layer5.3.conv2.0": "model.model.31.3.conv2.conv", + "feature_map.backbone.conv25.0": "model.model.32.conv", + "feature_map.backbone.conv26.0": "model.model.33.conv", + "feature_map.backbone.conv27.0": "model.model.35.conv", +} + + +def convert_weight(ori_weight, new_weight): + new_ckpt = [] + param_dict = ms.load_checkpoint(ori_weight) + for k, v in param_dict.items(): + if "feature_map.backbone" in k: + for key, val in convert_dict.items(): + if key in k: + k = k.replace(key, val) + new_ckpt.append({"name": k, "data": v}) + ms.save_checkpoint(new_ckpt, new_weight) + + +if __name__ == "__main__": + convert_weight( + "./cspdarknet53_ascend_v120_imagenet2012_official_cv_bs64_top1acc7854_top5acc9428.ckpt", + "./yolov4_backbone.ckpt", + ) diff --git a/community/cv/ShipWise/mindyolo/utils/convert_weight_darknet53.py b/community/cv/ShipWise/mindyolo/utils/convert_weight_darknet53.py new file mode 100644 index 000000000..9233995d9 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/utils/convert_weight_darknet53.py @@ -0,0 +1,66 @@ +import os +import sys + +import numpy as np + +import mindspore as ms +from config import parse_args + +sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "../.."))) +from mindyolo.models import create_model + + +def _load_weight(weights_file): + """Loads pre-trained weights.""" + if not os.path.isfile(weights_file): + raise ValueError(f'"{weights_file}" is not a valid weight file.') + with open(weights_file, "rb") as fp: + np.fromfile(fp, dtype=np.int32, count=5) + return np.fromfile(fp, dtype=np.float32) + + +def convert_weight(cfg, weights_file="./darknet53.conv.74", output_file="./yolov3_backbone.ckpt"): + """Convert weight to mindspore ckpt.""" + net = create_model(model_name=cfg.network.model_name, model_cfg=cfg.network) + params = net.get_parameters() + params = [p for p in params] + weights = _load_weight(weights_file) + index = 0 + param_list = [] + weights_num = len(weights) + for i in range(0, len(params), 5): + weight = params[i] + mean = params[i + 1] + var = params[i + 2] + gamma = params[i + 3] + beta = params[i + 4] + beta_data = weights[index : index + beta.size].reshape(beta.shape) + index += beta.size + gamma_data = weights[index : index + gamma.size].reshape(gamma.shape) + index += gamma.size + mean_data = weights[index : index + mean.size].reshape(mean.shape) + index += mean.size + var_data = weights[index : index + var.size].reshape(var.shape) + index += var.size + weight_data = weights[index : index + weight.size].reshape(weight.shape) + index += weight.size + + param_list.append( + {"name": weight.name, "type": weight.dtype, "shape": weight.shape, "data": ms.Tensor(weight_data)} + ) + param_list.append({"name": mean.name, "type": mean.dtype, "shape": mean.shape, "data": ms.Tensor(mean_data)}) + param_list.append({"name": var.name, "type": var.dtype, "shape": var.shape, "data": ms.Tensor(var_data)}) + param_list.append( + {"name": gamma.name, "type": gamma.dtype, "shape": gamma.shape, "data": ms.Tensor(gamma_data)} + ) + param_list.append({"name": beta.name, "type": beta.dtype, "shape": beta.shape, "data": ms.Tensor(beta_data)}) + + if index >= weights_num: + break + + ms.save_checkpoint(param_list, output_file) + + +if __name__ == "__main__": + args = parse_args() + convert_weight(args) diff --git a/community/cv/ShipWise/mindyolo/utils/logger.py b/community/cv/ShipWise/mindyolo/utils/logger.py new file mode 100644 index 000000000..a0457a2eb --- /dev/null +++ b/community/cv/ShipWise/mindyolo/utils/logger.py @@ -0,0 +1,182 @@ +"""Custom Logger.""" +import logging +import os +import sys +from datetime import datetime + +__all__ = ["get_logger"] + +GLOBAL_LOGGER = None + + +class CustomStreamHandler(logging.StreamHandler): + def __init__(self, stream=None): + super().__init__(stream) + + def emit(self, record): + # to start with logger header at every newline + # use __str__ to enable record.msg to be non-str object + messages = record.msg.__str__().split("\n") + for msg in messages: + record.msg = msg + super(CustomStreamHandler, self).emit(record) + + +class Logger(logging.Logger): + """ + Logger classes and functions, support print information on console and files. + + Args: + logger_name(str): The name of Logger. In most cases, it can be the name of the network. + """ + + def __init__(self, logger_name="MindYOLO"): + super(Logger, self).__init__(logger_name) + self.log_level = "INFO" + self.rank_id = _get_rank_id() + self.device_per_servers = 8 + self.formatter = logging.Formatter("%(asctime)s [%(levelname)s] %(message)s") + + def write(self, msg): + """ + write method to simulate Stream class + """ + if msg and not msg.isspace(): # skip line with white spaces + self.info(msg) + + def flush(self): + """ + write method to simulate Stream class + """ + pass + + +def setup_logging(logger_name="MindYOLO", log_level="INFO", rank_id=None, device_per_servers=8): + """Setup logging file.""" + logger = get_logger() + logger.name = logger_name + logger.log_level = log_level + if rank_id is not None: + logger.rank_id = rank_id + logger.device_per_servers = device_per_servers + + if logger.log_level not in ["CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG"]: + raise ValueError( + f"Not support log_level: {logger.log_level}, " + f"the log_level should be in ['CRITICAL', 'ERROR', 'WARNING', 'INFO', 'DEBUG']" + ) + + # In the distributed scenario, only one card is printed on the console. + if logger.rank_id % logger.device_per_servers == 0: + console = CustomStreamHandler(sys.stdout) + console.setLevel(logger.log_level) + console.setFormatter(logger.formatter) + logger.addHandler(console) + + +def setup_logging_file(log_dir="./logs"): + """Setup logging file.""" + logger = get_logger() + if not os.path.exists(log_dir): + os.makedirs(log_dir, exist_ok=True) + + # Generate a file stream based on the log generation time and rank_id + log_name = f"{logger.name}_{datetime.now().strftime('%Y-%m-%d_time_%H_%M_%S')}_rank_{logger.rank_id}.log" + log_path = os.path.join(log_dir, log_name) + file_handler = logging.FileHandler(log_path) + file_handler.setLevel(logger.log_level) + file_handler.setFormatter(logger.formatter) + logger.addHandler(file_handler) + + +def print_args(args): + """Print hyper-parameter""" + get_logger().info("Args:") + args_dict = vars(args) + for key in args_dict.keys(): + get_logger().info("--> %s: %s", key, args_dict[key]) + get_logger().info("") + + +def important_info(msg, *args, **kwargs): + """For information that needs to be focused on, add special printing format.""" + line_width = 2 + important_msg = "\n" + important_msg += ("*" * 70 + "\n") * line_width + important_msg += ("*" * line_width + "\n") * 2 + important_msg += "*" * line_width + " " * 8 + msg + "\n" + important_msg += ("*" * line_width + "\n") * 2 + important_msg += ("*" * 70 + "\n") * line_width + get_logger().info(important_msg, *args, **kwargs) + + +def info(msg, *args, **kwargs): + """ + Log a message with severity 'INFO' on the MindYOLO logger. + + Examples: + >>> from mindyolo import logger + >>> logger.setup_logging(logger_name="MindYOLO", log_level="INFO", rank_id=0, device_per_servers=8) + >>> logger.setup_logging_file(log_dir="./logs") + >>> logger.info("test info") + """ + get_logger().info(msg, *args, **kwargs) + + +def debug(msg, *args, **kwargs): + """Log a message with severity 'DEBUG' on the MindYOLO logger.""" + get_logger().debug(msg, *args, **kwargs) + + +def error(msg, *args, **kwargs): + """Log a message with severity 'ERROR' on the MindYOLO logger.""" + get_logger().error(msg, *args, **kwargs) + + +def warning(msg, *args, **kwargs): + """Log a message with severity 'WARNING' on the MindYOLO logger.""" + get_logger().warning(msg, *args, **kwargs) + + +def critical(msg, *args, **kwargs): + """Log a message with severity 'CRITICAL' on the MindYOLO logger.""" + get_logger().critical(msg, *args, **kwargs) + + +def get_level(): + """ + Get the logger level. + + Returns: + str, the Log level includes 'CRITICAL', 'ERROR', 'WARNING', 'INFO', 'DEBUG'. + """ + # level and glog level mapping dictionary + + return get_logger().log_level + + +def _get_rank_id(): + """Get rank id.""" + rank_id = os.getenv("RANK_ID") + gpu_rank_id = os.getenv("OMPI_COMM_WORLD_RANK") + rank = "0" + if rank_id and gpu_rank_id and rank_id != gpu_rank_id: + print( + f"Environment variables RANK_ID and OMPI_COMM_WORLD_RANK set by different values, RANK_ID={rank_id}, " + f"OMPI_COMM_WORLD_RANK={gpu_rank_id}. We will use RANK_ID to get rank id by default.", + flush=True, + ) + if rank_id: + rank = rank_id + elif gpu_rank_id: + rank = gpu_rank_id + return int(rank) + + +def get_logger(): + """Get logger instance.""" + global GLOBAL_LOGGER + if GLOBAL_LOGGER: + return GLOBAL_LOGGER + GLOBAL_LOGGER = Logger() + return GLOBAL_LOGGER diff --git a/community/cv/ShipWise/mindyolo/utils/metrics.py b/community/cv/ShipWise/mindyolo/utils/metrics.py new file mode 100644 index 000000000..0f6d1733f --- /dev/null +++ b/community/cv/ShipWise/mindyolo/utils/metrics.py @@ -0,0 +1,355 @@ +import time +import cv2 +import numpy as np + +import mindspore as ms +from mindspore import ops, Tensor + +__all__ = ["non_max_suppression", "scale_coords", "xyxy2xywh", "xywh2xyxy"] + + +def non_max_suppression( + prediction, + mask_coefficient=None, + conf_thres=0.25, + iou_thres=0.45, + conf_free=False, + classes=None, + agnostic=False, + multi_label=False, + time_limit=20.0, +): + """Runs Non-Maximum Suppression (NMS) on inference results + + Args: + prediction (ndarray): Prediction. If conf_free is False, prediction on (bs, N, 5+nc) ndarray each point, + the last dimension meaning [center_x, center_y, width, height, conf, cls0, ...]; If conf_free is True, + prediction on (bs, N, 4+nc) ndarray each point, the last dimension meaning [center_x, center_y, width, height, cls0, ...]. + conf_free (bool): Whether the prediction result include conf. + + Returns: + list of detections, on (n,6) ndarray per image, the last dimension meaning [xyxy, conf, cls]. + """ + + if not conf_free: + nc = prediction.shape[2] - 5 # number of classes + xc = prediction[..., 4] > conf_thres # candidates + else: + nc = prediction.shape[2] - 4 # number of classes + xc = prediction[..., 4:].max(-1) > conf_thres # candidates + prediction = np.concatenate( + (prediction[..., :4], prediction[..., 4:].max(-1, keepdims=True), prediction[..., 4:]), axis=-1 + ) + + nm = 0 + if mask_coefficient is not None: + assert mask_coefficient.shape[:2] == prediction.shape[:2], \ + f"mask_coefficient shape {mask_coefficient.shape[:2]} and " \ + f"prediction.shape {prediction.shape[:2]} are not equal." + nm = mask_coefficient.shape[2] + prediction = np.concatenate((prediction, mask_coefficient), axis=-1) + + # Settings + min_wh, max_wh = 2, 4096 # (pixels) minimum and maximum box width and height + max_det = 300 # maximum number of detections per image + max_nms = 30000 # maximum number of boxes into torchvision.ops.nms() + time_limit = time_limit if time_limit > 0 else 1e3 # seconds to quit after + redundant = True # require redundant detections + multi_label &= nc > 1 # multiple labels per box (adds 0.5ms/img) + merge = False # use merge-NMS + + t = time.time() + output = [np.zeros((0, 6+nm))] * prediction.shape[0] + for xi, x in enumerate(prediction): # image index, image inference + # Apply constraints + # x[((x[..., 2:4] < min_wh) | (x[..., 2:4] > max_wh)).any(1), 4] = 0 # width-height + x = x[xc[xi]] # confidence + + # If none remain process next image + if not x.shape[0]: + continue + + # Scale class with conf + if not conf_free: + if nc == 1: + x[:, 5:5+nc] = x[:, 4:5] # signle cls no need to multiplicate. + else: + x[:, 5:5+nc] *= x[:, 4:5] # conf = obj_conf * cls_conf + + # Box (center x, center y, width, height) to (x1, y1, x2, y2) + box = xywh2xyxy(x[:, :4]) + + # Detections matrix nx6 (xyxy, conf, cls) + if multi_label: + i, j = (x[:, 5:5+nc] > conf_thres).nonzero() + x = np.concatenate((box[i], x[i, j + 5, None], j[:, None].astype(np.float32)), 1) if nm == 0 else \ + np.concatenate((box[i], x[i, j + 5, None], j[:, None].astype(np.float32), x[i, -nm:]), 1) + else: # best class only + conf = x[:, 5:5+nc].max(1, keepdims=True) # get maximum conf + j = np.argmax(x[:, 5:5+nc], axis=1,keepdims=True) # get maximum index + x = np.concatenate((box, conf, j.astype(np.float32)), 1)[conf.flatten() > conf_thres] if nm == 0 else \ + np.concatenate((box, conf, j.astype(np.float32), x[:, -nm:]), 1)[conf.flatten() > conf_thres] + + + # Filter by class + if classes is not None: + x = x[(x[:, 5:6] == np.array(classes)).any(1)] + + # Check shape + n = x.shape[0] # number of boxes + if not n: # no boxes + continue + elif n > max_nms: # excess boxes + x = x[x[:, 4].argsort()[-max_nms:]] # sort by confidence + + # Batched NMS + c = x[:, 5:6] * (0 if agnostic else max_wh) # classes + boxes, scores = x[:, :4] + c, x[:, 4] # boxes (offset by class), scores + + i = _nms(boxes, scores, iou_thres) # NMS for per sample + + if i.shape[0] > max_det: # limit detections + i = i[:max_det] + if merge and (1 < n < 3e3): # Merge NMS (boxes merged using weighted mean) + # update boxes as boxes(i,4) = weights(i,n) * boxes(n,4) + iou = _box_iou(boxes[i], boxes) > iou_thres # iou matrix # (N, M) + weights = iou * scores[None] # box weights + # (N, M) @ (M, 4) / (N, 1) + x[i, :4] = np.matmul(weights, x[:, :4]) / weights.sum(1, keepdim=True) # merged boxes + if redundant: + i = i[iou.sum(1) > 1] # require redundancy + + output[xi] = x[i] + if (time.time() - t) > time_limit: + print( + f"WARNING: Batch NMS time limit {time_limit}s exceeded, this batch " + f"process {xi + 1}/{prediction.shape[0]} sample." + ) + break # time limit exceeded + + return output + + +def scale_coords(img1_shape, coords, img0_shape, ratio=None, pad=None): + # Rescale coords (xyxy) from img1_shape to img0_shape + + if ratio is None: # calculate from img0_shape + ratio = min(img1_shape[0] / img0_shape[0], img1_shape[1] / img0_shape[1]) # ratio = old / new + else: + ratio = ratio[0] + + if pad is None: + padh, padw = (img1_shape[0] - img0_shape[0] * ratio) / 2, (img1_shape[1] - img0_shape[1] * ratio) / 2 + else: + padh, padw = pad[:] + + coords[:, [0, 2]] -= padw # x padding + coords[:, [1, 3]] -= padh # y padding + coords[:, [0, 2]] /= ratio # x rescale + coords[:, [1, 3]] /= ratio # y rescale + coords = _clip_coords(coords, img0_shape) + return coords + + +def _clip_coords(boxes, img_shape): + # Clip bounding xyxy bounding boxes to image shape (height, width) + boxes[..., [0, 2]] = boxes[..., [0, 2]].clip(0, img_shape[1]) # x1, x2 + boxes[..., [1, 3]] = boxes[..., [1, 3]].clip(0, img_shape[0]) # y1, y2 + return boxes + + +def _nms(xyxys, scores, threshold): + """Calculate NMS""" + s_time = time.time() + x1 = xyxys[:, 0] + y1 = xyxys[:, 1] + x2 = xyxys[:, 2] + y2 = xyxys[:, 3] + scores = scores + # areas = (x2 - x1 + 1) * (y2 - y1 + 1) + areas = (x2 - x1) * (y2 - y1) + order = scores.argsort()[::-1] + reserved_boxes = [] + while order.size > 0: + i = order[0] + reserved_boxes.append(i) + max_x1 = np.maximum(x1[i], x1[order[1:]]) + max_y1 = np.maximum(y1[i], y1[order[1:]]) + min_x2 = np.minimum(x2[i], x2[order[1:]]) + min_y2 = np.minimum(y2[i], y2[order[1:]]) + + # intersect_w = np.maximum(0.0, min_x2 - max_x1 + 1) + # intersect_h = np.maximum(0.0, min_y2 - max_y1 + 1) + intersect_w = np.maximum(0.0, min_x2 - max_x1) + intersect_h = np.maximum(0.0, min_y2 - max_y1) + intersect_area = intersect_w * intersect_h + + ovr = intersect_area / (areas[i] + areas[order[1:]] - intersect_area + 1e-6) + indexes = np.where(ovr <= threshold)[0] + order = order[indexes + 1] + return np.array(reserved_boxes) + + +def _box_iou(box1, box2): + # https://github.com/pytorch/vision/blob/master/torchvision/ops/boxes.py + """ + Return intersection-over-union (Jaccard index) of boxes. + Both sets of boxes are expected to be in (x1, y1, x2, y2) format. + Arguments: + box1 ([N, 4]) + box2 ([M, 4]) + Returns: + iou ([N, M]): the NxM matrix containing the pairwise + IoU values for every element in boxes1 and boxes2 + """ + + def box_area(box): + # box = 4xn + return (box[2] - box[0]) * (box[3] - box[1]) + + area1 = box_area(box1.T) + area2 = box_area(box2.T) + + # inter(N,M) = (rb(N,M,2) - lt(N,M,2)).clamp(0).prod(2) + inter = ( + (np.minimum(box1[:, None, 2:], box2[:, 2:]) - np.maximum(box1[:, None, :2], box2[:, :2])).clip(0, None).prod(2) + ) + return inter / (area1[:, None] + area2 - inter) # iou = inter / (area1 + area2 - inter) + + +def xywh2xyxy(x): + # Convert nx4 boxes from [x, y, w, h] to [x1, y1, x2, y2] where xy1=top-left, xy2=bottom-right + y = np.copy(x) + y[:, 0] = x[:, 0] - x[:, 2] / 2 # top left x + y[:, 1] = x[:, 1] - x[:, 3] / 2 # top left y + y[:, 2] = x[:, 0] + x[:, 2] / 2 # bottom right x + y[:, 3] = x[:, 1] + x[:, 3] / 2 # bottom right y + return y + + +def xyxy2xywh(x): + # Convert nx4 boxes from [x1, y1, x2, y2] to [x, y, w, h] where xy1=top-left, xy2=bottom-right + y = np.copy(x) + y[:, 0] = (x[:, 0] + x[:, 2]) / 2 # x center + y[:, 1] = (x[:, 1] + x[:, 3]) / 2 # y center + y[:, 2] = x[:, 2] - x[:, 0] # width + y[:, 3] = x[:, 3] - x[:, 1] # height + return y + + +#------------------------for segment------------------------ + +def scale_image(masks, img0_shape, pad=None): + """ + Takes a mask, and resizes it to the original image size + Args: + masks (numpy.ndarray): resized and padded masks/images, [h, w, num]/[h, w, 3]. + img0_shape (tuple): the original image shape + ratio_pad (tuple): the ratio of the padding to the original image. + Returns: + masks (numpy.ndarray): The masks that are being returned. + """ + + # Rescale coordinates (xyxy) from img1_shape to img0_shape + img1_shape = masks.shape + if (np.array(img1_shape[:2]) == np.array(img0_shape[:2])).all(): + return masks + + if pad is None: + ratio = min(img1_shape[0] / img0_shape[0], img1_shape[1] / img0_shape[1]) # ratio = old / new + pad = (img1_shape[0] - img0_shape[0] * ratio) / 2, (img1_shape[1] - img0_shape[1] * ratio) / 2 + + top, left = int(pad[0]), int(pad[1]) # y, x + bottom, right = int(img1_shape[0] - pad[0]), int(img1_shape[1] - pad[1]) + + if len(masks.shape) < 2: + raise ValueError(f'"len of masks shape" should be 2 or 3, but got {len(masks.shape)}') + masks = masks[top:bottom, left:right] + masks = cv2.resize(masks, dsize=(img0_shape[1], img0_shape[0]), interpolation=cv2.INTER_LINEAR) + # masks = ops.interpolate(Tensor(masks, dtype=ms.float32)[None], shape, mode='bilinear', align_corners=False)[0].asnumpy() # CHW + if len(masks.shape) == 2: + masks = masks[:, :, None] + + return masks + + +def crop_mask(masks, boxes): + """ + It takes a mask and a bounding box, and returns a mask that is cropped to the bounding box + Args: + masks (numpy.ndarray): [h, w, n] array of masks + boxes (numpy.ndarray): [n, 4] array of bbox coordinates in relative point form + Returns: + (numpy.ndarray): The masks are being cropped to the bounding box. + """ + n, h, w = masks.shape + x1, y1, x2, y2 = np.split(boxes[:, :, None], 4, 1) # x1 shape(n,1,1) + r = np.arange(w, dtype=x1.dtype)[None, None, :] # rows shape(1,1,w) + c = np.arange(h, dtype=x1.dtype)[None, :, None] # cols shape(1,h,1) + + return masks * ((r >= x1) * (r < x2) * (c >= y1) * (c < y2)) + + +def process_mask_upsample(protos, masks_in, bboxes, shape): + """ + It takes the output of the mask head, and applies the mask to the bounding boxes. This produces masks of higher + quality but is slower. + Args: + protos (numpy.ndarray): [mask_dim, mask_h, mask_w] + masks_in (numpy.ndarray): [n, mask_dim], n is number of masks after nms + bboxes (numpy.ndarray): [n, 4], n is number of masks after nms + shape (tuple): the size of the input image (h,w) + Returns: + (numpy.ndarray): The upsampled masks. + """ + assert len(shape) == 2, f"The length of the shape is {len(shape)}, expected to be 2." + c, mh, mw = protos.shape # CHW + masks = sigmoid((np.matmul(masks_in, protos.reshape(c, -1)))).reshape(-1, mh, mw) + + # interpolate bilinear + # (n, mh, mw) -> (mh, mw, n) -> (*shape, n) -> (n, *shape) + # masks = cv2.resize(masks.transpose(1, 2, 0), dsize=shape, interpolation=cv2.INTER_LINEAR).transpose(2, 0, 1) + masks = ops.interpolate(Tensor(masks, dtype=ms.float32)[None], shape, mode='bilinear', align_corners=False)[0].asnumpy() # CHW + + masks = crop_mask(masks, bboxes) # CHW + return masks > 0.5 + + +def process_mask(protos, masks_in, bboxes, shape, upsample=False): + """ + Apply masks to bounding boxes using the output of the mask head. + + Args: + protos (numpy.ndarray): A array of shape [mask_dim, mask_h, mask_w]. + masks_in (numpy.ndarray): A array of shape [n, mask_dim], where n is the number of masks after NMS. + bboxes (numpy.ndarray): A array of shape [n, 4], where n is the number of masks after NMS. + shape (tuple): A tuple of integers representing the size of the input image in the format (h, w). + upsample (bool): A flag to indicate whether to upsample the mask to the original image size. Default is False. + + Returns: + (numpy.ndarray): A binary mask array of shape [n, h, w], where n is the number of masks after NMS, and h and w + are the height and width of the input image. The mask is applied to the bounding boxes. + """ + + assert len(shape) == 2, f"The length of the shape is {len(shape)}, expected to be 2." + c, mh, mw = protos.shape # CHW + ih, iw = shape + masks = sigmoid(np.matmul(masks_in, protos.view(c, -1))).reshape(-1, mh, mw) # CHW + + downsampled_bboxes = np.copy(bboxes) + downsampled_bboxes[:, 0] *= mw / iw + downsampled_bboxes[:, 2] *= mw / iw + downsampled_bboxes[:, 3] *= mh / ih + downsampled_bboxes[:, 1] *= mh / ih + + masks = crop_mask(masks, downsampled_bboxes) # CHW + if upsample: + # masks = cv2.resize(masks.transpose(1, 2, 0), dsize=shape, interpolation=cv2.INTER_LINEAR).transpose(2, 0, 1) + masks = ops.interpolate(Tensor(masks, dtype=ms.float32)[None], shape, mode='bilinear', align_corners=False)[0].asnumpy() # CHW + return masks > 0.5 + + +def sigmoid(x): + return 1 / (1 + np.exp(-x)) + +#---------------------------------------------------------- diff --git a/community/cv/ShipWise/mindyolo/utils/modelarts.py b/community/cv/ShipWise/mindyolo/utils/modelarts.py new file mode 100644 index 000000000..9da6975fc --- /dev/null +++ b/community/cv/ShipWise/mindyolo/utils/modelarts.py @@ -0,0 +1,53 @@ +import os + +_global_sync_count = 0 + +__all__ = ["sync_data"] + + +def get_device_id(): + device_id = os.getenv("DEVICE_ID", "0") + return int(device_id) + + +def get_device_num(): + device_num = os.getenv("RANK_SIZE", "1") + return int(device_num) + + +def get_rank_id(): + global_rank_id = os.getenv("RANK_ID", "0") + return int(global_rank_id) + + +def sync_data(from_path, to_path): + """ + Download data from remote obs to local directory if the first url is remote url and the second one is local path + Upload data from local directory to remote obs in contrast. + """ + import time + + import moxing as mox + + global _global_sync_count + sync_lock = "/tmp/copy_sync.lock" + str(_global_sync_count) + _global_sync_count += 1 + + # Each server contains 8 devices as most. + if get_device_id() % min(get_device_num(), 8) == 0 and not os.path.exists(sync_lock): + print("from path: ", from_path) + print("to path: ", to_path) + mox.file.copy_parallel(from_path, to_path) + print("===finish data synchronization===") + try: + os.mknod(sync_lock) + except IOError: + pass + print("===save flag===") + + while True: + if os.path.exists(sync_lock): + break + time.sleep(1) + + print("Finish sync data from {} to {}.".format(from_path, to_path)) diff --git a/community/cv/ShipWise/mindyolo/utils/poly.py b/community/cv/ShipWise/mindyolo/utils/poly.py new file mode 100644 index 000000000..e5ec9e391 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/utils/poly.py @@ -0,0 +1,58 @@ +import cv2 +import numpy as np + +from mindyolo.data.utils import xywhn2xyxy + + +def show_img_with_bbox(data_dict, classes): + """ + Image and bboxes visualization. If input multiple images, apply on the first image only. + Args: + record: related data of images + classes: all categories of the whole dataset + + Returns: an image with detection boxes and categories + """ + img, labels = data_dict["images"][0], data_dict["labels"][0] + img = img.transpose(1, 2, 0)[:, :, ::-1] * 255.0 + img = np.ascontiguousarray(img, dtype=np.uint8) + labels = labels[labels[:, 1] > 0] # filter invalid label + category_ids = labels[:, 1] + bboxes = labels[:, 2:] + + categories = [classes[int(category_id)] for category_id in category_ids] + bboxes = xywhn2xyxy(bboxes[category_ids >= 0]) + for bbox, category in zip(bboxes, categories): + bbox = bbox.astype(np.int32) + categories_size = cv2.getTextSize(category + "0", cv2.FONT_HERSHEY_SIMPLEX, 0.5, 2)[0] + color = ((np.random.random((3,)) * 0.6 + 0.4) * 255).astype(np.uint8) + color = np.array(color).astype(np.int32).tolist() + + if bbox[1] - categories_size[1] - 3 < 0: + cv2.rectangle( + img, + (bbox[0], bbox[1] + 2), + (bbox[0] + categories_size[0], bbox[1] + categories_size[1] + 3), + color=color, + thickness=-1, + ) + cv2.putText( + img, + category, + (bbox[0], bbox[1] + categories_size[1] + 3), + cv2.FONT_HERSHEY_SIMPLEX, + 0.5, + (0, 0, 0), + thickness=1, + ) + else: + cv2.rectangle( + img, + (bbox[0], bbox[1] - categories_size[1] - 3), + (bbox[0] + categories_size[0], bbox[1] - 3), + color, + thickness=-1, + ) + cv2.putText(img, category, (bbox[0], bbox[1] - 3), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 0), thickness=1) + cv2.rectangle(img, (bbox[0], bbox[1]), (bbox[2], bbox[3]), color, thickness=2) + return img diff --git a/community/cv/ShipWise/mindyolo/utils/registry.py b/community/cv/ShipWise/mindyolo/utils/registry.py new file mode 100644 index 000000000..5516e6d5f --- /dev/null +++ b/community/cv/ShipWise/mindyolo/utils/registry.py @@ -0,0 +1,88 @@ +import inspect +import os + + +class Registry: + """ + a registry that maps string to class + """ + + def __init__(self, name): + """ + Args: + name (str): registry name + """ + self._name = name + self._module_dict = dict() + + def __len__(self): + return len(self._module_dict) + + def __contains__(self, key): + return self.get(key) is not None + + def __repr__(self): + format_str = self.__class__.__name__ + f"(name={self._name}, total={len(self._module_dict)})\n" + class2path = lambda c: os.path.sep.join(c.__module__.split('.')) + '.py' + format_str += ''.join( + [f" ({i}): {k} in {class2path(v)}\n" for i, (k, v) in enumerate(self._module_dict.items())] + ) + return format_str + + @property + def name(self): + # registry name cannot be changed from outside + return self._name + + @property + def module_dict(self): + # module dict cannot be changed from outside + return self._module_dict + + def get(self, key): + """query the registry record""" + return self._module_dict.get(key, None) + + def registry_module(self, module_name=None): + """ + Registry a module. A record will be added to 'self._module_dict', whose key is the class name (by default) or + the specified name, and value is the class itself. + It is used as a decorator + + Example: + >>> network = Registry('network') + >>> # case1: default module name + >>> @network.registry_module() + >>> class ResNet() + >>> pass + >>> resnet = network.get('ResNet') + >>> + >>> # case2: customized module name + >>> @network.registry_module('yolov3') + >>> class YOLOv3() + >>> pass + >>> yolov3 = network.get('yolov3') + """ + if module_name is not None: + assert isinstance(module_name, str), f"module_name should be a str but got {type(module_name)} instead" + + # use as a decorator + def _registry(cls): + return self._registry_module(module_class=cls, module_name=module_name) + + return _registry + + def _registry_module(self, module_class, module_name=None): + """ + main worker of registry + """ + assert inspect.isclass( + module_class + ), f"module to register should be a class but got {type(module_class)} instead" + if module_name in self: + raise KeyError(f"{module_name} is already registered in {self._name}") + if module_name is None: + module_name = module_class.__name__ + self._module_dict[module_name] = module_class + + return module_class diff --git a/community/cv/ShipWise/mindyolo/utils/train_step_factory.py b/community/cv/ShipWise/mindyolo/utils/train_step_factory.py new file mode 100644 index 000000000..b7eec98b2 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/utils/train_step_factory.py @@ -0,0 +1,120 @@ +import mindspore as ms +from mindspore import context, nn, ops + +__all__ = ["create_train_step_fn", "get_gradreducer", "get_loss_scaler"] + + +def get_gradreducer(is_parallel, parameters): + if is_parallel: + mean = context.get_auto_parallel_context("gradients_mean") + degree = context.get_auto_parallel_context("device_num") + grad_reducer = nn.DistributedGradReducer(parameters, mean, degree) + else: + grad_reducer = ops.functional.identity + + return grad_reducer + + +def get_loss_scaler(ms_loss_scaler="static", scale_value=1024, scale_factor=2, scale_window=2000): + if ms_loss_scaler == "dynamic": + from mindspore.amp import DynamicLossScaler + + loss_scaler = DynamicLossScaler(scale_value=scale_value, scale_factor=scale_factor, scale_window=scale_window) + elif ms_loss_scaler == "static": + from mindspore.amp import StaticLossScaler + + loss_scaler = StaticLossScaler(scale_value=scale_value) + elif ms_loss_scaler in ("none", "None"): + from mindspore.amp import StaticLossScaler + + loss_scaler = StaticLossScaler(1.0) + else: + raise NotImplementedError(f"Not support ms_loss_scaler: {ms_loss_scaler}") + + return loss_scaler + + +def create_train_step_fn(task, network, loss_fn, optimizer, loss_ratio, scaler, reducer, + ema=None, overflow_still_update=False, ms_jit=False, clip_grad=False, clip_grad_value=10.): + from mindspore.amp import all_finite + + use_ema = True if ema else False + + if task == "detect": + + def forward_func(x, label): + pred = network(x) + loss, loss_items = loss_fn(pred, label, x) + loss *= loss_ratio + return scaler.scale(loss), ops.stop_gradient(loss_items) + + grad_fn = ops.value_and_grad(forward_func, grad_position=None, weights=optimizer.parameters, has_aux=True) + + def train_step_func(x, label, optimizer_update=True): + (loss, loss_items), grads = grad_fn(x, label) + grads = reducer(grads) + unscaled_grads = scaler.unscale(grads) + grads_finite = all_finite(unscaled_grads) + + if clip_grad: + unscaled_grads = ops.clip_by_global_norm(unscaled_grads, clip_norm=clip_grad_value) + + if optimizer_update: + if grads_finite: + loss = ops.depend(loss, optimizer(unscaled_grads)) + if use_ema: + loss = ops.depend(loss, ema.update()) + else: + if overflow_still_update: + loss = ops.depend(loss, optimizer(unscaled_grads)) + if use_ema: + loss = ops.depend(loss, ema.update()) + + return scaler.unscale(loss), loss_items, unscaled_grads, grads_finite + + @ms.jit + def jit_warpper(*args): + return train_step_func(*args) + + return train_step_func if not ms_jit else jit_warpper + + elif task == "segment": + + def forward_func(x, label, seg): + pred = network(x) + loss, loss_items = loss_fn(pred, label, seg) + loss *= loss_ratio + return scaler.scale(loss), ops.stop_gradient(loss_items) + + grad_fn = ops.value_and_grad(forward_func, grad_position=None, weights=optimizer.parameters, has_aux=True) + + def train_step_func(x, label, seg, optimizer_update=True): + (loss, loss_items), grads = grad_fn(x, label, seg) + grads = reducer(grads) + unscaled_grads = scaler.unscale(grads) + grads_finite = all_finite(unscaled_grads) + + if clip_grad: + unscaled_grads = ops.clip_by_global_norm(unscaled_grads, clip_norm=clip_grad_value) + + if optimizer_update: + if grads_finite: + loss = ops.depend(loss, optimizer(unscaled_grads)) + if use_ema: + loss = ops.depend(loss, ema.update()) + else: + if overflow_still_update: + loss = ops.depend(loss, optimizer(unscaled_grads)) + if use_ema: + loss = ops.depend(loss, ema.update()) + + return scaler.unscale(loss), loss_items, unscaled_grads, grads_finite + + @ms.jit + def jit_warpper(*args): + return train_step_func(*args) + + return train_step_func if not ms_jit else jit_warpper + + else: + raise NotImplementedError \ No newline at end of file diff --git a/community/cv/ShipWise/mindyolo/utils/trainer_factory.py b/community/cv/ShipWise/mindyolo/utils/trainer_factory.py new file mode 100644 index 000000000..b7e1f221b --- /dev/null +++ b/community/cv/ShipWise/mindyolo/utils/trainer_factory.py @@ -0,0 +1,518 @@ +import math +import os +import time +import types +from typing import Union, List + +import mindspore as ms +from mindspore import Tensor, nn, ops + +from mindyolo.utils import logger +from mindyolo.utils.callback import BaseCallback, EvalWhileTrain, RunContext +from mindyolo.utils.checkpoint_manager import CheckpointManager +from mindyolo.utils.modelarts import sync_data + +__all__ = [ + "create_trainer", +] + + +def create_trainer( + model_name: str, + train_step_fn: types.FunctionType, + scaler, + network: nn.Cell, + loss_fn: nn.Cell, + ema: nn.Cell, + optimizer: nn.Cell, + dataloader: ms.dataset.Dataset, + steps_per_epoch: int, + callback: List[BaseCallback], + reducer, + data_sink, + profiler +): + return Trainer( + model_name=model_name, + train_step_fn=train_step_fn, + scaler=scaler, + network=network, + loss_fn=loss_fn, + ema=ema, + optimizer=optimizer, + dataloader=dataloader, + steps_per_epoch=steps_per_epoch, + callback=callback, + reducer=reducer, + data_sink=data_sink, + profiler=profiler + ) + + +class Trainer: + def __init__( + self, + model_name, + train_step_fn, + scaler, + network, + loss_fn, + ema, + optimizer, + dataloader, + steps_per_epoch, + callback, + reducer, + data_sink, + profiler + ): + self.model_name = model_name + self.train_step_fn = train_step_fn + self.scaler = scaler + self.dataloader = dataloader + self.network = network # for save checkpoint + self.loss_fn = loss_fn + self.ema = ema # for save checkpoint and ema + self.optimizer = optimizer # for save checkpoint + self.global_step = 0 + self.steps_per_epoch = steps_per_epoch + self.callback = callback + self.reducer = reducer + self.data_sink = data_sink + self.profiler = profiler + + def train( + self, + epochs: int, + main_device: bool, + warmup_step: int = 0, + warmup_momentum: Union[list, None] = None, + accumulate: int = 1, + overflow_still_update: bool = False, + keep_checkpoint_max: int = 10, + log_interval: int = 1, + loss_item_name: list = [], + save_dir: str = "", + enable_modelarts: bool = False, + train_url: str = "", + run_eval: bool = False, + test_fn: types.FunctionType = None, + ms_jit: bool = True, + rank_size: int = 8, + profiler_step_num: int = 1 + ): + # Attr + self.epochs = epochs + self.main_device = main_device + self.log_interval = log_interval + self.overflow_still_update = overflow_still_update + self.loss_item_name = loss_item_name + self.profiler_step_num = profiler_step_num + + # Directories + ckpt_save_dir = os.path.join(save_dir, "weights") + if main_device: + os.makedirs(ckpt_save_dir, exist_ok=True) # save checkpoint path + + # to be compatible with old interface + has_eval_mask = list(isinstance(c, EvalWhileTrain) for c in self.callback) + if run_eval and not any(has_eval_mask): + self.callback.append(EvalWhileTrain()) + if not run_eval and any(has_eval_mask): + ind = has_eval_mask.index(True) + self.callback.pop(ind) + + # Grad Accumulate + self.accumulate_cur_step = 0 + self.accumulate_grads = None + self.accumulate = accumulate + self.accumulate_grads_fn = self._get_accumulate_grads_fn() + + # Set Checkpoint Manager + manager = CheckpointManager(ckpt_save_policy="latest_k") + manager_ema = CheckpointManager(ckpt_save_policy="latest_k") if self.ema else None + + loader = self.dataloader.create_dict_iterator(output_numpy=False, num_epochs=1) + s_step_time = time.time() + s_epoch_time = time.time() + run_context = RunContext( + epoch_num=epochs, + steps_per_epoch=self.steps_per_epoch, + total_steps=self.dataloader.dataset_size, + trainer=self, + test_fn=test_fn, + enable_modelarts=enable_modelarts, + ckpt_save_dir=ckpt_save_dir, + save_dir=save_dir, + train_url=train_url, + overflow_still_update=overflow_still_update, + ms_jit=ms_jit, + rank_size=rank_size, + ) + self._on_train_begin(run_context) + for i, data in enumerate(loader): + cur_epoch = (i // self.steps_per_epoch) + 1 + cur_step = (i % self.steps_per_epoch) + 1 + run_context.cur_epoch_index = cur_epoch + run_context.cur_step_index = cur_step + + if cur_step == 1: + self._on_train_epoch_begin(run_context) + self.global_step += 1 + if self.global_step < warmup_step: + if warmup_momentum and isinstance(self.optimizer, (nn.SGD, nn.Momentum)): + dtype = self.optimizer.momentum.dtype + self.optimizer.momentum = Tensor(warmup_momentum[i], dtype) + + imgs, labels = data["images"], data["labels"] + segments = None if 'masks' not in data else data["masks"] + self._on_train_step_begin(run_context) + run_context.loss, run_context.lr = self.train_step(imgs, labels, segments, + cur_step=cur_step,cur_epoch=cur_epoch) + self._on_train_step_end(run_context) + + # train log + if cur_step % self.log_interval == 0: + logger.info( + f"Epoch {cur_epoch}/{epochs}, Step {cur_step}/{self.steps_per_epoch}, " + f"step time: {(time.time() - s_step_time) * 1000 / self.log_interval:.2f} ms" + ) + s_step_time = time.time() + + # save checkpoint per epoch on main device + if self.main_device and (i + 1) % self.steps_per_epoch == 0: + # Save Checkpoint + ms.save_checkpoint( + self.optimizer, os.path.join(ckpt_save_dir, f"optim_{self.model_name}.ckpt"), async_save=True + ) + save_path = os.path.join(ckpt_save_dir, f"{self.model_name}-{cur_epoch}_{self.steps_per_epoch}.ckpt") + manager.save_ckpoint(self.network, num_ckpt=keep_checkpoint_max, save_path=save_path) + if self.ema: + save_path_ema = os.path.join( + ckpt_save_dir, f"EMA_{self.model_name}-{cur_epoch}_{self.steps_per_epoch}.ckpt" + ) + manager_ema.save_ckpoint(self.ema.ema, num_ckpt=keep_checkpoint_max, save_path=save_path_ema) + logger.info(f"Saving model to {save_path}") + + if enable_modelarts: + sync_data(save_path, train_url + "/weights/" + save_path.split("/")[-1]) + if self.ema: + sync_data(save_path_ema, train_url + "/weights/" + save_path_ema.split("/")[-1]) + + logger.info(f"Epoch {cur_epoch}/{epochs}, epoch time: {(time.time() - s_epoch_time) / 60:.2f} min.") + s_step_time = time.time() + s_epoch_time = time.time() + if self.profiler and self.profiler_step_num == cur_step: + break + if cur_step == self.steps_per_epoch: + self._on_train_epoch_end(run_context) + + self._on_train_end(run_context) + logger.info("End Train.") + + def train_with_datasink( + self, + task: str, + epochs: int, + main_device: bool, + warmup_epoch: int = 0, + warmup_momentum: Union[list, None] = None, + keep_checkpoint_max: int = 10, + log_interval: int = 1, + loss_item_name: list = [], + save_dir: str = "", + enable_modelarts: bool = False, + train_url: str = "", + run_eval: bool = False, + test_fn: types.FunctionType = None, + overflow_still_update: bool = False, + ms_jit: bool = True, + rank_size: int = 8, + profiler_step_num: int = 1 + ): + # Modify dataset columns name for data sink mode, because dataloader could not send string data to device. + if task == "detect": + loader = self.dataloader.project(["images", "labels"]) + elif task == "segment": + loader = self.dataloader.project(["images", "labels", "masks"]) + else: + raise NotImplementedError + + # to be compatible with old interface + has_eval_mask = list(isinstance(c, EvalWhileTrain) for c in self.callback) + if run_eval and not any(has_eval_mask): + self.callback.append(EvalWhileTrain()) + if not run_eval and any(has_eval_mask): + ind = has_eval_mask.index(True) + self.callback.pop(ind) + + # Change warmup_momentum, list of step -> list of epoch + warmup_momentum = ( + [warmup_momentum[_i * self.steps_per_epoch] for _i in range(warmup_epoch)] + + [warmup_momentum[-1], ] * (epochs - warmup_epoch) if warmup_momentum else None + ) + + # Build train epoch func with sink process + train_epoch_fn = ms.train.data_sink( + fn=self.train_step_fn, + dataset=loader, + sink_size=self.steps_per_epoch, + jit_config=ms.JitConfig() + ) + + # Attr + self.epochs = epochs + self.main_device = main_device + self.log_interval = log_interval + self.loss_item_name = loss_item_name + self.profiler_step_num = profiler_step_num + + # Directories + ckpt_save_dir = os.path.join(save_dir, "weights") + + if main_device: + os.makedirs(ckpt_save_dir, exist_ok=True) # save checkpoint path + + # Set Checkpoint Manager + manager = CheckpointManager(ckpt_save_policy="latest_k") + manager_ema = CheckpointManager(ckpt_save_policy="latest_k") if self.ema else None + + run_context = RunContext( + epoch_num=epochs, + steps_per_epoch=self.steps_per_epoch, + total_steps=self.dataloader.dataset_size, + trainer=self, + test_fn=test_fn, + enable_modelarts=enable_modelarts, + ckpt_save_dir=ckpt_save_dir, + save_dir=save_dir, + train_url=train_url, + overflow_still_update=overflow_still_update, + ms_jit=ms_jit, + rank_size=rank_size, + ) + + s_epoch_time = time.time() + self._on_train_begin(run_context) + for epoch in range(epochs): + cur_epoch = epoch + 1 + self.global_step += self.steps_per_epoch + run_context.cur_epoch_index = cur_epoch + if epoch == 0: + logger.warning("In the data sink mode, log output will only occur once each epoch is completed.") + logger.warning( + "The first epoch will be compiled for the graph, which may take a long time; " + "You can come back later :)." + ) + + if warmup_momentum and isinstance(self.optimizer, (nn.SGD, nn.Momentum)): + dtype = self.optimizer.momentum.dtype + self.optimizer.momentum = Tensor(warmup_momentum[epoch], dtype) + + # train one epoch with datasink + self._on_train_epoch_begin(run_context) + _, loss_item, _, _ = train_epoch_fn() + + # print loss and lr + log_string = f"Epoch {cur_epoch}/{epochs}, Step {self.steps_per_epoch}/{self.steps_per_epoch}" + if len(self.loss_item_name) < len(loss_item): + self.loss_item_name += [f"loss_item{i}" for i in range(len(loss_item) - len(self.loss_item_name))] + for i in range(len(loss_item)): + log_string += f", {self.loss_item_name[i]}: {loss_item[i].asnumpy():.4f}" + if self.optimizer.dynamic_lr: + if self.optimizer.is_group_lr: + lr_cell = self.optimizer.learning_rate[0] + cur_lr = lr_cell(Tensor(self.global_step, ms.int32)).asnumpy().item() + else: + cur_lr = self.optimizer.learning_rate(Tensor(self.global_step, ms.int32)).asnumpy().item() + else: + cur_lr = self.optimizer.learning_rate.asnumpy().item() + log_string += f", cur_lr: {cur_lr}" + logger.info(log_string) + run_context.loss, run_context.lr = loss_item, cur_lr + self._on_train_epoch_end(run_context) + + # save checkpoint per epoch on main device + if self.main_device: + # Save Checkpoint + ms.save_checkpoint( + self.optimizer, os.path.join(ckpt_save_dir, f"optim_{self.model_name}.ckpt"), async_save=True + ) + save_path = os.path.join(ckpt_save_dir, f"{self.model_name}-{cur_epoch}_{self.steps_per_epoch}.ckpt") + manager.save_ckpoint(self.network, num_ckpt=keep_checkpoint_max, save_path=save_path) + if self.ema: + save_path_ema = os.path.join( + ckpt_save_dir, f"EMA_{self.model_name}-{cur_epoch}_{self.steps_per_epoch}.ckpt" + ) + manager_ema.save_ckpoint(self.ema.ema, num_ckpt=keep_checkpoint_max, save_path=save_path_ema) + logger.info(f"Saving model to {save_path}") + + if enable_modelarts: + sync_data(save_path, train_url + "/weights/" + save_path.split("/")[-1]) + if self.ema: + sync_data(save_path_ema, train_url + "/weights/" + save_path_ema.split("/")[-1]) + + logger.info(f"Epoch {cur_epoch}/{epochs}, epoch time: {(time.time() - s_epoch_time) / 60:.2f} min.") + s_epoch_time = time.time() + + if self.profiler and math.ceil(self.profiler_step_num/self.steps_per_epoch) == cur_epoch: + break + self._on_train_end(run_context) + logger.info("End Train.") + + def train_step(self, imgs, labels, segments=None, cur_step=0, cur_epoch=0): + if self.accumulate == 1: + if segments is None: + loss, loss_item, _, grads_finite = self.train_step_fn(imgs, labels, True) + else: + loss, loss_item, _, grads_finite = self.train_step_fn(imgs, labels, segments, True) + self.scaler.adjust(grads_finite) + if not grads_finite and (cur_step % self.log_interval == 0): + if self.overflow_still_update: + logger.warning(f"overflow, still update, loss scale adjust to {self.scaler.scale_value.asnumpy()}") + else: + logger.warning(f"overflow, drop step, loss scale adjust to {self.scaler.scale_value.asnumpy()}") + else: + if segments is None: + loss, loss_item, grads, grads_finite = self.train_step_fn(imgs, labels, False) + else: + loss, loss_item, grads, grads_finite = self.train_step_fn(imgs, labels, segments, False) + self.scaler.adjust(grads_finite) + if grads_finite or self.overflow_still_update: + self.accumulate_cur_step += 1 + if self.accumulate_grads: + self.accumulate_grads = self.accumulate_grads_fn( + self.accumulate_grads, grads + ) # update self.accumulate_grads + else: + self.accumulate_grads = grads + + if self.accumulate_cur_step % self.accumulate == 0: + self.optimizer(self.accumulate_grads) + if self.ema: + self.ema.update() + logger.info( + f"Epoch {cur_epoch}/{self.epochs}, Step {cur_step}/{self.steps_per_epoch}, " + f"accumulate: {self.accumulate}, optimizer an accumulate step success." + ) + from mindspore.amp import all_finite + + if not all_finite(self.accumulate_grads): + logger.warning(f"overflow, still update.") + # reset accumulate + self.accumulate_grads, self.accumulate_cur_step = None, 0 + else: + logger.warning( + f"Epoch {cur_epoch}/{self.epochs}, Step {cur_step}/{self.steps_per_epoch}, " + f"accumulate: {self.accumulate}, this step grad overflow, drop. " + f"Loss scale adjust to {self.scaler.scale_value.asnumpy()}" + ) + + # train log + cur_lr = 0 + if cur_step % self.log_interval == 0: + log_string = ( + f"Epoch {cur_epoch}/{self.epochs}, Step {cur_step}/{self.steps_per_epoch}, imgsize {imgs.shape[2:]}" + ) + # print loss + if len(self.loss_item_name) < len(loss_item): + self.loss_item_name += [f"loss_item{i}" for i in range(len(loss_item) - len(self.loss_item_name))] + for i in range(len(loss_item)): + log_string += f", {self.loss_item_name[i]}: {loss_item[i].asnumpy():.4f}" + + # print lr + if self.optimizer.dynamic_lr: + if self.optimizer.is_group_lr: + lr_cell = self.optimizer.learning_rate[0] + cur_lr = lr_cell(Tensor(self.global_step, ms.int32)).asnumpy().item() + else: + cur_lr = self.optimizer.learning_rate(Tensor(self.global_step, ms.int32)).asnumpy().item() + else: + cur_lr = self.optimizer.learning_rate.asnumpy().item() + log_string += f", cur_lr: {cur_lr}" + logger.info(log_string) + return loss_item, cur_lr + + def _get_accumulate_grads_fn(self): + hyper_map = ops.HyperMap() + + def accu_fn(g1, g2): + g1 = g1 + g2 + return g1 + + def accumulate_grads_fn(accumulate_grads, grads): + success = hyper_map(accu_fn, accumulate_grads, grads) + return success + + return accumulate_grads_fn + + def _get_transform_stage(self, cur_epoch, stage_epochs=[]): + _cur_stage = 0 + for _i in range(len(stage_epochs)): + if cur_epoch <= stage_epochs[_i]: + _cur_stage = _i + else: + break + return _cur_stage + + def _on_train_begin(self, run_context: RunContext): + """hooks to run on the beginning of training process""" + + # check callback type validation + callback = self.callback + if callback is None: + callback = [] + assert isinstance(callback, (tuple, list)), ( + f"expect callback to be list of tuple, " f"but got {type(callback)} instead" + ) + for cb in callback: + assert isinstance(cb, BaseCallback), ( + f"expect callback element to be subclass of BaseCallback, " f"but got {type(cb)} instead" + ) + # log callback base info + logger.info(f"got {len(callback)} active callback as follows:") + for cb in self.callback: + logger.info(cb) + + # check range of log interval + if self.log_interval > self.steps_per_epoch: + logger.warning( + f"log interval should be less than total steps of one epoch, " + f"but got {self.log_interval} > {self.steps_per_epoch}, set log_interval as steps_per_epoch " + f"{self.steps_per_epoch}" + ) + self.log_interval = self.steps_per_epoch + + # throw warning of long time cost + logger.warning( + "The first epoch will be compiled for the graph, which may take a long time; " "You can come back later :)." + ) + + # execute customized callback + for cb in self.callback: + cb.on_train_begin(run_context) + + def _on_train_end(self, run_context: RunContext): + """hooks to run on the end of training process""" + for cb in self.callback: + cb.on_train_end(run_context) + + def _on_train_epoch_begin(self, run_context: RunContext): + """hooks to run on the beginning of a training epoch""" + for cb in self.callback: + cb.on_train_epoch_begin(run_context) + + def _on_train_epoch_end(self, run_context: RunContext): + """hooks to run on the end of a training epoch""" + for cb in self.callback: + cb.on_train_epoch_end(run_context) + + def _on_train_step_begin(self, run_context: RunContext): + """hooks to run on the beginning of a training step""" + for cb in self.callback: + cb.on_train_step_begin(run_context) + + def _on_train_step_end(self, run_context: RunContext): + """hooks to run on the end of a training step""" + for cb in self.callback: + cb.on_train_step_end(run_context) diff --git a/community/cv/ShipWise/mindyolo/utils/utils.py b/community/cv/ShipWise/mindyolo/utils/utils.py new file mode 100644 index 000000000..c364c94d1 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/utils/utils.py @@ -0,0 +1,223 @@ +import os +import random +import yaml +import cv2 +from datetime import datetime +import numpy as np + +import mindspore as ms +from mindspore import ops, Tensor, nn +from mindspore.communication.management import get_group_size, get_rank, init +from mindspore import ParallelMode + +from mindyolo.utils import logger + + +def set_seed(seed=2): + np.random.seed(seed) + random.seed(seed) + ms.set_seed(seed) + + +def set_default(args): + # Set Context + ms.set_context(mode=args.ms_mode, device_target=args.device_target, max_call_depth=2000) + # if args.ms_mode == 0: + # ms.set_context(jit_config={"jit_level": "O2"}) + if args.device_target == "Ascend": + device_id = int(os.getenv("DEVICE_ID", 0)) + ms.set_context(device_id=device_id) + elif args.device_target == "GPU" and args.ms_enable_graph_kernel: + ms.set_context(enable_graph_kernel=True) + # Set Parallel + if args.is_parallel: + init() + args.rank, args.rank_size, parallel_mode = get_rank(), get_group_size(), ParallelMode.DATA_PARALLEL + ms.set_auto_parallel_context(device_num=args.rank_size, parallel_mode=parallel_mode, gradients_mean=True) + else: + args.rank, args.rank_size = 0, 1 + # Set Default + args.total_batch_size = args.per_batch_size * args.rank_size + args.sync_bn = args.sync_bn and ms.get_context("device_target") == "Ascend" and args.rank_size > 1 + args.accumulate = max(1, np.round(args.nbs / args.total_batch_size)) if args.auto_accumulate else args.accumulate + # optimizer + args.optimizer.warmup_epochs = args.optimizer.get("warmup_epochs", 0) + args.optimizer.min_warmup_step = args.optimizer.get("min_warmup_step", 0) + args.optimizer.epochs = args.epochs + args.optimizer.nbs = args.nbs + args.optimizer.accumulate = args.accumulate + args.optimizer.total_batch_size = args.total_batch_size + # data + cv2.setNumThreads(args.opencv_threads_num) # Set the number of threads for opencv. + args.data.nc = 1 if args.single_cls else int(args.data.nc) # number of classes + args.data.names = ["item"] if args.single_cls and len(args.names) != 1 else args.data.names # class names + assert len(args.data.names) == args.data.nc, "%g names found for nc=%g dataset in %s" % ( + len(args.data.names), + args.data.nc, + args.config, + ) + # Directories and Save run settings + time = get_broadcast_datetime(rank_size=args.rank_size) + args.save_dir = os.path.join( + args.save_dir, f'{time[0]:04d}.{time[1]:02d}.{time[2]:02d}-{time[3]:02d}.{time[4]:02d}.{time[5]:02d}') + os.makedirs(args.save_dir, exist_ok=True) + if args.rank % args.rank_size == 0: + with open(os.path.join(args.save_dir, "cfg.yaml"), "w") as f: + yaml.dump(vars(args), f, sort_keys=False) + + # callback + args.callback = args.get('callback', []) + + # Set Logger + logger.setup_logging( + logger_name="MindYOLO", log_level=args.log_level, rank_id=args.rank, device_per_servers=args.rank_size + ) + logger.setup_logging_file(log_dir=os.path.join(args.save_dir, "logs")) + + # Modelarts: Copy data, from the s3 bucket to the computing node; Reset dataset dir. + if args.enable_modelarts: + from mindyolo.utils.modelarts import sync_data + + os.makedirs(args.data_dir, exist_ok=True) + sync_data(args.data_url, args.data_dir) + sync_data(args.save_dir, args.train_url) + if args.ckpt_url: + sync_data(args.ckpt_url, args.ckpt_dir) # pretrain ckpt + # args.data.dataset_dir = os.path.join(args.data_dir, args.data.dataset_dir) + args.data.train_set = os.path.join(args.data_dir, args.data.train_set) + args.data.val_set = os.path.join(args.data_dir, args.data.val_set) + args.data.test_set = os.path.join(args.data_dir, args.data.test_set) + args.weight = args.ckpt_dir if args.ckpt_dir else "" + args.ema_weight = os.path.join(args.ckpt_dir, args.ema_weight) if args.ema_weight else "" + + +def drop_inconsistent_shape_parameters(model, param_dict): + updated_param_dict = dict() + + # TODO: hard code + param_dict = {k.replace('ema.', ''): v for k, v in param_dict.items()} + + for param in model.get_parameters(): + name = param.name + if name in param_dict: + if param_dict[name].shape == param.shape: + updated_param_dict[name] = param_dict[name] + else: + logger.warning( + f"Dropping checkpoint parameter `{name}` with shape `{param_dict[name].shape}`, " + f"which is inconsistent with cell shape `{param.shape}`" + ) + else: + logger.warning(f"Cannot find checkpoint parameter `{name}`.") + return updated_param_dict + + +def load_pretrain(network, weight, ema=None, ema_weight=None, strict=True): + if weight.endswith(".ckpt"): + param_dict = ms.load_checkpoint(weight) + if not strict: + param_dict = drop_inconsistent_shape_parameters(network, param_dict) + ms.load_param_into_net(network, param_dict) + logger.info(f'Pretrain model load from "{weight}" success.') + if ema: + if ema_weight.endswith(".ckpt"): + param_dict_ema = ms.load_checkpoint(ema_weight) + if not strict: + param_dict_ema = drop_inconsistent_shape_parameters(ema.ema, param_dict_ema) + ms.load_param_into_net(ema.ema, param_dict_ema) + logger.info(f'Ema pretrain model load from "{ema_weight}" success.') + else: + ema.clone_from_model() + logger.info("ema_weight not exist, default pretrain weight is currently used.") + + +def freeze_layers(network, freeze=[]): + if len(freeze) > 0: + freeze = [f"model.{x}." for x in freeze] # parameter names to freeze (full or partial) + for n, p in network.parameters_and_names(): + if any(x in n for x in freeze): + logger.info("freezing %s" % n) + p.requires_grad = False + + +def draw_result(img_path, result_dict, data_names, is_coco_dataset=True, save_path="./detect_results"): + import random + import cv2 + from mindyolo.data import COCO80_TO_COCO91_CLASS + + os.makedirs(save_path, exist_ok=True) + save_result_path = os.path.join(save_path, img_path.split("/")[-1]) + im = cv2.imread(img_path) + category_id, bbox, score = result_dict["category_id"], result_dict["bbox"], result_dict["score"] + seg = result_dict.get("segmentation", None) + mask = None if seg is None else np.zeros_like(im, dtype=np.float32) + for i in range(len(bbox)): + # draw box + x_l, y_t, w, h = bbox[i][:] + x_r, y_b = x_l + w, y_t + h + x_l, y_t, x_r, y_b = int(x_l), int(y_t), int(x_r), int(y_b) + _color = [random.randint(0, 255) for _ in range(3)] + cv2.rectangle(im, (x_l, y_t), (x_r, y_b), tuple(_color), 2) + if seg: + _color_seg = np.array([random.randint(0, 255) for _ in range(3)], np.float32) + mask += seg[i][:, :, None] * _color_seg[None, None, :] + + # draw label + if is_coco_dataset: + class_name_index = COCO80_TO_COCO91_CLASS.index(category_id[i]) + else: + class_name_index = category_id[i] + class_name = data_names[class_name_index] # args.data.names[class_name_index] + text = f"{class_name}: {score[i]}" + (text_w, text_h), baseline = cv2.getTextSize(text, cv2.FONT_HERSHEY_SIMPLEX, 0.5, 2) + cv2.rectangle(im, (x_l, y_t - text_h - baseline), (x_l + text_w, y_t), tuple(_color), -1) + cv2.putText(im, text, (x_l, y_t - 5), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 0), 2) + + # save results + if seg: + im = (0.7 * im + 0.3 * mask).astype(np.uint8) + cv2.imwrite(save_result_path, im) + + +def get_broadcast_datetime(rank_size=1, root_rank=0): + time = datetime.now() + time_list = [time.year, time.month, time.day, time.hour, time.minute, time.second, time.microsecond] + if rank_size <=1: + return time_list + + # only broadcast in distribution mode + x = broadcast((Tensor(time_list, dtype=ms.int32),), root_rank) + x = x[0].asnumpy().tolist() + return x + +@ms.jit +def broadcast(x, root_rank): + return ops.Broadcast(root_rank=root_rank)(x) + +class AllReduce(nn.Cell): + """ + a wrapper class to make ops.AllReduce become a Cell. This is a workaround for sync_wait + """ + def __init__(self): + super(AllReduce, self).__init__() + self.all_reduce = ops.AllReduce(op=ops.ReduceOp.SUM) + + def construct(self, x): + return self.all_reduce(x) + + +class Synchronizer: + def __init__(self, rank_size=1): + # this init method should be run only once + self.all_reduce = AllReduce() + self.rank_size = rank_size + + def __call__(self): + if self.rank_size <= 1: + return + sync = Tensor(np.array([1]).astype(np.int32)) + sync = self.all_reduce(sync) + sync = sync.asnumpy()[0] + if sync != self.rank_size: + raise ValueError(f'Sync value {sync} is not equal to rank size {self.rank_size}.' + f' There might be wrong with devices') diff --git a/community/cv/ShipWise/mindyolo/version.py b/community/cv/ShipWise/mindyolo/version.py new file mode 100644 index 000000000..aea8b22a3 --- /dev/null +++ b/community/cv/ShipWise/mindyolo/version.py @@ -0,0 +1,2 @@ +"""version init""" +__version__ = "0.4.0-dev" diff --git a/community/cv/ShipWise/requirements.txt b/community/cv/ShipWise/requirements.txt new file mode 100644 index 000000000..f52029615 --- /dev/null +++ b/community/cv/ShipWise/requirements.txt @@ -0,0 +1,16 @@ +# MindYOLO requirements +# Usage: pip install -r requirements.txt + +# Setup +pybind11>=2.10.4 + +# Base +numpy>=1.17.0 +PyYAML>=5.3 +tqdm +opencv-python>=4.7.0.68 +opencv-python-headless>=4.7.0.68 + +# Extras +albumentations>=1.0.3 +pycocotools>=2.0.2 diff --git a/community/cv/ShipWise/workspace/__init__.py b/community/cv/ShipWise/workspace/__init__.py new file mode 100644 index 000000000..cb9cad7f3 --- /dev/null +++ b/community/cv/ShipWise/workspace/__init__.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- +# @Time : 2024-09-22 11:41 +# @Author : Jiang Liu + + +def main(): + pass + + +if __name__ == '__main__': + main() diff --git a/community/cv/ShipWise/workspace/flask/__init__.py b/community/cv/ShipWise/workspace/flask/__init__.py new file mode 100644 index 000000000..39ecbcf98 --- /dev/null +++ b/community/cv/ShipWise/workspace/flask/__init__.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- +# @Time : 2024-09-16 19:25 +# @Author : Jiang Liu + + +def main(): + pass + + +if __name__ == '__main__': + main() diff --git a/community/cv/ShipWise/workspace/flask/index.py b/community/cv/ShipWise/workspace/flask/index.py new file mode 100644 index 000000000..308a9bb08 --- /dev/null +++ b/community/cv/ShipWise/workspace/flask/index.py @@ -0,0 +1,38 @@ +from io import BytesIO + +import cv2 +import numpy as np +from flask import Flask, request, jsonify + +from workspace.flask.model.ship_wise import init, infer + +app = Flask(__name__) + +# 在应用开始时加载模型 +user_config = { + "config": r"H:\Workspace\DeepLearning\mindyolo-summer-ospp/workspace/configs/ship-wise/ship-wise-s.yaml", + "weight": r"H:\Workspace\DeepLearning\mindyolo-summer-ospp/runs/2024.09.15-22.56.30/weights/ship-wise-s-153_422.ckpt", + "save_result": False, + "device_target": "CPU", +} +args, network = init(user_config) + + +@app.route('/detect', methods=['POST']) +def detect(): + """ + 检测图片中的物体 + 输入:图片文件 + 输出:{ "bbox": [[698.248,524.238,217.65,196.28]], "category_id": [18], "score": [0.82683] } + """ + file = request.files['image'] + in_memory_file = BytesIO() + file.save(in_memory_file) + data = np.fromstring(in_memory_file.getvalue(), dtype=np.uint8) + image = cv2.imdecode(data, cv2.IMREAD_COLOR) + result = infer(args, network, image) + return jsonify(result) + + +if __name__ == '__main__': + app.run(debug=True, port=8080) diff --git a/community/cv/ShipWise/workspace/flask/model/__init__.py b/community/cv/ShipWise/workspace/flask/model/__init__.py new file mode 100644 index 000000000..3badb5891 --- /dev/null +++ b/community/cv/ShipWise/workspace/flask/model/__init__.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- +# @Time : 2024-09-16 19:57 +# @Author : Jiang Liu + + +def main(): + pass + + +if __name__ == '__main__': + main() diff --git a/community/cv/ShipWise/workspace/flask/model/ship_wise.py b/community/cv/ShipWise/workspace/flask/model/ship_wise.py new file mode 100644 index 000000000..6c4c1f686 --- /dev/null +++ b/community/cv/ShipWise/workspace/flask/model/ship_wise.py @@ -0,0 +1,78 @@ +from demo.predict import get_parser_infer, set_default_infer, detect +from mindyolo.utils.config import load_config, Config +import os +import mindspore as ms +from mindyolo.models import create_model +from mindyolo.utils.utils import draw_result, set_seed + + +class NetworkSingleton: + _instance = None + _args = None + + def __new__(cls, args): + if cls._instance is None: + cls._instance = super(NetworkSingleton, cls).__new__(cls) + cls._instance.init_network(args) + cls._args = args + return cls._instance + + def init_network(self, args): + set_seed(args.seed) + set_default_infer(args) + self.network = create_model( + model_name=args.network.model_name, + model_cfg=args.network, + num_classes=args.data.nc, + sync_bn=False, + checkpoint_path=args.weight, + ) + self.network.set_train(False) + ms.amp.auto_mixed_precision(self.network, amp_level=args.ms_amp_level) + + def get_network(self): + return self.network + + def get_args(self): + return self._args + + +def infer(args, network, img): + is_coco_dataset = "coco" in args.data.dataset_name + # 默认任务为 Detection + result_dict = detect( + network=network, + img=img, + conf_thres=args.conf_thres, + iou_thres=args.iou_thres, + conf_free=args.conf_free, + nms_time_limit=args.nms_time_limit, + img_size=args.img_size, + stride=max(max(args.network.stride), 32), + num_class=args.data.nc, + is_coco_dataset=is_coco_dataset, + ) + if args.save_result: + save_path = os.path.join(args.save_dir, "detect_results") + draw_result(args.image_path, result_dict, args.data.names, is_coco_dataset=is_coco_dataset, + save_path=save_path) + return result_dict + + +def init(user_config=None): + parser = get_parser_infer() + test_img_path = r"H:\Library\Datasets\HRSC\HRSC2016_dataset\HRSC2016\FullDataSet-YOLO-Split\test\100000630.bmp" + if user_config is None: + user_config = { + "config": "./workspace/configs/ship-wise/ship-wise-s.yaml", + "weight": "./runs/2024.09.15-22.56.30/weights/ship-wise-s-153_422.ckpt", + "device_target": "CPU", + } + cfg, _, _ = load_config(user_config["config"]) + cfg = Config(cfg) + parser.set_defaults(**cfg) + parser.set_defaults(**user_config) + args = parser.parse_args() + args = Config(vars(args)) + network = NetworkSingleton(args).get_network() + return args, network diff --git a/community/cv/ShipWise/workspace/predict.py b/community/cv/ShipWise/workspace/predict.py new file mode 100644 index 000000000..499a6d7cf --- /dev/null +++ b/community/cv/ShipWise/workspace/predict.py @@ -0,0 +1,346 @@ +import argparse +import ast +import math +import os +import sys +import time +import cv2 +import numpy as np +import yaml +from datetime import datetime + +import mindspore as ms +from mindspore import Tensor, nn + +from mindyolo.data import COCO80_TO_COCO91_CLASS +from mindyolo.models import create_model +from mindyolo.utils import logger +from mindyolo.utils.config import parse_args +from mindyolo.utils.metrics import non_max_suppression, scale_coords, xyxy2xywh, process_mask_upsample, scale_image +from mindyolo.utils.utils import draw_result, set_seed + + +def get_parser_infer(parents=None): + parser = argparse.ArgumentParser(description="Infer", parents=[parents] if parents else []) + parser.add_argument("--task", type=str, default="detect", choices=["detect", "segment"]) + parser.add_argument("--device_target", type=str, default="Ascend", help="device target, Ascend/GPU/CPU") + parser.add_argument("--ms_mode", type=int, default=0, help="train mode, graph/pynative") + parser.add_argument("--ms_amp_level", type=str, default="O0", help="amp level, O0/O1/O2") + parser.add_argument( + "--ms_enable_graph_kernel", type=ast.literal_eval, default=False, help="use enable_graph_kernel or not" + ) + parser.add_argument("--weight", type=str, default="yolov7_300.ckpt", help="model.ckpt path(s)") + parser.add_argument("--img_size", type=int, default=640, help="inference size (pixels)") + parser.add_argument( + "--single_cls", type=ast.literal_eval, default=False, help="train multi-class data as single-class" + ) + parser.add_argument("--nms_time_limit", type=float, default=60.0, help="time limit for NMS") + parser.add_argument("--conf_thres", type=float, default=0.25, help="object confidence threshold") + parser.add_argument("--iou_thres", type=float, default=0.65, help="IOU threshold for NMS") + parser.add_argument( + "--conf_free", type=ast.literal_eval, default=False, help="Whether the prediction result include conf" + ) + parser.add_argument("--seed", type=int, default=2, help="set global seed") + parser.add_argument("--log_level", type=str, default="INFO", help="save dir") + parser.add_argument("--save_dir", type=str, default="./runs_infer", help="save dir") + + parser.add_argument("--image_path", type=str, help="path to image") + parser.add_argument("--save_result", type=ast.literal_eval, default=True, help="whether save the inference result") + + return parser + + +def is_yolov7(args): + if "yolov7" not in args.config: + pass + else: + ms.set_context(ascend_config={"precision_mode": "allow_fp32_to_fp16"}) + + +def set_default_infer(args): + # Set Context + ms.set_context(mode=args.ms_mode, device_target=args.device_target, max_call_depth=2000) + # MaxPool2d does not support dtype=fp32, ops's bug. Needed to be updated when ops's demand is done. + is_yolov7(args) + # if args.ms_mode == 0: + # ms.set_context(jit_config={"jit_level": "O2"}) + if args.device_target == "Ascend": + ms.set_context(device_id=int(os.getenv("DEVICE_ID", 0))) + elif args.device_target == "GPU" and args.ms_enable_graph_kernel: + ms.set_context(enable_graph_kernel=True) + args.rank, args.rank_size = 0, 1 + # Set Data + args.data.nc = 1 if args.single_cls else int(args.data.nc) # number of classes + args.data.names = ["item"] if args.single_cls and len(args.names) != 1 else args.data.names # class names + assert len(args.data.names) == args.data.nc, "%g names found for nc=%g dataset in %s" % ( + len(args.data.names), + args.data.nc, + args.config, + ) + # Directories and Save run settings + platform = sys.platform + if platform == "win32": + args.save_dir = os.path.join(args.save_dir, datetime.now().strftime("%Y.%m.%d-%H.%M.%S")) + else: + args.save_dir = os.path.join(args.save_dir, datetime.now().strftime("%Y.%m.%d-%H:%M:%S")) + os.makedirs(args.save_dir, exist_ok=True) + if args.rank % args.rank_size == 0: + with open(os.path.join(args.save_dir, "cfg.yaml"), "w") as f: + yaml.dump(vars(args), f, sort_keys=False) + # Set Logger + logger.setup_logging(logger_name="MindYOLO", log_level="INFO", rank_id=args.rank, device_per_servers=args.rank_size) + logger.setup_logging_file(log_dir=os.path.join(args.save_dir, "logs")) + + +def detect( + network: nn.Cell, + img: np.ndarray, + conf_thres: float = 0.25, + iou_thres: float = 0.65, + conf_free: bool = False, + nms_time_limit: float = 60.0, + img_size: int = 640, + stride: int = 32, + num_class: int = 80, + is_coco_dataset: bool = True, +): + # Resize + h_ori, w_ori = img.shape[:2] # orig hw + r = img_size / max(h_ori, w_ori) # resize image to img_size + if r != 1: # always resize down, only resize up if training with augmentation + interp = cv2.INTER_AREA if r < 1 else cv2.INTER_LINEAR + img = cv2.resize(img, (int(w_ori * r), int(h_ori * r)), interpolation=interp) + h, w = img.shape[:2] + if h < img_size or w < img_size: + new_h, new_w = math.ceil(h / stride) * stride, math.ceil(w / stride) * stride + dh, dw = (new_h - h) / 2, (new_w - w) / 2 + top, bottom = int(round(dh - 0.1)), int(round(dh + 0.1)) + left, right = int(round(dw - 0.1)), int(round(dw + 0.1)) + img = cv2.copyMakeBorder( + img, top, bottom, left, right, cv2.BORDER_CONSTANT, value=(114, 114, 114) + ) # add border + + # Transpose Norm + img = img[:, :, ::-1].transpose(2, 0, 1) / 255.0 + imgs_tensor = Tensor(img[None], ms.float32) + + # Run infer + _t = time.time() + out = network(imgs_tensor) # inference and training outputs + out = out[0] if isinstance(out, (tuple, list)) else out + infer_times = time.time() - _t + + # Run NMS + t = time.time() + out = out.asnumpy() + out = non_max_suppression( + out, + conf_thres=conf_thres, + iou_thres=iou_thres, + conf_free=conf_free, + multi_label=True, + time_limit=nms_time_limit, + ) + nms_times = time.time() - t + + result_dict = {"category_id": [], "bbox": [], "score": []} + total_category_ids, total_bboxes, total_scores = [], [], [] + for si, pred in enumerate(out): + if len(pred) == 0: + continue + + # Predictions + predn = np.copy(pred) + scale_coords(img.shape[1:], predn[:, :4], (h_ori, w_ori)) # native-space pred + + box = xyxy2xywh(predn[:, :4]) # xywh + box[:, :2] -= box[:, 2:] / 2 # xy center to top-left corner + category_ids, bboxes, scores = [], [], [] + for p, b in zip(pred.tolist(), box.tolist()): + category_ids.append(COCO80_TO_COCO91_CLASS[int(p[5])] if is_coco_dataset else int(p[5])) + bboxes.append([round(x, 3) for x in b]) + scores.append(round(p[4], 5)) + + total_category_ids.extend(category_ids) + total_bboxes.extend(bboxes) + total_scores.extend(scores) + + result_dict["category_id"].extend(total_category_ids) + result_dict["bbox"].extend(total_bboxes) + result_dict["score"].extend(total_scores) + + t = tuple(x * 1e3 for x in (infer_times, nms_times, infer_times + nms_times)) + (img_size, img_size, 1) # tuple + logger.info(f"Predict result is: {result_dict}") + logger.info(f"Speed: %.1f/%.1f/%.1f ms inference/NMS/total per %gx%g image at batch-size %g;" % t) + logger.info(f"Detect a image success.") + + return result_dict + + +def segment( + network: nn.Cell, + img: np.ndarray, + conf_thres: float = 0.25, + iou_thres: float = 0.65, + conf_free: bool = False, + nms_time_limit: float = 60.0, + img_size: int = 640, + stride: int = 32, + num_class: int = 80, + is_coco_dataset: bool = True, +): + # Resize + h_ori, w_ori = img.shape[:2] # orig hw + r = img_size / max(h_ori, w_ori) # resize image to img_size + if r != 1: # always resize down, only resize up if training with augmentation + interp = cv2.INTER_AREA if r < 1 else cv2.INTER_LINEAR + img = cv2.resize(img, (int(w_ori * r), int(h_ori * r)), interpolation=interp) + h, w = img.shape[:2] + if h < img_size or w < img_size: + new_h, new_w = math.ceil(h / stride) * stride, math.ceil(w / stride) * stride + dh, dw = (new_h - h) / 2, (new_w - w) / 2 + top, bottom = int(round(dh - 0.1)), int(round(dh + 0.1)) + left, right = int(round(dw - 0.1)), int(round(dw + 0.1)) + img = cv2.copyMakeBorder( + img, top, bottom, left, right, cv2.BORDER_CONSTANT, value=(114, 114, 114) + ) # add border + + # Transpose Norm + img = img[:, :, ::-1].transpose(2, 0, 1) / 255.0 + imgs_tensor = Tensor(img[None], ms.float32) + + # Run infer + _t = time.time() + out, (_, _, prototypes) = network(imgs_tensor) # inference and training outputs + infer_times = time.time() - _t + + # Run NMS + t = time.time() + _c = num_class + 4 if conf_free else num_class + 5 + out = out.asnumpy() + bboxes, mask_coefficient = out[:, :, :_c], out[:, :, _c:] + out = non_max_suppression( + bboxes, + mask_coefficient, + conf_thres=conf_thres, + iou_thres=iou_thres, + conf_free=conf_free, + multi_label=True, + time_limit=nms_time_limit, + ) + nms_times = time.time() - t + + prototypes = prototypes.asnumpy() + + result_dict = {"category_id": [], "bbox": [], "score": [], "segmentation": []} + total_category_ids, total_bboxes, total_scores, total_seg = [], [], [], [] + for si, (pred, proto) in enumerate(zip(out, prototypes)): + if len(pred) == 0: + continue + + # Predictions + pred_masks = process_mask_upsample(proto, pred[:, 6:], pred[:, :4], shape=imgs_tensor[si].shape[1:]) + pred_masks = pred_masks.astype(np.float32) + pred_masks = scale_image((pred_masks.transpose(1, 2, 0)), (h_ori, w_ori)) + predn = np.copy(pred) + scale_coords(img.shape[1:], predn[:, :4], (h_ori, w_ori)) # native-space pred + + box = xyxy2xywh(predn[:, :4]) # xywh + box[:, :2] -= box[:, 2:] / 2 # xy center to top-left corner + category_ids, bboxes, scores, segs = [], [], [], [] + for ii, (p, b) in enumerate(zip(pred.tolist(), box.tolist())): + category_ids.append(COCO80_TO_COCO91_CLASS[int(p[5])] if is_coco_dataset else int(p[5])) + bboxes.append([round(x, 3) for x in b]) + scores.append(round(p[4], 5)) + segs.append(pred_masks[:, :, ii]) + + total_category_ids.extend(category_ids) + total_bboxes.extend(bboxes) + total_scores.extend(scores) + total_seg.extend(segs) + + result_dict["category_id"].extend(total_category_ids) + result_dict["bbox"].extend(total_bboxes) + result_dict["score"].extend(total_scores) + result_dict["segmentation"].extend(total_seg) + + t = tuple(x * 1e3 for x in (infer_times, nms_times, infer_times + nms_times)) + (img_size, img_size, 1) # tuple + logger.info(f"Predict result is:") + for k, v in result_dict.items(): + if k == "segmentation": + logger.info(f"{k} shape: {v[0].shape}") + else: + logger.info(f"{k}: {v}") + logger.info(f"Speed: %.1f/%.1f/%.1f ms inference/NMS/total per %gx%g image at batch-size %g;" % t) + logger.info(f"Detect a image success.") + + return result_dict + + +def infer(args): + # Init + set_seed(args.seed) + set_default_infer(args) + + # Create Network + network = create_model( + model_name=args.network.model_name, + model_cfg=args.network, + num_classes=args.data.nc, + sync_bn=False, + checkpoint_path=args.weight, + ) + network.set_train(False) + ms.amp.auto_mixed_precision(network, amp_level=args.ms_amp_level) + + # Load Image + if isinstance(args.image_path, str) and os.path.isfile(args.image_path): + import cv2 + img = cv2.imread(args.image_path) + else: + raise ValueError("Detect: input image file not available.") + + # Detect + is_coco_dataset = "coco" in args.data.dataset_name + if args.task == "detect": + result_dict = detect( + network=network, + img=img, + conf_thres=args.conf_thres, + iou_thres=args.iou_thres, + conf_free=args.conf_free, + nms_time_limit=args.nms_time_limit, + img_size=args.img_size, + stride=max(max(args.network.stride), 32), + num_class=args.data.nc, + is_coco_dataset=is_coco_dataset, + ) + if args.save_result: + save_path = os.path.join(args.save_dir, "detect_results") + draw_result(args.image_path, result_dict, args.data.names, is_coco_dataset=is_coco_dataset, + save_path=save_path) + elif args.task == "segment": + result_dict = segment( + network=network, + img=img, + conf_thres=args.conf_thres, + iou_thres=args.iou_thres, + conf_free=args.conf_free, + nms_time_limit=args.nms_time_limit, + img_size=args.img_size, + stride=max(max(args.network.stride), 32), + num_class=args.data.nc, + is_coco_dataset=is_coco_dataset, + ) + if args.save_result: + save_path = os.path.join(args.save_dir, "segment_results") + draw_result(args.image_path, result_dict, args.data.names, is_coco_dataset=is_coco_dataset, + save_path=save_path) + + logger.info("Infer completed.") + + +if __name__ == "__main__": + parser = get_parser_infer() + args = parse_args(parser) + infer(args) diff --git a/community/cv/ShipWise/workspace/script/__init__.py b/community/cv/ShipWise/workspace/script/__init__.py new file mode 100644 index 000000000..a2a7aa3e8 --- /dev/null +++ b/community/cv/ShipWise/workspace/script/__init__.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- +# @Time : 2024-09-10 17:12 +# @Author : Jiang Liu + + +def main(): + pass + + +if __name__ == '__main__': + main() diff --git a/community/cv/ShipWise/workspace/script/dataset_tools/HRSC/__init__.py b/community/cv/ShipWise/workspace/script/dataset_tools/HRSC/__init__.py new file mode 100644 index 000000000..0c6f3caf0 --- /dev/null +++ b/community/cv/ShipWise/workspace/script/dataset_tools/HRSC/__init__.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- +# @Time : 2024-09-15 13:06 +# @Author : Jiang Liu + + +def main(): + pass + + +if __name__ == '__main__': + main() diff --git "a/community/cv/ShipWise/workspace/script/dataset_tools/HRSC/\345\210\207\345\210\206\346\225\260\346\215\256\351\233\206.py" "b/community/cv/ShipWise/workspace/script/dataset_tools/HRSC/\345\210\207\345\210\206\346\225\260\346\215\256\351\233\206.py" new file mode 100644 index 000000000..ec1c2fe61 --- /dev/null +++ "b/community/cv/ShipWise/workspace/script/dataset_tools/HRSC/\345\210\207\345\210\206\346\225\260\346\215\256\351\233\206.py" @@ -0,0 +1,66 @@ +import os +import random +from shutil import copyfile + + +def split_dataset(img_dir, annotation_dir, + train_dir, val_dir, test_dir, + train_set_file_path, val_set_file_path, test_set_file_path, + train_ratio=0.8, val_ratio=0.1): + os.makedirs(train_dir, exist_ok=True) + os.makedirs(val_dir, exist_ok=True) + os.makedirs(test_dir, exist_ok=True) + + img_files = os.listdir(img_dir) + annotation_files = os.listdir(annotation_dir) + + # 过滤无标注的图片 + img_files = [img_file for img_file in img_files if img_file.replace('.bmp', '.txt') in annotation_files] + + random.shuffle(img_files) + + num_files = len(img_files) + num_train_files = int(num_files * train_ratio) + num_val_files = int(num_files * val_ratio) + num_test_files = num_files - num_train_files - num_val_files + + # 将划分的图片路径写入文件 + train_set = img_files[:num_train_files] + val_set = img_files[num_train_files:num_train_files + num_val_files] + test_set = img_files[num_train_files + num_val_files:] + for (set_file_path, set_dir, set_files) in zip([train_set_file_path, val_set_file_path, test_set_file_path], + [train_dir, val_dir, test_dir], + [train_set, val_set, test_set]): + with open(set_file_path, 'w') as file: + for set_file in set_files: + file.write(os.path.join(set_dir, set_file) + '\n') + + for i, img_file in enumerate(img_files): + annotation_file = img_file.replace('.bmp', '.txt') + if i < num_train_files: + copyfile(os.path.join(img_dir, img_file), os.path.join(train_dir, img_file)) + copyfile(os.path.join(annotation_dir, annotation_file), os.path.join(train_dir, annotation_file)) + elif i < num_train_files + num_val_files: + copyfile(os.path.join(img_dir, img_file), os.path.join(val_dir, img_file)) + copyfile(os.path.join(annotation_dir, annotation_file), os.path.join(val_dir, annotation_file)) + else: + copyfile(os.path.join(img_dir, img_file), os.path.join(test_dir, img_file)) + copyfile(os.path.join(annotation_dir, annotation_file), os.path.join(test_dir, annotation_file)) + + +def main(): + configs = { + 'img_dir': r"H:\Library\Datasets\HRSC\HRSC2016_dataset\HRSC2016\FullDataSet\AllImages", + 'annotation_dir': r"H:\Library\Datasets\HRSC\HRSC2016_dataset\HRSC2016\FullDataSet-YOLO\Annotations", + 'train_dir': r"H:\Library\Datasets\HRSC\HRSC2016_dataset\HRSC2016\FullDataSet-YOLO-Split\train", + 'val_dir': r"H:\Library\Datasets\HRSC\HRSC2016_dataset\HRSC2016\FullDataSet-YOLO-Split\validation", + 'test_dir': r"H:\Library\Datasets\HRSC\HRSC2016_dataset\HRSC2016\FullDataSet-YOLO-Split\test", + 'train_set_file_path': r"H:\Library\Datasets\HRSC\HRSC2016_dataset\HRSC2016\FullDataSet-YOLO-Split\train.txt", + 'val_set_file_path': r"H:\Library\Datasets\HRSC\HRSC2016_dataset\HRSC2016\FullDataSet-YOLO-Split\val.txt", + 'test_set_file_path': r"H:\Library\Datasets\HRSC\HRSC2016_dataset\HRSC2016\FullDataSet-YOLO-Split\test.txt", + } + split_dataset(**configs) + + +if __name__ == '__main__': + main() diff --git "a/community/cv/ShipWise/workspace/script/dataset_tools/HRSC/\350\275\254\346\215\242\346\225\260\346\215\256\351\233\206\344\270\272YOLO\346\240\274\345\274\217.py" "b/community/cv/ShipWise/workspace/script/dataset_tools/HRSC/\350\275\254\346\215\242\346\225\260\346\215\256\351\233\206\344\270\272YOLO\346\240\274\345\274\217.py" new file mode 100644 index 000000000..f61a015eb --- /dev/null +++ "b/community/cv/ShipWise/workspace/script/dataset_tools/HRSC/\350\275\254\346\215\242\346\225\260\346\215\256\351\233\206\344\270\272YOLO\346\240\274\345\274\217.py" @@ -0,0 +1,79 @@ +import xml.etree.ElementTree as ET +import os + + +def convert_cls_id(cls_id): + mapping = { + '100000001': 0, + '100000002': 1, + '100000003': 2, + '100000004': 3, + '100000005': 4, + '100000006': 5, + '100000007': 6, + '100000008': 7, + '100000009': 8, + '100000010': 9, + '100000011': 10, + '100000012': 11, + '100000013': 12, + '100000015': 13, + '100000016': 14, + '100000017': 15, + '100000018': 16, + '100000019': 17, + '100000020': 18, + '100000022': 19, + '100000024': 20, + '100000025': 21, + '100000026': 22, + '100000027': 23, + '100000028': 24, + '100000029': 25, + '100000030': 26, + '100000032': 27, + } + return mapping[cls_id] + + +def xml_to_txt(xml_file_dir, txt_file_dir): + os.makedirs(txt_file_dir, exist_ok=True) + all_class_ids = set() + for xml_file in os.listdir(xml_file_dir): + if not xml_file.endswith('.xml') or xml_file == 'annotation_fmt.xml': + continue + xml_file_path = os.path.join(xml_file_dir, xml_file) + tree = ET.parse(xml_file_path) + root = tree.getroot() + img_id = root.find('Img_ID').text + img_width = int(root.find('Img_SizeWidth').text) + img_height = int(root.find('Img_SizeHeight').text) + txt_file_path = os.path.join(txt_file_dir, f"{img_id}.txt") + objs = root.findall('.//HRSC_Object') + if len(objs) == 0: + continue + with open(txt_file_path, 'w') as txt_file: + for obj in objs: + class_id = convert_cls_id(obj.find('Class_ID').text) + all_class_ids.add(class_id) + box_xmin = int(obj.find('box_xmin').text) + box_ymin = int(obj.find('box_ymin').text) + box_xmax = int(obj.find('box_xmax').text) + box_ymax = int(obj.find('box_ymax').text) + x_center = ((box_xmin + box_xmax) / 2) / img_width + y_center = ((box_ymin + box_ymax) / 2) / img_height + box_width = (box_xmax - box_xmin) / img_width + box_height = (box_ymax - box_ymin) / img_height + txt_file.write(f"{class_id} {x_center} {y_center} {box_width} {box_height}\n") + print(f"Total class ids: {len(all_class_ids)}") + print([str(class_id) for class_id in all_class_ids]) + + +def main(): + xml_file_dir = r"H:\Library\Datasets\HRSC\HRSC2016_dataset\HRSC2016\FullDataSet\Annotations" + txt_file_dir = r"H:\Library\Datasets\HRSC\HRSC2016_dataset\HRSC2016\FullDataSet-YOLO\Annotations" + xml_to_txt(xml_file_dir, txt_file_dir) + + +if __name__ == '__main__': + main() diff --git a/community/cv/ShipWise/workspace/script/dataset_tools/__init__.py b/community/cv/ShipWise/workspace/script/dataset_tools/__init__.py new file mode 100644 index 000000000..c20f18bb3 --- /dev/null +++ b/community/cv/ShipWise/workspace/script/dataset_tools/__init__.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- +# @Time : 2024-09-15 13:05 +# @Author : Jiang Liu + + +def main(): + pass + + +if __name__ == '__main__': + main() diff --git a/community/cv/ShipWise/workspace/train.py b/community/cv/ShipWise/workspace/train.py new file mode 100644 index 000000000..cecce9956 --- /dev/null +++ b/community/cv/ShipWise/workspace/train.py @@ -0,0 +1,320 @@ +import argparse +import ast +import os +from functools import partial + +import mindspore as ms + +from mindyolo.data import COCODataset, create_loader +from mindyolo.models import create_loss, create_model +from mindyolo.optim import (EMA, create_group_param, create_lr_scheduler, + create_optimizer, create_warmup_momentum_scheduler) +from mindyolo.utils import logger +from mindyolo.utils.config import parse_args +from mindyolo.utils.train_step_factory import get_gradreducer, get_loss_scaler, create_train_step_fn +from mindyolo.utils.trainer_factory import create_trainer +from mindyolo.utils.callback import create_callback +from mindyolo.utils.utils import (freeze_layers, load_pretrain, set_default, + set_seed, Synchronizer) + + +def get_parser_train(parents=None): + parser = argparse.ArgumentParser(description="Train", parents=[parents] if parents else []) + parser.add_argument("--task", type=str, default="detect", choices=["detect", "segment"]) + parser.add_argument("--device_target", type=str, default="Ascend", help="device target, Ascend/GPU/CPU") + parser.add_argument("--save_dir", type=str, default="./runs", help="save dir") + parser.add_argument("--log_level", type=str, default="INFO", help="log level to print") + parser.add_argument("--is_parallel", type=ast.literal_eval, default=False, help="Distribute train or not") + parser.add_argument("--ms_mode", type=int, default=0, + help="Running in GRAPH_MODE(0) or PYNATIVE_MODE(1) (default=0)") + parser.add_argument("--ms_amp_level", type=str, default="O0", help="amp level, O0/O1/O2/O3") + parser.add_argument("--keep_loss_fp32", type=ast.literal_eval, default=True, + help="Whether to maintain loss using fp32/O0-level calculation") + parser.add_argument("--ms_loss_scaler", type=str, default="static", help="train loss scaler, static/dynamic/none") + parser.add_argument("--ms_loss_scaler_value", type=float, default=1024.0, help="static loss scale value") + parser.add_argument("--ms_jit", type=ast.literal_eval, default=True, help="use jit or not") + parser.add_argument("--ms_enable_graph_kernel", type=ast.literal_eval, default=False, + help="use enable_graph_kernel or not") + parser.add_argument("--ms_datasink", type=ast.literal_eval, default=False, help="Train with datasink.") + parser.add_argument("--overflow_still_update", type=ast.literal_eval, default=True, help="overflow still update") + parser.add_argument("--clip_grad", type=ast.literal_eval, default=False) + parser.add_argument("--clip_grad_value", type=float, default=10.0) + parser.add_argument("--ema", type=ast.literal_eval, default=True, help="ema") + parser.add_argument("--weight", type=str, default="", help="initial weight path") + parser.add_argument("--ema_weight", type=str, default="", help="initial ema weight path") + parser.add_argument("--freeze", type=list, default=[], help="Freeze layers: backbone of yolov7=50, first3=0 1 2") + parser.add_argument("--epochs", type=int, default=300, help="total train epochs") + parser.add_argument("--per_batch_size", type=int, default=32, help="per batch size for each device") + parser.add_argument("--img_size", type=list, default=640, help="train image sizes") + parser.add_argument("--nbs", type=list, default=64, help="nbs") + parser.add_argument("--accumulate", type=int, default=1, + help="grad accumulate step, recommended when batch-size is less than 64") + parser.add_argument("--auto_accumulate", type=ast.literal_eval, default=False, help="auto accumulate") + parser.add_argument("--log_interval", type=int, default=100, help="log interval") + parser.add_argument("--single_cls", type=ast.literal_eval, default=False, + help="train multi-class data as single-class") + parser.add_argument("--sync_bn", type=ast.literal_eval, default=False, + help="use SyncBatchNorm, only available in DDP mode") + parser.add_argument("--keep_checkpoint_max", type=int, default=100) + parser.add_argument("--run_eval", type=ast.literal_eval, default=False, help="Whether to run eval during training") + parser.add_argument("--conf_thres", type=float, default=0.001, help="object confidence threshold for run_eval") + parser.add_argument("--iou_thres", type=float, default=0.65, help="IOU threshold for NMS for run_eval") + parser.add_argument("--conf_free", type=ast.literal_eval, default=False, + help="Whether the prediction result include conf") + parser.add_argument("--rect", type=ast.literal_eval, default=False, help="rectangular training") + parser.add_argument("--nms_time_limit", type=float, default=20.0, help="time limit for NMS") + parser.add_argument("--recompute", type=ast.literal_eval, default=False, help="Recompute") + parser.add_argument("--recompute_layers", type=int, default=0) + parser.add_argument("--seed", type=int, default=2, help="set global seed") + parser.add_argument("--summary", type=ast.literal_eval, default=True, help="collect train loss scaler or not") + parser.add_argument("--profiler", type=ast.literal_eval, default=False, help="collect profiling data or not") + parser.add_argument("--profiler_step_num", type=int, default=1, help="collect profiler data for how many steps.") + parser.add_argument("--opencv_threads_num", type=int, default=2, help="set the number of threads for opencv") + parser.add_argument("--strict_load", type=ast.literal_eval, default=True, help="strictly load the pretrain model") + + # args for ModelArts + parser.add_argument("--enable_modelarts", type=ast.literal_eval, default=False, help="enable modelarts") + parser.add_argument("--data_url", type=str, default="", help="ModelArts: obs path to dataset folder") + parser.add_argument("--ckpt_url", type=str, default="", help="ModelArts: obs path to pretrain model checkpoint file") + parser.add_argument("--multi_data_url", type=str, default="", help="ModelArts: list of obs paths to multi-dataset folders") + parser.add_argument("--pretrain_url", type=str, default="", help="ModelArts: list of obs paths to multi-pretrain model files") + parser.add_argument("--train_url", type=str, default="", help="ModelArts: obs path to output folder") + parser.add_argument("--data_dir", type=str, default="/cache/data/", + help="ModelArts: local device path to dataset folder") + parser.add_argument("--ckpt_dir", type=str, default="/cache/pretrain_ckpt/", + help="ModelArts: local device path to checkpoint folder") + return parser + + +def train(args): + # Set Default + set_seed(args.seed) + set_default(args) + main_device = args.rank % args.rank_size == 0 + + logger.info(f"parse_args:\n{args}") + logger.info("Please check the above information for the configurations") + + # Create Network + args.network.recompute = args.recompute + args.network.recompute_layers = args.recompute_layers + network = create_model( + model_name=args.network.model_name, + model_cfg=args.network, + num_classes=args.data.nc, + sync_bn=args.sync_bn, + ) + + if args.ema: + ema_network = create_model( + model_name=args.network.model_name, + model_cfg=args.network, + num_classes=args.data.nc, + ) + ema = EMA(network, ema_network) + else: + ema = None + load_pretrain(network, args.weight, ema, args.ema_weight, args.strict_load) # load pretrain + freeze_layers(network, args.freeze) # freeze Layers + ms.amp.auto_mixed_precision(network, amp_level=args.ms_amp_level) + if ema: + ms.amp.auto_mixed_precision(ema.ema, amp_level=args.ms_amp_level) + + # Create Dataloaders + transforms = args.data.train_transforms + stage_dataloaders = [] + stage_epochs = [args.epochs,] if not isinstance(transforms, dict) else transforms['stage_epochs'] + stage_transforms = [transforms,] if not isinstance(transforms, dict) else transforms['trans_list'] + assert len(stage_epochs) == len(stage_transforms), "The length of transforms and stage_epochs is not equal." + assert sum(stage_epochs) == args.epochs, f"Stage epochs [{sum(stage_epochs)}] not equal args.epochs [{args.epochs}]" + for stage in range(len(stage_epochs)): + _dataset = COCODataset( + dataset_path=args.data.train_set, + img_size=args.img_size, + transforms_dict=stage_transforms[stage], + is_training=True, + augment=True, + rect=args.rect, + single_cls=args.single_cls, + batch_size=args.total_batch_size, + stride=max(args.network.stride), + return_segments=(args.task == "segment") + ) + _dataloader = create_loader( + dataset=_dataset, + batch_collate_fn=_dataset.train_collate_fn, + column_names_getitem=_dataset.column_names_getitem, + column_names_collate=_dataset.column_names_collate, + batch_size=args.per_batch_size, + epoch_size=stage_epochs[stage], + rank=args.rank, + rank_size=args.rank_size, + shuffle=True, + drop_remainder=True, + num_parallel_workers=args.data.num_parallel_workers, + python_multiprocessing=True, + ) + stage_dataloaders.append(_dataloader) + dataloader = stage_dataloaders[0] if len(stage_dataloaders) == 1 else ms.dataset.ConcatDataset(stage_dataloaders) + steps_per_epoch = dataloader.get_dataset_size() // args.epochs + + if args.run_eval: + from test import test + eval_dataset = COCODataset( + dataset_path=args.data.val_set, + img_size=args.img_size, + transforms_dict=args.data.test_transforms, + is_training=False, + augment=False, + rect=args.rect, + single_cls=args.single_cls, + batch_size=args.per_batch_size, + stride=max(args.network.stride), + ) + eval_dataloader = create_loader( + dataset=eval_dataset, + batch_collate_fn=eval_dataset.test_collate_fn, + column_names_getitem=eval_dataset.column_names_getitem, + column_names_collate=eval_dataset.column_names_collate, + batch_size=args.per_batch_size, + epoch_size=1, + rank=args.rank, + rank_size=args.rank_size, + shuffle=False, + drop_remainder=False, + num_parallel_workers=1, + python_multiprocessing=True, + ) + else: + eval_dataset, eval_dataloader = None, None + + # Create Loss + loss_fn = create_loss( + **args.loss, anchors=args.network.get("anchors", 1), stride=args.network.stride, nc=args.data.nc + ) + ms.amp.auto_mixed_precision(loss_fn, amp_level="O0" if args.keep_loss_fp32 else args.ms_amp_level) + + # Create Optimizer + args.optimizer.steps_per_epoch = steps_per_epoch + lr = create_lr_scheduler(**args.optimizer) + params = create_group_param(params=network.trainable_params(), **args.optimizer) + optimizer = create_optimizer(params=params, lr=lr, **args.optimizer) + warmup_momentum = create_warmup_momentum_scheduler(**args.optimizer) + + # Create train_step_fn + reducer = get_gradreducer(args.is_parallel, optimizer.parameters) + scaler = get_loss_scaler(args.ms_loss_scaler, scale_value=args.ms_loss_scaler_value) + train_step_fn = create_train_step_fn( + task=args.task, + network=network, + loss_fn=loss_fn, + optimizer=optimizer, + loss_ratio=args.rank_size, + scaler=scaler, + reducer=reducer, + ema=ema, + overflow_still_update=args.overflow_still_update, + ms_jit=args.ms_jit, + clip_grad=args.clip_grad, + clip_grad_value=args.clip_grad_value + ) + + # Create callbacks + if args.summary: + args.callback.append({"name": "SummaryCallback"}) + if args.profiler: + args.callback.append({"name": "ProfilerCallback", "profiler_step_num": args.profiler_step_num}) + callback_fns = create_callback(args.callback) + + # Create test function for run eval while train + if args.run_eval: + is_coco_dataset = "coco" in args.data.dataset_name + test_fn = partial( + test, + task=args.task, + dataloader=eval_dataloader, + anno_json_path=os.path.join( + args.data.val_set[: -len(args.data.val_set.split("/")[-1])], "annotations/instances_val2017.json" + ), + conf_thres=args.conf_thres, + iou_thres=args.iou_thres, + conf_free=args.conf_free, + num_class=args.data.nc, + nms_time_limit=args.nms_time_limit, + is_coco_dataset=is_coco_dataset, + imgIds=None if not is_coco_dataset else eval_dataset.imgIds, + per_batch_size=args.per_batch_size, + rank=args.rank, + rank_size=args.rank_size, + save_dir=args.save_dir, + synchronizer=Synchronizer(args.rank_size) if args.rank_size > 1 else None, + ) + else: + test_fn = None + + # Create Trainer + network.set_train(True) + optimizer.set_train(True) + model_name = os.path.basename(args.config)[:-5] # delete ".yaml" + trainer = create_trainer( + model_name=model_name, + train_step_fn=train_step_fn, + scaler=scaler, + dataloader=dataloader, + steps_per_epoch=steps_per_epoch, + network=network, + loss_fn=loss_fn, + ema=ema, + optimizer=optimizer, + callback=callback_fns, + reducer=reducer, + data_sink=args.ms_datasink, + profiler=args.profiler + ) + if not args.ms_datasink: + trainer.train( + epochs=args.epochs, + main_device=main_device, + warmup_step=max(round(args.optimizer.warmup_epochs * steps_per_epoch), args.optimizer.min_warmup_step), + warmup_momentum=warmup_momentum, + accumulate=args.accumulate, + overflow_still_update=args.overflow_still_update, + keep_checkpoint_max=args.keep_checkpoint_max, + log_interval=args.log_interval, + loss_item_name=[] if not hasattr(loss_fn, "loss_item_name") else loss_fn.loss_item_name, + save_dir=args.save_dir, + enable_modelarts=args.enable_modelarts, + train_url=args.train_url, + run_eval=args.run_eval, + test_fn=test_fn, + rank_size=args.rank_size, + ms_jit=args.ms_jit, + profiler_step_num=args.profiler_step_num + ) + else: + logger.warning("DataSink is an experimental interface under development.") + logger.warning("Train with data sink mode.") + assert args.accumulate == 1, "datasink mode not support grad accumulate." + trainer.train_with_datasink( + task=args.task, + epochs=args.epochs, + main_device=main_device, + warmup_epoch=max(args.optimizer.warmup_epochs, args.optimizer.min_warmup_step // steps_per_epoch), + warmup_momentum=warmup_momentum, + keep_checkpoint_max=args.keep_checkpoint_max, + log_interval=args.log_interval, + loss_item_name=[] if not hasattr(loss_fn, "loss_item_name") else loss_fn.loss_item_name, + save_dir=args.save_dir, + enable_modelarts=args.enable_modelarts, + train_url=args.train_url, + run_eval=args.run_eval, + test_fn=test_fn, + profiler_step_num=args.profiler_step_num + ) + logger.info("Training completed.") + + +if __name__ == "__main__": + parser = get_parser_train() + args = parse_args(parser) + train(args) -- Gitee From 60a094221fc806c0b0569ec499f8e0fdd4e4ea2d Mon Sep 17 00:00:00 2001 From: Jiang Liu Date: Tue, 29 Oct 2024 17:16:24 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=BB=A5=E5=8F=8A=E9=85=8D=E7=BD=AE=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cv/ShipWise/mindyolo/models/__init__.py | 5 + .../cv/ShipWise/mindyolo/models/shipwise.py | 104 ++++++++++++++++++ .../workspace/configs/dataset/HRSC2016.yaml | 14 +++ .../configs/ship-wise/hyp.scratch.high.yaml | 67 +++++++++++ .../configs/ship-wise/hyp.scratch.low.yaml | 62 +++++++++++ .../configs/ship-wise/ship-wise-base.yaml | 45 ++++++++ .../configs/ship-wise/ship-wise-l.yaml | 11 ++ .../configs/ship-wise/ship-wise-s.yaml | 11 ++ 8 files changed, 319 insertions(+) create mode 100644 community/cv/ShipWise/mindyolo/models/shipwise.py create mode 100644 community/cv/ShipWise/workspace/configs/dataset/HRSC2016.yaml create mode 100644 community/cv/ShipWise/workspace/configs/ship-wise/hyp.scratch.high.yaml create mode 100644 community/cv/ShipWise/workspace/configs/ship-wise/hyp.scratch.low.yaml create mode 100644 community/cv/ShipWise/workspace/configs/ship-wise/ship-wise-base.yaml create mode 100644 community/cv/ShipWise/workspace/configs/ship-wise/ship-wise-l.yaml create mode 100644 community/cv/ShipWise/workspace/configs/ship-wise/ship-wise-s.yaml diff --git a/community/cv/ShipWise/mindyolo/models/__init__.py b/community/cv/ShipWise/mindyolo/models/__init__.py index b6eb53fe7..683aaa697 100644 --- a/community/cv/ShipWise/mindyolo/models/__init__.py +++ b/community/cv/ShipWise/mindyolo/models/__init__.py @@ -1,7 +1,10 @@ from . import (heads, initializer, layers, losses, model_factory, yolov3, yolov4, yolov5, yolov7, yolov8) +from . import shipwise + __all__ = [] + __all__.extend(heads.__all__) __all__.extend(layers.__all__) __all__.extend(losses.__all__) @@ -12,6 +15,7 @@ __all__.extend(yolov4.__all__) __all__.extend(yolov3.__all__) __all__.extend(initializer.__all__) __all__.extend(model_factory.__all__) +__all__.extend(shipwise.__all__) # fixme: since yolov7 is used as both the file and function name, we need to import * after __all__ @@ -26,3 +30,4 @@ from .yolov5 import * from .yolov7 import * from .yolov8 import * from .yolox import * +from .shipwise import * diff --git a/community/cv/ShipWise/mindyolo/models/shipwise.py b/community/cv/ShipWise/mindyolo/models/shipwise.py new file mode 100644 index 000000000..23e9e474c --- /dev/null +++ b/community/cv/ShipWise/mindyolo/models/shipwise.py @@ -0,0 +1,104 @@ +import numpy as np + +import mindspore as ms +from mindspore import Tensor, nn + +from mindyolo.models.heads.yolov8_head import YOLOv8Head +from mindyolo.models.model_factory import build_model_from_cfg +from mindyolo.models.registry import register_model + +__all__ = ["ShipWise", "shipwise"] + + +def _cfg(url="", **kwargs): + return {"url": url, **kwargs} + + +default_cfgs = {"shipwise": _cfg(url="")} + + +class SEBlock(nn.Cell): + """Squeeze-and-Excitation Block for channel-wise attention.""" + + def __init__(self, channels, reduction=16): + super(SEBlock, self).__init__() + self.pool = nn.AdaptiveAvgPool2D(1) + self.fc = nn.SequentialCell( + nn.Dense(channels, channels // reduction, has_bias=False), + nn.ReLU(), + nn.Dense(channels // reduction, channels, has_bias=False), + nn.Sigmoid() + ) + + def construct(self, x): + b, c, _, _ = x.shape + y = self.pool(x).view(b, c) + y = self.fc(y).view(b, c, 1, 1) + return x * y + + +class ShipWise(nn.Cell): + def __init__(self, cfg, in_channels=3, num_classes=None, sync_bn=False): + super(ShipWise, self).__init__() + self.cfg = cfg + self.stride = Tensor(np.array(cfg.stride), ms.int32) + self.stride_max = int(max(self.cfg.stride)) + ch, nc = in_channels, num_classes + + self.nc = nc # override yaml value + + # Build the base model + self.model = build_model_from_cfg( + model_cfg=cfg, in_channels=ch, num_classes=nc, sync_bn=sync_bn + ) + + # Insert SEBlock into the model without changing input/output interface + self.insert_se_block() + + self.names = [str(i) for i in range(nc)] # default names + + self.initialize_weights() + + def construct(self, x): + return self.model(x) + + def insert_se_block(self): + """Insert SEBlock into the model's backbone without altering the input/output interface.""" + # Assuming the backbone is a SequentialCell + backbone = self.model.model[0] + if isinstance(backbone, nn.SequentialCell): + # Insert SEBlock after the last layer of the backbone + layers = list(backbone.cells()) + backbone_out_channels = layers[-1].out_channels + se_block = SEBlock(channels=backbone_out_channels) + + # Reconstruct the backbone with SEBlock + new_backbone = nn.SequentialCell(*layers, se_block) + self.model.model[0] = new_backbone + + def initialize_weights(self): + # Initialize the weights of SEBlock if present + backbone = self.model.model[0] + if isinstance(backbone, nn.SequentialCell): + for m in backbone.cells(): + if isinstance(m, SEBlock): + for layer in m.fc.cells(): + if isinstance(layer, nn.Dense): + ms.common.initializer.initializer( + ms.common.initializer.XavierUniform(), layer.weight.shape, layer.weight.dtype + ) + + # Reset parameters for Detect Head + m = self.model.model[-1] + if isinstance(m, YOLOv8Head): + m.initialize_biases() + m.dfl.initialize_conv_weight() + + +@register_model +def shipwise(cfg, in_channels=3, num_classes=None, **kwargs) -> ShipWise: + """Get ShipWise model.""" + model = ShipWise(cfg=cfg, in_channels=in_channels, num_classes=num_classes, **kwargs) + return model + +# TODO: Preset pre-training model for ShipWise diff --git a/community/cv/ShipWise/workspace/configs/dataset/HRSC2016.yaml b/community/cv/ShipWise/workspace/configs/dataset/HRSC2016.yaml new file mode 100644 index 000000000..0be2c0024 --- /dev/null +++ b/community/cv/ShipWise/workspace/configs/dataset/HRSC2016.yaml @@ -0,0 +1,14 @@ +data: + dataset_name: HRSC2016 + + train_set: ./workspace/datasets/HRSC2016/train.txt + val_set: ./workspace/datasets/HRSC2016/val.txt + test_set: ./workspace/datasets/HRSC2016/test.txt + + nc: 28 + + # class names + names: [ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27' ] + + train_transforms: [ ] + test_transforms: [ ] \ No newline at end of file diff --git a/community/cv/ShipWise/workspace/configs/ship-wise/hyp.scratch.high.yaml b/community/cv/ShipWise/workspace/configs/ship-wise/hyp.scratch.high.yaml new file mode 100644 index 000000000..706cb08df --- /dev/null +++ b/community/cv/ShipWise/workspace/configs/ship-wise/hyp.scratch.high.yaml @@ -0,0 +1,67 @@ +optimizer: + optimizer: momentum + lr_init: 0.01 # initial learning rate (SGD=1E-2, Adam=1E-3) + momentum: 0.937 # SGD momentum/Adam beta1 + nesterov: True # update gradients with NAG(Nesterov Accelerated Gradient) algorithm + loss_scale: 1.0 # loss scale for optimizer + warmup_epochs: 3 # warmup epochs (fractions ok) + warmup_momentum: 0.8 # warmup initial momentum + warmup_bias_lr: 0.1 # warmup initial bias lr + min_warmup_step: 1000 # minimum warmup step + group_param: yolov8 # group param strategy + gp_weight_decay: 0.0005 # group param weight decay 5e-4 + start_factor: 1.0 + end_factor: 0.01 + +loss: + name: YOLOv8Loss + box: 7.5 # box loss gain + cls: 0.5 # cls loss gain + dfl: 1.5 # dfl loss gain + reg_max: 16 + +data: + num_parallel_workers: 1 + + # multi-stage data augment + train_transforms: { + stage_epochs: [ 490, 10 ], + trans_list: [ + [ + { func_name: mosaic, prob: 1.0 }, + { func_name: copy_paste, prob: 0.3 }, + {func_name: resample_segments}, + { func_name: random_perspective, prob: 1.0, degrees: 0.0, translate: 0.1, scale: 0.9, shear: 0.0 }, + { func_name: mixup, alpha: 32.0, beta: 32.0, prob: 0.15, pre_transform: [ + { func_name: mosaic, prob: 1.0 }, + { func_name: copy_paste, prob: 0.3 }, + { func_name: resample_segments }, + { func_name: random_perspective, prob: 1.0, degrees: 0.0, translate: 0.1, scale: 0.9, shear: 0.0 }, ] + }, + {func_name: albumentations}, + {func_name: hsv_augment, prob: 1.0, hgain: 0.015, sgain: 0.7, vgain: 0.4}, + {func_name: fliplr, prob: 0.5}, + {func_name: label_norm, xyxy2xywh_: True}, + {func_name: label_pad, padding_size: 160, padding_value: -1}, + {func_name: image_norm, scale: 255.}, + {func_name: image_transpose, bgr2rgb: True, hwc2chw: True} + ], + [ + {func_name: letterbox, scaleup: True}, + {func_name: resample_segments}, + {func_name: random_perspective, prob: 1.0, degrees: 0.0, translate: 0.1, scale: 0.9, shear: 0.0}, + {func_name: albumentations}, + {func_name: hsv_augment, prob: 1.0, hgain: 0.015, sgain: 0.7, vgain: 0.4}, + {func_name: fliplr, prob: 0.5}, + {func_name: label_norm, xyxy2xywh_: True}, + {func_name: label_pad, padding_size: 160, padding_value: -1}, + {func_name: image_norm, scale: 255.}, + {func_name: image_transpose, bgr2rgb: True, hwc2chw: True} + ]] + } + + test_transforms: [ + {func_name: letterbox, scaleup: False, only_image: True}, + {func_name: image_norm, scale: 255.}, + {func_name: image_transpose, bgr2rgb: True, hwc2chw: True} + ] diff --git a/community/cv/ShipWise/workspace/configs/ship-wise/hyp.scratch.low.yaml b/community/cv/ShipWise/workspace/configs/ship-wise/hyp.scratch.low.yaml new file mode 100644 index 000000000..c3a82698f --- /dev/null +++ b/community/cv/ShipWise/workspace/configs/ship-wise/hyp.scratch.low.yaml @@ -0,0 +1,62 @@ + + +optimizer: + optimizer: momentum + lr_init: 0.01 # initial learning rate (SGD=1E-2, Adam=1E-3) + momentum: 0.937 # SGD momentum/Adam beta1 + nesterov: True # update gradients with NAG(Nesterov Accelerated Gradient) algorithm + loss_scale: 1.0 # loss scale for optimizer + warmup_epochs: 3 # warmup epochs (fractions ok) + warmup_momentum: 0.8 # warmup initial momentum + warmup_bias_lr: 0.1 # warmup initial bias lr + min_warmup_step: 1000 # minimum warmup step + group_param: yolov8 # group param strategy + gp_weight_decay: 0.0005 # group param weight decay 5e-4 + start_factor: 1.0 + end_factor: 0.01 + +loss: + name: YOLOv8Loss + box: 7.5 # box loss gain + cls: 0.5 # cls loss gain + dfl: 1.5 # dfl loss gain + reg_max: 16 + +data: + num_parallel_workers: 1 + + # multi-stage data augment + train_transforms: { + stage_epochs: [ 490, 10 ], + trans_list: [ + [ + { func_name: mosaic, prob: 1.0 }, + { func_name: resample_segments }, + { func_name: random_perspective, prob: 1.0, degrees: 0.0, translate: 0.1, scale: 0.5, shear: 0.0 }, + {func_name: albumentations}, + {func_name: hsv_augment, prob: 1.0, hgain: 0.015, sgain: 0.7, vgain: 0.4}, + {func_name: fliplr, prob: 0.5}, + {func_name: label_norm, xyxy2xywh_: True}, + {func_name: label_pad, padding_size: 160, padding_value: -1}, + {func_name: image_norm, scale: 255.}, + {func_name: image_transpose, bgr2rgb: True, hwc2chw: True} + ], + [ + {func_name: letterbox, scaleup: True}, + {func_name: resample_segments}, + {func_name: random_perspective, prob: 1.0, degrees: 0.0, translate: 0.1, scale: 0.5, shear: 0.0}, + {func_name: albumentations}, + {func_name: hsv_augment, prob: 1.0, hgain: 0.015, sgain: 0.7, vgain: 0.4}, + {func_name: fliplr, prob: 0.5}, + {func_name: label_norm, xyxy2xywh_: True}, + {func_name: label_pad, padding_size: 160, padding_value: -1}, + {func_name: image_norm, scale: 255.}, + {func_name: image_transpose, bgr2rgb: True, hwc2chw: True} + ]] + } + + test_transforms: [ + {func_name: letterbox, scaleup: False, only_image: True}, + {func_name: image_norm, scale: 255.}, + {func_name: image_transpose, bgr2rgb: True, hwc2chw: True} + ] diff --git a/community/cv/ShipWise/workspace/configs/ship-wise/ship-wise-base.yaml b/community/cv/ShipWise/workspace/configs/ship-wise/ship-wise-base.yaml new file mode 100644 index 000000000..5738013ce --- /dev/null +++ b/community/cv/ShipWise/workspace/configs/ship-wise/ship-wise-base.yaml @@ -0,0 +1,45 @@ +epochs: 500 +per_batch_size: 2 +img_size: 640 +iou_thres: 0.7 +conf_free: True +sync_bn: True +opencv_threads_num: 0 + +network: + model_name: shipwise + nc: 28 + reg_max: 16 + + stride: [ 8, 16, 32 ] + + backbone: + - [ -1, 1, ConvNormAct, [ 64, 3, 2 ] ] + - [ -1, 1, ConvNormAct, [ 128, 3, 2 ] ] + - [ -1, 3, C2f, [ 128, True ] ] + - [ -1, 1, ConvNormAct, [ 256, 3, 2 ] ] + - [ -1, 6, C2f, [ 256, True ] ] + - [ -1, 1, ConvNormAct, [ 512, 3, 2 ] ] + - [ -1, 6, C2f, [ 512, True ] ] + - [ -1, 1, ConvNormAct, [ 1024, 3, 2 ] ] + - [ -1, 3, C2f, [ 1024, True ] ] + - [ -1, 1, SPPF, [ 1024, 5 ] ] + + head: + - [ -1, 1, Upsample, [ None, 2, 'nearest' ] ] + - [ [ -1, 6 ], 1, Concat, [ 1 ] ] + - [ -1, 3, C2f, [ 512 ] ] + + - [ -1, 1, Upsample, [ None, 2, 'nearest' ] ] + - [ [ -1, 4 ], 1, Concat, [ 1 ] ] + - [ -1, 3, C2f, [ 256 ] ] + + - [ -1, 1, ConvNormAct, [ 256, 3, 2 ] ] + - [ [ -1, 12 ], 1, Concat, [ 1 ] ] + - [ -1, 3, C2f, [ 512 ] ] + + - [ -1, 1, ConvNormAct, [ 512, 3, 2 ] ] + - [ [ -1, 9 ], 1, Concat, [ 1 ] ] + - [ -1, 3, C2f, [ 1024 ] ] + + - [ [ 15, 18, 21 ], 1, YOLOv8Head, [ nc, reg_max, stride ] ] diff --git a/community/cv/ShipWise/workspace/configs/ship-wise/ship-wise-l.yaml b/community/cv/ShipWise/workspace/configs/ship-wise/ship-wise-l.yaml new file mode 100644 index 000000000..3481f481d --- /dev/null +++ b/community/cv/ShipWise/workspace/configs/ship-wise/ship-wise-l.yaml @@ -0,0 +1,11 @@ +__BASE__: [ + '../dataset/HRSC2016.yaml', + './hyp.scratch.high.yaml', + './ship-wise-base.yaml' +] + +overflow_still_update: False +network: + depth_multiple: 1.00 # scales module repeats + width_multiple: 1.00 # scales convolution channels + max_channels: 512 diff --git a/community/cv/ShipWise/workspace/configs/ship-wise/ship-wise-s.yaml b/community/cv/ShipWise/workspace/configs/ship-wise/ship-wise-s.yaml new file mode 100644 index 000000000..79a63d144 --- /dev/null +++ b/community/cv/ShipWise/workspace/configs/ship-wise/ship-wise-s.yaml @@ -0,0 +1,11 @@ +__BASE__: [ + '../dataset/HRSC2016.yaml', + './hyp.scratch.low.yaml', + './ship-wise-base.yaml' +] + +overflow_still_update: False +network: + depth_multiple: 0.33 # scales module repeats + width_multiple: 0.50 # scales convolution channels + max_channels: 1024 -- Gitee