Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
MMCV
Commits
521d0b0e
Unverified
Commit
521d0b0e
authored
Jul 19, 2022
by
Zaida Zhou
Committed by
GitHub
Jul 19, 2022
Browse files
[Fix] Fix error in version.py (#2133)
parent
50485f22
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
20 additions
and
23 deletions
+20
-23
docs/zh_cn/understand_mmcv/data_transform.md
docs/zh_cn/understand_mmcv/data_transform.md
+17
-20
mmcv/transforms/processing.py
mmcv/transforms/processing.py
+2
-2
mmcv/version.py
mmcv/version.py
+1
-1
No files found.
docs/zh_cn/understand_mmcv/data_transform.md
View file @
521d0b0e
...
@@ -71,36 +71,35 @@ dataset = dict(
...
@@ -71,36 +71,35 @@ dataset = dict(
为了支持大规模数据集的加载,通常在
`Dataset`
初始化时不加载数据,只加载相应的路径。因此需要在数据流水线中进行具体数据的加载。
为了支持大规模数据集的加载,通常在
`Dataset`
初始化时不加载数据,只加载相应的路径。因此需要在数据流水线中进行具体数据的加载。
|
class
|
功能
|
|
class
|
功能
|
| :-------------------------
--
: | :---------------------------------------: |
| :-------------------------: | :---------------------------------------: |
|
[
`LoadImageFromFile`
](
TODO
)
| 根据路径加载图像
|
|
[
`LoadImageFromFile`
](
TODO
)
|
根据路径加载图像
|
|
[
`LoadAnnotations`
](
TODO
)
| 加载和组织标注信息,如 bbox、语义分割图等 |
|
[
`LoadAnnotations`
](
TODO
)
| 加载和组织标注信息,如 bbox、语义分割图等 |
### 数据预处理及增强
### 数据预处理及增强
数据预处理和增强通常是对图像本身进行变换,如裁剪、填充、缩放等。
数据预处理和增强通常是对图像本身进行变换,如裁剪、填充、缩放等。
|
class
|
功能
|
|
class
|
功能
|
| :------------------------------: | :--------------------------------: |
| :------------------------------: | :--------------------------------: |
|
[
`Pad`
](
TODO
)
|
填充图像边缘
|
|
[
`Pad`
](
TODO
)
|
填充图像边缘 |
|
[
`CenterCrop`
](
TODO
)
| 居中裁剪
|
|
[
`CenterCrop`
](
TODO
)
|
居中裁剪
|
|
[
`Normalize`
](
TODO
)
|
对图像进行归一化
|
|
[
`Normalize`
](
TODO
)
|
对图像进行归一化 |
|
[
`Resize`
](
TODO
)
|
按照指定尺寸或比例缩放图像
|
|
[
`Resize`
](
TODO
)
|
按照指定尺寸或比例缩放图像 |
|
[
`RandomResize`
](
TODO
)
|
缩放图像至指定范围的随机尺寸
|
|
[
`RandomResize`
](
TODO
)
|
缩放图像至指定范围的随机尺寸 |
|
[
`RandomMultiscaleResize`
](
TODO
)
| 缩放图像至多个尺寸中的随机一个尺寸 |
|
[
`RandomMultiscaleResize`
](
TODO
)
| 缩放图像至多个尺寸中的随机一个尺寸 |
|
[
`RandomGrayscale`
](
TODO
)
| 随机灰度化
|
|
[
`RandomGrayscale`
](
TODO
)
|
随机灰度化
|
|
[
`RandomFlip`
](
TODO
)
| 图像随机翻转
|
|
[
`RandomFlip`
](
TODO
)
|
图像随机翻转
|
|
[
`MultiScaleFlipAug`
](
TODO
)
|
支持缩放和翻转的测试时数据增强
|
|
[
`MultiScaleFlipAug`
](
TODO
)
|
支持缩放和翻转的测试时数据增强 |
### 数据格式化
### 数据格式化
数据格式化操作通常是对数据进行的类型转换。
数据格式化操作通常是对数据进行的类型转换。
| class | 功能 |
| class | 功能 |
| :---------------------------: | :--------------------------------: |
| :---------------------: | :-------------------------------: |
|
[
`ToTensor`
](
TODO
)
| 将指定的数据转换为
`torch.Tensor`
|
|
[
`ToTensor`
](
TODO
)
| 将指定的数据转换为
`torch.Tensor`
|
|
[
`ImageToTensor`
](
TODO
)
| 将图像转换为
`torch.Tensor`
|
|
[
`ImageToTensor`
](
TODO
)
| 将图像转换为
`torch.Tensor`
|
## 自定义数据变换类
## 自定义数据变换类
...
@@ -262,7 +261,6 @@ pipeline = [
...
@@ -262,7 +261,6 @@ pipeline = [
]
]
```
```
2.
应用于一个字段的一组目标
2.
应用于一个字段的一组目标
假设我们需要将数据变换应用于
`"images"`
字段,该字段为一个图像组成的 list。
假设我们需要将数据变换应用于
`"images"`
字段,该字段为一个图像组成的 list。
...
@@ -283,7 +281,6 @@ pipeline = [
...
@@ -283,7 +281,6 @@ pipeline = [
]
]
```
```
#### 装饰器 `cache_randomness`
#### 装饰器 `cache_randomness`
在
`TransformBroadcaster`
中,我们提供了
`share_random_params`
选项来支持在多次数据变换中共享随机状态。例如,在超分辨率任务中,我们希望将随机变换
**同步**
作用于低分辨率图像和原始图像。如果我们希望在自定义的数据变换类中使用这一功能,需要在类中标注哪些随机变量是支持共享的。这可以通过装饰器
`cache_randomness`
来实现。
在
`TransformBroadcaster`
中,我们提供了
`share_random_params`
选项来支持在多次数据变换中共享随机状态。例如,在超分辨率任务中,我们希望将随机变换
**同步**
作用于低分辨率图像和原始图像。如果我们希望在自定义的数据变换类中使用这一功能,需要在类中标注哪些随机变量是支持共享的。这可以通过装饰器
`cache_randomness`
来实现。
...
...
mmcv/transforms/processing.py
View file @
521d0b0e
...
@@ -369,7 +369,7 @@ class Pad(BaseTransform):
...
@@ -369,7 +369,7 @@ class Pad(BaseTransform):
elif
self
.
size
is
not
None
:
elif
self
.
size
is
not
None
:
size
=
self
.
size
[::
-
1
]
size
=
self
.
size
[::
-
1
]
if
isinstance
(
pad_val
,
int
)
and
results
[
'img'
].
ndim
==
3
:
if
isinstance
(
pad_val
,
int
)
and
results
[
'img'
].
ndim
==
3
:
pad_val
=
tuple
(
[
pad_val
for
_
in
range
(
results
[
'img'
].
shape
[
2
])
]
)
pad_val
=
tuple
(
pad_val
for
_
in
range
(
results
[
'img'
].
shape
[
2
]))
padded_img
=
mmcv
.
impad
(
padded_img
=
mmcv
.
impad
(
results
[
'img'
],
results
[
'img'
],
shape
=
size
,
shape
=
size
,
...
@@ -389,7 +389,7 @@ class Pad(BaseTransform):
...
@@ -389,7 +389,7 @@ class Pad(BaseTransform):
pad_val
=
self
.
pad_val
.
get
(
'seg'
,
255
)
pad_val
=
self
.
pad_val
.
get
(
'seg'
,
255
)
if
isinstance
(
pad_val
,
int
)
and
results
[
'gt_seg_map'
].
ndim
==
3
:
if
isinstance
(
pad_val
,
int
)
and
results
[
'gt_seg_map'
].
ndim
==
3
:
pad_val
=
tuple
(
pad_val
=
tuple
(
[
pad_val
for
_
in
range
(
results
[
'gt_seg_map'
].
shape
[
2
])
]
)
pad_val
for
_
in
range
(
results
[
'gt_seg_map'
].
shape
[
2
]))
results
[
'gt_seg_map'
]
=
mmcv
.
impad
(
results
[
'gt_seg_map'
]
=
mmcv
.
impad
(
results
[
'gt_seg_map'
],
results
[
'gt_seg_map'
],
shape
=
results
[
'pad_shape'
][:
2
],
shape
=
results
[
'pad_shape'
][:
2
],
...
...
mmcv/version.py
View file @
521d0b0e
...
@@ -30,6 +30,6 @@ def parse_version_info(version_str: str, length: int = 4) -> tuple:
...
@@ -30,6 +30,6 @@ def parse_version_info(version_str: str, length: int = 4) -> tuple:
return
tuple
(
release
)
return
tuple
(
release
)
version_info
=
tuple
(
int
(
x
)
for
x
in
__version__
.
split
(
'.'
)[:
3
]
)
version_info
=
parse_version_info
(
__version__
)
__all__
=
[
'__version__'
,
'version_info'
,
'parse_version_info'
]
__all__
=
[
'__version__'
,
'version_info'
,
'parse_version_info'
]
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment