diff --git a/CHANGELOG.md b/CHANGELOG.md index cfbed5b2df..45c1096ed4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. +## \[2.2.2\] + +### Bug fixes + +- BC improvement + () + ## \[2.2.1\] ### Bug fixes diff --git a/docs/source/guide/release_notes/index.rst b/docs/source/guide/release_notes/index.rst index 182d908ec3..6a826256dc 100644 --- a/docs/source/guide/release_notes/index.rst +++ b/docs/source/guide/release_notes/index.rst @@ -4,6 +4,17 @@ Releases .. toctree:: :maxdepth: 1 +v2.2.2 (2024.12) +---------------- + +Enhancements +^^^^^^^^^^^^ + +Bug fixes +^^^^^^^^^ + +- BC improvement + v2.2.1 (2024.12) ---------------- diff --git a/src/otx/__init__.py b/src/otx/__init__.py index a52507dcfd..d241ccd04b 100644 --- a/src/otx/__init__.py +++ b/src/otx/__init__.py @@ -3,7 +3,7 @@ # Copyright (C) 2024 Intel Corporation # SPDX-License-Identifier: Apache-2.0 -__version__ = "2.2.1" +__version__ = "2.2.2" import os from pathlib import Path diff --git a/src/otx/core/data/dataset/tile.py b/src/otx/core/data/dataset/tile.py index b94931487d..97ff44b913 100644 --- a/src/otx/core/data/dataset/tile.py +++ b/src/otx/core/data/dataset/tile.py @@ -263,6 +263,7 @@ def __init__(self, dataset: OTXDataset, tile_config: TileConfig) -> None: dataset.image_color_channel, dataset.stack_images, dataset.to_tv_image, + data_format=dataset.data_format, ) self.tile_config = tile_config self._dataset = dataset diff --git a/src/otx/core/model/base.py b/src/otx/core/model/base.py index d4176fd0cb..d65e420b90 100644 --- a/src/otx/core/model/base.py +++ b/src/otx/core/model/base.py @@ -391,6 +391,11 @@ def load_state_dict_incrementally(self, ckpt: dict[str, Any], *args, **kwargs) - msg = "Checkpoint should have `label_info`." raise ValueError(msg, ckpt_label_info) + if not hasattr(ckpt_label_info, "label_ids"): + msg = "Loading checkpoint from OTX < 2.2.1, label_ids are assigned automatically" + logger.info(msg) + ckpt_label_info.label_ids = [str(i) for i, _ in enumerate(ckpt_label_info.label_names)] + if ckpt_label_info != self.label_info: msg = ( "Load model state dictionary incrementally: " diff --git a/src/otx/core/types/export.py b/src/otx/core/types/export.py index a66541d087..18a48e87e0 100644 --- a/src/otx/core/types/export.py +++ b/src/otx/core/types/export.py @@ -9,6 +9,7 @@ from dataclasses import dataclass, fields from enum import Enum +import otx from otx.core.config.data import TileConfig from otx.core.types.label import HLabelInfo, LabelInfo @@ -122,6 +123,7 @@ def to_metadata(self) -> dict[tuple[str, str], str]: ("model_info", "labels"): all_labels.strip(), ("model_info", "label_ids"): all_label_ids.strip(), ("model_info", "optimization_config"): json.dumps(self.optimization_config), + ("model_info", "otx_version"): otx.__version__, } if isinstance(self.label_info, HLabelInfo): diff --git a/tests/unit/core/types/test_export.py b/tests/unit/core/types/test_export.py index 72add6f3c3..70a4aa1aa2 100644 --- a/tests/unit/core/types/test_export.py +++ b/tests/unit/core/types/test_export.py @@ -52,3 +52,4 @@ def test_wrap(fxt_label_info, task_type): assert ("model_info", "tile_size") in metadata assert ("model_info", "tiles_overlap") in metadata assert ("model_info", "max_pred_number") in metadata + assert ("model_info", "otx_version") in metadata