Skip to content

Commit 7e0131d

Browse files
author
Maxim Zhiltsov
authored
Merge pull request #654 from openvinotoolkit/zm/release-0.3
Release 0.3
2 parents b0fa100 + fd2b332 commit 7e0131d

File tree

196 files changed

+7279
-2186
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

196 files changed

+7279
-2186
lines changed

.github/workflows/github_pages.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
3333
- name: Build docs
3434
run: |
35-
pip install gitpython packaging toml Sphinx==4.2.0 sphinx-rtd-theme==1.0.0
35+
pip install gitpython packaging toml Sphinx==4.2.0 sphinx-rtd-theme==1.0.0 sphinx-copybutton==0.4.0
3636
pip install -r requirements.txt
3737
pip install git+https://github.com/pytorch-ignite/sphinxcontrib-versioning.git@a1a1a94ca80a0233f0df3eaf9876812484901e76
3838
sphinx-versioning -l site/source/conf.py build -r develop -w develop site/source site/static/api

.github/workflows/health_check.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
strategy:
99
fail-fast: false
1010
matrix:
11-
python-version: ['3.6', '3.7', '3.8', '3.9']
11+
python-version: ['3.7', '3.8', '3.9', '3.10']
1212
runs-on: ubuntu-latest
1313
steps:
1414
- uses: actions/checkout@v2
@@ -24,6 +24,6 @@ jobs:
2424
pytest -v --cov --cov-report xml:coverage.xml
2525
datum -h
2626
- name: Sending coverage results
27-
if: matrix.python-version == '3.6'
27+
if: matrix.python-version == '3.7'
2828
run: |
2929
bash <(curl -Ls https://coverage.codacy.com/get.sh) report -r coverage.xml -t ${{ secrets.CODACY_PROJECT_TOKEN }}

.github/workflows/pr_checks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
fail-fast: false
1919
matrix:
2020
os: ['macos-10.15', 'ubuntu-20.04', 'windows-2016']
21-
python-version: ['3.6', '3.7', '3.8', '3.9']
21+
python-version: ['3.7', '3.8', '3.9', '3.10']
2222
name: build and test (${{ matrix.os }}, Python ${{ matrix.python-version }})
2323
runs-on: ${{ matrix.os }}
2424
steps:

3rd-party.txt

Lines changed: 462 additions & 0 deletions
Large diffs are not rendered by default.

CHANGELOG.md

Lines changed: 87 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,91 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

88

9+
## 21/02/2022 - Release v0.3
10+
### Added
11+
- Ability to import a video as frames with the `video_frames` format and
12+
to split a video into frames with the `datum util split_video` command
13+
(<https://github.com/openvinotoolkit/datumaro/pull/555>)
14+
- `--subset` parameter in the `image_dir` format
15+
(<https://github.com/openvinotoolkit/datumaro/pull/555>)
16+
- `MediaManager` API to control loaded media resources at runtime
17+
(<https://github.com/openvinotoolkit/datumaro/pull/555>)
18+
- Command to detect the format of a dataset
19+
(<https://github.com/openvinotoolkit/datumaro/pull/576>)
20+
- More comfortable access to library API via `import datumaro`
21+
(<https://github.com/openvinotoolkit/datumaro/pull/630>)
22+
- CLI command-like free functions (`export`, `transform`, ...)
23+
(<https://github.com/openvinotoolkit/datumaro/pull/630>)
24+
- Reading specific annotation files for train dataset in Cityscapes
25+
(<https://github.com/openvinotoolkit/datumaro/pull/632>)
26+
- Random sampling transforms (`random_sampler`, `label_random_sampler`)
27+
to create smaller datasets from bigger ones
28+
(<https://github.com/openvinotoolkit/datumaro/pull/636>,
29+
<https://github.com/openvinotoolkit/datumaro/pull/640>)
30+
- API to report dataset import and export progress;
31+
API to report dataset import and export errors and take action (skip, fail)
32+
(supported in COCO, VOC and YOLO formats)
33+
(<https://github.com/openvinotoolkit/datumaro/pull/650>)
34+
- Support for downloading the ImageNetV2 and COCO datasets
35+
(<https://github.com/openvinotoolkit/datumaro/pull/653>,
36+
<https://github.com/openvinotoolkit/datumaro/pull/659>)
37+
- A way for formats to signal that they don't support detection
38+
(<https://github.com/openvinotoolkit/datumaro/pull/665>)
39+
- Removal transforms to remove items/annoations/attributes from dataset
40+
(`remove_items`, `remove_annotations`, `remove_attributes`)
41+
(<https://github.com/openvinotoolkit/datumaro/pull/670>)
42+
43+
### Changed
44+
- Allowed direct file paths in `datum import`. Such sources are imported like
45+
when the `rpath` parameter is specified, however, only the selected path
46+
is copied into the project
47+
(<https://github.com/openvinotoolkit/datumaro/pull/555>)
48+
- Improved `stats` performance, added new filtering parameters,
49+
image stats (`unique`, `repeated`) moved to the `dataset` section,
50+
removed `mean` and `std` from the `dataset` section
51+
(<https://github.com/openvinotoolkit/datumaro/pull/621>)
52+
- Allowed `Image` creation from just `size` info
53+
(<https://github.com/openvinotoolkit/datumaro/pull/634>)
54+
- Added image search in VOC XML-based subformats
55+
(<https://github.com/openvinotoolkit/datumaro/pull/634>)
56+
- Added image path equality checks in simple merge, when applicable
57+
(<https://github.com/openvinotoolkit/datumaro/pull/634>)
58+
- Supported saving box attributes when downloading the TFDS version of VOC
59+
(<https://github.com/openvinotoolkit/datumaro/pull/668>)
60+
61+
### Deprecated
62+
- TBD
63+
64+
### Removed
65+
- Official support of Python 3.6 (due to it's EOL)
66+
(<https://github.com/openvinotoolkit/datumaro/pull/617>)
67+
- Backward compatibility annotation symbols in `components.extractor`
68+
(<https://github.com/openvinotoolkit/datumaro/pull/630>)
69+
70+
### Fixed
71+
- Prohibited calling `add`, `import` and `export` commands without a project
72+
(<https://github.com/openvinotoolkit/datumaro/pull/555>)
73+
- Calling `make_dataset` on empty project tree now produces the error properly
74+
(<https://github.com/openvinotoolkit/datumaro/pull/555>)
75+
- Saving (overwriting) a dataset in a project when rpath is used
76+
(<https://github.com/openvinotoolkit/datumaro/pull/613>)
77+
- Output image extension preserving in the `Resize` transform
78+
(<https://github.com/openvinotoolkit/datumaro/issues/606>)
79+
- Memory overuse in the `Resize` transform
80+
(<https://github.com/openvinotoolkit/datumaro/issues/607>)
81+
- Invalid image pixels produced by the `Resize` transform
82+
(<https://github.com/openvinotoolkit/datumaro/issues/618>)
83+
- Numeric warnings that sometimes occurred in `stats` command
84+
(e.g. <https://github.com/openvinotoolkit/datumaro/issues/607>)
85+
(<https://github.com/openvinotoolkit/datumaro/pull/621>)
86+
- Added missing item attribute merging in simple merge
87+
(<https://github.com/openvinotoolkit/datumaro/pull/634>)
88+
- Inability to disambiguate VOC from LabelMe in some cases
89+
(<https://github.com/openvinotoolkit/datumaro/issues/658>)
90+
91+
### Security
92+
- TBD
93+
994
## 28/01/2022 - Release v0.2.3
1095
### Added
1196
- Command to download public datasets
@@ -18,11 +103,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
18103
(<https://github.com/openvinotoolkit/datumaro/pull/585>)
19104

20105
### Changed
106+
- The `pycocotools` dependency lower bound is raised to `2.0.4`.
107+
(<https://github.com/openvinotoolkit/datumaro/pull/449>)
21108
- `smooth_line` from `datumaro.util.annotation_util` - the function
22109
is renamed to `approximate_line` and has updated interface
23110
(<https://github.com/openvinotoolkit/datumaro/pull/592>)
24-
- The `pycocotools` dependency lower bound is raised to `2.0.4`.
25-
(<https://github.com/openvinotoolkit/datumaro/pull/449>)
26111

27112
### Deprecated
28113
- Python 3.6 support

README.md

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,28 +26,22 @@ CVAT annotations ---> Publication, statistics etc.
2626

2727
[(Back to top)](#dataset-management-framework-datumaro)
2828

29-
- Dataset reading, writing, conversion in any direction. [Supported formats](https://openvinotoolkit.github.io/datumaro/docs/user-manual/supported_formats):
30-
- [COCO](http://cocodataset.org/#format-data) (`image_info`, `instances`, `person_keypoints`, `captions`, `labels`, `panoptic`, `stuff`)
31-
- [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/voc2012/htmldoc/index.html) (`classification`, `detection`, `segmentation`, `action_classification`, `person_layout`)
32-
- [YOLO](https://github.com/AlexeyAB/darknet#how-to-train-pascal-voc-data) (`bboxes`)
33-
- [TF Detection API](https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/using_your_own_dataset.md) (`bboxes`, `masks`)
34-
- [WIDER Face](http://shuoyang1213.me/WIDERFACE/) (`bboxes`)
35-
- [VGGFace2](https://github.com/ox-vgg/vgg_face2) (`landmarks`, `bboxes`)
36-
- [MOT sequences](https://arxiv.org/pdf/1906.04567.pdf)
37-
- [MOTS PNG](https://www.vision.rwth-aachen.de/page/mots)
38-
- [ImageNet](http://image-net.org/)
29+
- Dataset reading, writing, conversion in any direction.
3930
- [CIFAR-10/100](https://www.cs.toronto.edu/~kriz/cifar.html) (`classification`)
40-
- [MNIST](http://yann.lecun.com/exdb/mnist/) (`classification`)
41-
- [MNIST in CSV](https://pjreddie.com/projects/mnist-in-csv/) (`classification`)
42-
- [CamVid](http://mi.eng.cam.ac.uk/research/projects/VideoRec/CamVid/)
4331
- [Cityscapes](https://www.cityscapes-dataset.com/)
44-
- [Kitti](http://www.cvlibs.net/datasets/kitti/index.php) (`segmentation`, `detection`, `3D raw` / `velodyne points`)
45-
- [Supervisely](https://docs.supervise.ly/data-organization/00_ann_format_navi) (`point cloud`)
32+
- [COCO](http://cocodataset.org/#format-data) (`image_info`, `instances`, `person_keypoints`, `captions`, `labels`, `panoptic`, `stuff`)
4633
- [CVAT](https://openvinotoolkit.github.io/cvat/docs/manual/advanced/xml_format)
34+
- [ImageNet](http://image-net.org/)
35+
- [Kitti](http://www.cvlibs.net/datasets/kitti/index.php) (`segmentation`, `detection`, `3D raw` / `velodyne points`)
4736
- [LabelMe](http://labelme.csail.mit.edu/Release3.0)
48-
- [ICDAR13/15](https://rrc.cvc.uab.es/?ch=2) (`word_recognition`, `text_localization`, `text_segmentation`)
49-
- [Market-1501](https://www.aitribune.com/dataset/2018051063) (`person re-identification`)
5037
- [LFW](http://vis-www.cs.umass.edu/lfw/) (`classification`, `person re-identification`, `landmarks`)
38+
- [MNIST](http://yann.lecun.com/exdb/mnist/) (`classification`)
39+
- [Open Images](https://storage.googleapis.com/openimages/web/download.html)
40+
- [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/voc2012/htmldoc/index.html) (`classification`, `detection`, `segmentation`, `action_classification`, `person_layout`)
41+
- [TF Detection API](https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/using_your_own_dataset.md) (`bboxes`, `masks`)
42+
- [YOLO](https://github.com/AlexeyAB/darknet#how-to-train-pascal-voc-data) (`bboxes`)
43+
44+
Other formats and documentation for them can be found [here](https://openvinotoolkit.github.io/datumaro/docs/user-manual/supported_formats).
5145
- Dataset building
5246
- Merging multiple datasets into one
5347
- Dataset filtering by a custom criteria:

datumaro/__init__.py

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,37 @@
1-
# Copyright (C) 2019-2020 Intel Corporation
1+
# Copyright (C) 2019-2022 Intel Corporation
22
#
33
# SPDX-License-Identifier: MIT
4+
5+
from . import errors as errors
6+
from . import ops as ops
7+
from . import project as project
8+
from .components.annotation import (
9+
NO_GROUP, Annotation, AnnotationType, Bbox, BinaryMaskImage, Caption,
10+
Categories, Colormap, CompiledMask, CompiledMaskImage, Cuboid3d,
11+
IndexMaskImage, Label, LabelCategories, Mask, MaskCategories, Points,
12+
PointsCategories, Polygon, PolyLine, RgbColor, RleMask,
13+
)
14+
from .components.cli_plugin import CliPlugin
15+
from .components.converter import (
16+
Converter, ExportErrorPolicy, FailingExportErrorPolicy,
17+
)
18+
from .components.dataset import (
19+
Dataset, DatasetPatch, DatasetSubset, IDataset, ItemStatus, eager_mode,
20+
)
21+
from .components.environment import Environment, PluginRegistry
22+
from .components.extractor import (
23+
DEFAULT_SUBSET_NAME, CategoriesInfo, DatasetItem, Extractor,
24+
FailingImportErrorPolicy, IExtractor, Importer, ImportErrorPolicy,
25+
ItemTransform, SourceExtractor, Transform,
26+
)
27+
from .components.hl_ops import ( # pylint: disable=redefined-builtin
28+
export, filter, merge, run_model, transform, validate,
29+
)
30+
from .components.launcher import Launcher, ModelTransform
31+
from .components.media import ByteImage, Image, MediaElement, Video, VideoFrame
32+
from .components.media_manager import MediaManager
33+
from .components.progress_reporting import (
34+
NullProgressReporter, ProgressReporter,
35+
)
36+
from .components.validator import Validator
37+
from .version import VERSION

datumaro/cli/__main__.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (C) 2019-2021 Intel Corporation
1+
# Copyright (C) 2019-2022 Intel Corporation
22
#
33
# SPDX-License-Identifier: MIT
44

@@ -56,17 +56,18 @@ def _make_subcommands_help(commands, help_line_start=0):
5656

5757
def _get_known_contexts():
5858
return [
59+
('model', contexts.model, "Actions with models"),
5960
('project', contexts.project, "Actions with projects"),
6061
('source', contexts.source, "Actions with data sources"),
61-
('model', contexts.model, "Actions with models"),
62+
('util', contexts.util, "Auxillary tools and utilities"),
6263
]
6364

6465
def _get_known_commands():
6566
return [
6667
("Project modification:", None, ''),
68+
('add', commands.add, "Add dataset"),
6769
('create', commands.create, "Create empty project"),
6870
('import', commands.import_, "Import dataset"),
69-
('add', commands.add, "Add dataset"),
7071
('remove', commands.remove, "Remove dataset"),
7172

7273
("", None, ''),
@@ -78,17 +79,19 @@ def _get_known_commands():
7879

7980
("", None, ''),
8081
("Dataset operations:", None, ''),
82+
('convert', commands.convert, "Convert dataset between formats"),
83+
('detect-format', commands.detect_format,
84+
"Detect the format of a dataset"),
85+
('diff', commands.diff, "Compare datasets"),
8186
('download', commands.download, "Download a publicly available dataset"),
87+
('explain', commands.explain, "Run Explainable AI algorithm for model"),
8288
('export', commands.export, "Export dataset in some format"),
8389
('filter', commands.filter, "Filter dataset items"),
84-
('transform', commands.transform, "Modify dataset items"),
90+
('info', commands.info, "Print dataset info"),
8591
('merge', commands.merge, "Merge datasets"),
8692
('patch', commands.patch, "Update dataset from another one"),
87-
('convert', commands.convert, "Convert dataset between formats"),
88-
('diff', commands.diff, "Compare datasets"),
8993
('stats', commands.stats, "Compute dataset statistics"),
90-
('info', commands.info, "Print dataset info"),
91-
('explain', commands.explain, "Run Explainable AI algorithm for model"),
94+
('transform', commands.transform, "Modify dataset items"),
9295
('validate', commands.validate, "Validate dataset")
9396
]
9497

datumaro/cli/commands/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
# Copyright (C) 2019-2021 Intel Corporation
1+
# Copyright (C) 2019-2022 Intel Corporation
22
#
33
# SPDX-License-Identifier: MIT
44

55
# pylint: disable=redefined-builtin
66

77
from . import (
8-
add, checkout, commit, convert, create, diff, download, explain, export,
9-
filter, import_, info, log, merge, patch, remove, stats, status, transform,
10-
validate,
8+
add, checkout, commit, convert, create, detect_format, diff, download,
9+
explain, export, filter, import_, info, log, merge, patch, remove, stats,
10+
status, transform, validate,
1111
)

0 commit comments

Comments
 (0)