Commit Graph

441 Commits (f6fd6c212f129035afadf5d577561c8498afd5e9)

Author SHA1 Message Date
Jingwei Zhang 86f9dc7a40 [Enhance] Support different border modes in imrotate (#2141)
* support different border_mode in imrotate

* fix docstring

* small fix

* reorder the border_mode arg in imrotate

* fix lint

* polish docstring

* polish docstring
2022-08-18 19:20:57 +08:00
Zaida Zhou 0fe1c64744
Remove fileio from mmcv and use mmengine.fileio instead (#2179) 2022-08-16 13:37:19 +08:00
Zaida Zhou 0b4285d959
Pick commits from master (#2164)
* [Docs] Add swith_language.md in docs (#2160)

* [Fix] Fix onnx unit tests (#2155)

* [Docs] Limit extension versions (#2144)

* Support PrRoIPool operation

* Add MPS bbox overlap

* Add .pre-commit-config-zh-cn.yaml (#2135)

Co-authored-by: xcnick <xcnick0412@gmail.com>
Co-authored-by: Jingwei Zhang <zjw18@mails.tsinghua.edu.cn>
Co-authored-by: q.yao <yaoqian@sensetime.com>
2022-08-03 14:11:53 +08:00
Yixiao Fang e5c2cab583 [Refactor] Add pillow backend for ColorJitter related functions (#2127)
* add 'backend' for ColorJitter related functions

* add unittest

* fix unittest

* add bgr transpose and revise ut

* update unittest

* revise docstring
2022-07-19 19:18:16 +08:00
plyfager 1a57a76be5 complete repr functions 2022-07-19 19:18:16 +08:00
liukuikun f90567a091 [Fix] LoadImageFromFile 2022-07-19 19:18:16 +08:00
huanghaian 864942be2f fix resize error 2022-07-19 19:18:16 +08:00
Ma Zerun a1fb002269 [Refactor] Use `resize_type` instead of `resize_cfg` in `RandomResize` and `RandomChoiceResize`. 2022-07-19 19:18:16 +08:00
YuanLiuuuuuu a03774d6db [Refactor]: Grascale return uint8 type 2022-07-19 19:18:16 +08:00
YuanLiuuuuuu 5867a97a41 [Fix]: Fix random resize 2022-07-19 19:18:16 +08:00
liyining 59eaefebe0 [Feature] Support partial mapping by manually marking keys as ignored 2022-07-19 19:18:16 +08:00
gongtao.vendor 3b494a1304 Support broadcasting all keys for TransformBroadcaster 2022-07-19 19:18:16 +08:00
liukuikun 88f3cc3f35 replace height, width with img_shape 2022-07-19 19:18:16 +08:00
liukuikun ab0aa4ef86 load type (#1921) 2022-07-19 19:18:16 +08:00
Yining Li f59aec8ffb [Feature] Add decorator `avoid_cache_randomness` (#1864)
* add prohibit_cache_randomness

* rename as avoid_cache_randomness and ensure it is non-inheritable

* fix lint

* update docs
2022-07-19 19:18:16 +08:00
Yifei Yang ea84b67449 update scales and img_shape (#1871) 2022-07-19 19:18:16 +08:00
Yuan Liu 30b3844621 [Fix]: Update img_shape in resize related transform (#1907) 2022-07-19 19:18:16 +08:00
Yining Li ff0dfb74d7 add RandomApply (#1863) 2022-07-19 19:18:16 +08:00
Ma Zerun 428512f88a Rename `LoadAnnotation` to `LoadAnnotations` (#1850) 2022-07-19 19:18:16 +08:00
Yifei Yang b7525fae1e [Fix] Fix typos, init funcs, cacheable method of part3 of data transforms (#1784)
* fix typos and move args into cfg

* update docstring

* fix as comment

* fix lint

* update transforms as discussed before

* linting

* fix as comment

* fix lint

* fix lint and also update according to PackInput

* remove precommit change

* rename cacheable method

Co-authored-by: liukuikun <641417025@qq.com>
2022-07-19 19:18:16 +08:00
liukuikun e7592a70f2 [Fix] fix some typo in transforms (#1831)
* [Fix] fix some typo according to review

* fix comment
2022-07-19 19:18:16 +08:00
Yining Li e2ca0733c6 Refactor base transform (#1830)
* rename cacheable_method to cache_randomness

* refactor transform wrappers and update docs

* fix all_nonexist_keys

* fix lint

* rename transform wrappers
2022-07-19 19:18:16 +08:00
Yuan Liu 0a5b412509 [Feature]: Reformat resize config (#1826)
* [Feature]: Add cache to random func in data transform

* [Fix]: Fix lint

* [Fix]: Fix cache decorate problem

* [Refactor]: Initialize Resize with config

* [Refactor]: Move other resize config into Resize config

* [Fix]: Scale can not be None in RandomResize

* [Fix]: Change semantic seg to gt seg map

* [Fix]: Delete unnecessary assert

* [Fix]: Fix docstring

* [Fix]: Add double quot to Resize in config

* [Fix]: Fix the return type

* [Fix]: Improve docstring

* [Fix]: Specify the order of width and height for ratio range

* [Fix]: Specify resize order

Co-authored-by: Your <you@example.com>
2022-07-19 19:18:16 +08:00
Yifei Yang 2844a11631 [Fix] Fix MultiScaleFlipAug (#1801)
* Fix MultiScaleFlipAug

* fix as comment
2022-07-19 19:18:16 +08:00
Yifei Yang 169f098d82 [Fix] Set keypoints not in the cropped image invisible (#1804)
* set invisiblity

* fix as comment
2022-07-19 19:18:16 +08:00
Yining Li 6534efd6ca [Fix] Add @cacheable_method in transform wrapper `RandomChoice` (#1807)
* add @cacheable_methd in RandomChoice

* RandomChoice add __iter__() and fix unittest
2022-07-19 19:18:16 +08:00
Yifei Yang 2f85d78149 [Enhancement] Enhance CenterCrop (#1765)
* enhance centercrop and adjust crop size to (w, h)

* fix comments

* update required keys and docstring
2022-07-19 19:18:16 +08:00
Yifei Yang 2619aa9c8e [Feature] Add Part3 of data transform (#1735)
* update data transform part3

* update init

* rename flip funcs

* fix comments

* update comments

* fix lint

* Update mmcv/transforms/processing.py

* fix docs format

* fix comments

* add test pad_val and fix bugs in class Pad

* merge updated pad

* fix lint

* Update tests/test_transforms/test_transforms_processing.py
2022-07-19 19:18:16 +08:00
liukuikun 5af6c12b81 [Fix] Pad boader fix (#1757)
* [Fix] expand pad_val'dim to be same with image

* fix comment
2022-07-19 19:18:16 +08:00
Yuan Liu 53070ebccf [Feature]: Add Part2 of data transform (#1730)
* [Refactor]: New commit of Part2 of data transform

* [Fix]: Fix lint

* [Fix]: Change flip reisze to prefix

* [Refactor]: Delete redundant code in ToTensor

* [Fix]:optional

* [Fix]: Change the discription of RandomFlip

* [Refactor]: Change flip_with_flip_direction to flip_on_direction

Co-authored-by: Your <you@example.com>
2022-07-19 19:18:16 +08:00
liukuikun 9e4b2ff58e [Feature] Add Part1 of data transform (#1736)
* [Feature] Add Part1 of data transform

* api.rst transform->transforms

* fix typo

* fix typo

* rename test_processing into test_transforms_processing for avoiding same name

* fix mypy

* fix comment

* fix comment
2022-07-19 19:18:15 +08:00
Yining Li d00b0cec74 [Feature] Add base transform interface (#1538)
* Support deepcopy for Config (#1658)

* Support deepcopy for Config

* Iterate the `__dict__` of Config directly.

* Use __new__ to avoid unnecessary initialization.

* Improve according to comments

* [Feature] Add spconv ops from mmdet3d (#1581)

* add ops (spconv) of mmdet3d

* fix typo

* refactor code

* resolve comments in #1452

* fix compile error

* fix bugs

* fix bug

* transform from 'types.h' to 'extension.h'

* fix bug

* transform from 'types.h' to 'extension.h' in parrots

* add extension.h in pybind.cpp

* add unittest

* Recover code

* (1) Remove prettyprint.h
(2) Switch `T` to `scalar_t`
(3) Remove useless lines
(4) Refine example in docstring of sparse_modules.py

* (1) rename from `cu.h` to `cuh`
(2) remove useless files
(3) move cpu files to `pytorch/cpu`

* reorganize files

* Add docstring for sparse_functional.py

* use dispatcher

* remove template

* use dispatch in cuda ops

* resolve Segmentation fault

* remove useless files

* fix lint

* fix lint

* fix lint

* fix unittest in test_build_layers.py

* add tensorview into include_dirs when compiling

* recover all deleted files

* fix lint and comments

* recover setup.py

* replace tv::GPU as tv::TorchGPU & support device guard

* fix lint

Co-authored-by: hdc <hudingchang.vendor@sensetime.com>
Co-authored-by: grimoire <yaoqian@sensetime.com>

* Imporve the docstring of imfrombytes and fix a deprecation-warning (#1731)

* [Refactor] Refactor the interface for RoIAlignRotated (#1662)

* fix interface for RoIAlignRotated

* Add a unit test for RoIAlignRotated

* Make a unit test for RoIAlignRotated concise

* fix interface for RoIAlignRotated

* Refactor ext_module.nms_rotated

* Lint cpp files

* add transforms

* add invoking time check for cacheable methods

* fix lint

* add unittest

* fix bug in non-strict input mapping

* fix ci

* fix ci

* fix compatibility with python<3.9

* fix typing compatibility

* fix import

* fix typing

* add alternative for nullcontext

* fix import

* fix import

* add docstrings

* add docstrings

* fix callable check

* resolve comments

* fix lint

* enrich unittest cases

* fix lint

* fix unittest

Co-authored-by: Ma Zerun <mzr1996@163.com>
Co-authored-by: Wenhao Wu <79644370+wHao-Wu@users.noreply.github.com>
Co-authored-by: hdc <hudingchang.vendor@sensetime.com>
Co-authored-by: grimoire <yaoqian@sensetime.com>
Co-authored-by: Jiazhen Wang <47851024+teamwong111@users.noreply.github.com>
Co-authored-by: Hakjin Lee <nijkah@gmail.com>
2022-07-19 19:18:15 +08:00
Zaida Zhou 6a03918f55
[Feature] Add support for mps (#2092)
* [Feature] Add support for MPS

* fix import error

* update ut

* fix error

* trigger CI

* use a unique basename for test file modules

* avoid bc-breaking
2022-07-07 16:05:49 +08:00
Mashiro 14c3e175fa
[Fix] num_channels can not be divisible by num_groups in test_build_norm_layer (#2085) 2022-06-30 19:28:34 +08:00
Mashiro c03bba0008
Add missing json file for testing torchvision0.13 (#2084) 2022-06-30 19:12:11 +08:00
zhouchenyang 2708fac6c5
[Feature] Support RoiPool with Cambricon MLU backend (#2073)
* [Feature] Support RoiPool with cambricon MLU backend

* [Docs] Update ops.md
2022-06-29 11:24:00 +08:00
Philipp Allgeuer f5425ab761
Add torch_meshgrid wrapper due to PyTorch change (#2044)
* Add torch_meshgrid_ij wrapper due to PyTorch change

* Update torch_meshgrid name/doc/version implementation

* Make imports local

* add ut

* ignore ut when torch is not available

Co-authored-by: zhouzaida <zhouzaida@163.com>
2022-06-15 20:36:48 +08:00
Yanyi Liu 9807c2d268
[Fix] Fix batched_nms for rotated box and add type hints for nms.py (#2006)
* Fix batched_nms for rotated box.
Add type hint for nms.py

* Add test

* doc string

* revert symbolic hint

* fix max_coordinate

* add comment

* rename type

* fix typo docstring
2022-06-10 19:49:07 +08:00
Danila Rukhovich 15495ea0a7
[Fix] make iou3d.boxes_iou3d actually calculate 3D IoU (#2018)
* fix iou3d

* rename variables in test

* fix comments
2022-06-09 21:08:32 +08:00
Yue Zhou 834d5978df
[Feature] Add ChamferDistance op in gpu (#1933)
* update

* fix lint

* fix lint

* Update mmcv/ops/chamfer_distance.py

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>

* Update chamfer_distance.py

* Update test_chamfer_distance.py

* fix

* Update chamfer_distance_cuda_kernel.cuh

* Update chamfer_distance_cuda_kernel.cuh

* fix

* Update mmcv/ops/chamfer_distance.py

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>

* Update chamfer_distance.py

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>
2022-06-08 18:12:57 +08:00
zhouchenyang 5601427bbc
[Feature] Support PSAMask with cambricon MLU backend (#2024)
* [Feature] Support Psamask with cambricon MLU backend

* [Fix] refine the format according to lint check

* Replace std:max/min with conditional operators

* [Fix] Format head files
2022-06-08 16:13:13 +08:00
zhouchenyang fb5062ca00
[Feature] Support RoiAlignRotated with cambricon MLU backend (#2033)
* [Feature] Support RoiAlignRotated with cambricon MLU backend

* [Fix] Remove std lib in mlu files

* [Fix] replace std::min/max with conditional operators
2022-06-08 14:13:28 +08:00
Zaida Zhou d0dc7577b8
Transfer test data to aliyun (#2004) 2022-05-27 14:54:08 +08:00
Zaida Zhou 05bdd1624f
Fix lint (#1984) 2022-05-25 20:45:31 +08:00
Wencheng Wu cb781ae4ba
[Fix] Fix the problem that the instance cannot reuse when overwriting the file client. (#1747)
* [Fix] Fix the problem that the instance cannot reuse when overwriting the file client.

* Remove _overridden_backends and _overridden_prefixes, and pop the old instance when overwriting the file client.

* add unittest

* fix prefix error

* modify clear_backend to overridden_backend

* Delete redundant comments.
2022-05-25 19:34:15 +08:00
whcao c90f2be0be
[Fix] Fix is_module_wrapper (#1900)
* fix is_module_wrapper

* test is_module_wrapper

* fix code style
2022-05-25 17:32:41 +08:00
Danila Rukhovich e9f48a4f8e
[Enhance] Replace BEV IoU with 3D IoU (#1902)
* add iou3d

* revert deprecated python function

* fix lint

* replace 3d iou/nms calls for bev iou/nms
2022-05-25 17:05:50 +08:00
del-zhenwu 7e6f462495
[Fix] Skip CPU test in test_rotated_feature_align.py for parrots (#1968)
* skip test_rotated_feature_align.py for parrots

Signed-off-by: del-zhenwu <dele.zhenwu@gmail.com>

* fix lint

Co-authored-by: zhouzaida <zhouzaida@163.com>
2022-05-20 17:04:58 +08:00
JarvisKevin 60eadb0665
[Enhancement] Lower the restrictions of _resize method in BaseMergeCell (#1959)
* Fix the bug met in using nasfpn

Fix the bug met in using nasfpn which is mentioned at https://github.com/open-mmlab/mmdetection/issues/5987.
Avoid the strong restrictions of _resize function in BaseMergeCell:
1. When Downsampling the feature map, the feature map's shape must be divisible by the target size. We pad zero around feature map before max_pool2d opt to make it always divisible. (line 102 ~ 107)
2. Considering the different downsampling scale of H and W, shape[-2] and shape[-1] are involed in the definition of kernel_size. (line 110)

* Update merge_cells.py

check flake8 & isort

* Update merge_cells.py

* Update merge_cells.py

yapf

* Update mmcv/ops/merge_cells.py

X_pad rename to padding_x

Co-authored-by: Mashiro <57566630+HAOCHENYE@users.noreply.github.com>

* Update merge_cells.py

format the code style after renameing the X_pad to padding_x

* Update test_merge_cells.py

Mainly test the downsampling resize in BaseMergeCell. The smaller target size is set to (14, 7), the classical feature map's size in the last few stages of the backbone, which will product different downsampling scales in different dims.

* Update test_merge_cells.py

add "# Copyright (c) OpenMMLab. All rights reserved."

* Update merge_cells.py

format the variable name

* Update test_merge_cells.py

Testing divisible and indivisible situations simultaneously

* Update mmcv/ops/merge_cells.py

fix the bug when h is indivisible and w is divisible, the pad_w will be padded unreasonable.

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>

* Update mmcv/ops/merge_cells.py

fix the bug when w is indivisible and h is divisible, the pad_h will be padded unreasonable.

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>

* fix undefined error

* Update merge_cells.py

make pad_h, pad_w more readable

* Update test_merge_cells.py

use @pytest.mark.parametrize instead of 'for' methor

* Update merge_cells.py

* Update test_merge_cells.py

isort

* Update merge_cells.py

isort

Co-authored-by: Mashiro <57566630+HAOCHENYE@users.noreply.github.com>
Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>
2022-05-20 15:13:13 +08:00
Zaida Zhou 45fa3e44a2
Add pyupgrade pre-commit hook (#1937)
* add pyupgrade

* add options for pyupgrade

* minor refinement
2022-05-18 11:47:14 +08:00