Unverified Commit 521d0b0e authored by Zaida Zhou's avatar Zaida Zhou Committed by GitHub
Browse files

[Fix] Fix error in version.py (#2133)

parent 50485f22
...@@ -72,7 +72,7 @@ dataset = dict( ...@@ -72,7 +72,7 @@ dataset = dict(
为了支持大规模数据集的加载,通常在 `Dataset` 初始化时不加载数据,只加载相应的路径。因此需要在数据流水线中进行具体数据的加载。 为了支持大规模数据集的加载,通常在 `Dataset` 初始化时不加载数据,只加载相应的路径。因此需要在数据流水线中进行具体数据的加载。
| class | 功能 | | class | 功能 |
| :---------------------------: | :---------------------------------------: | | :-------------------------: | :---------------------------------------: |
| [`LoadImageFromFile`](TODO) | 根据路径加载图像 | | [`LoadImageFromFile`](TODO) | 根据路径加载图像 |
| [`LoadAnnotations`](TODO) | 加载和组织标注信息,如 bbox、语义分割图等 | | [`LoadAnnotations`](TODO) | 加载和组织标注信息,如 bbox、语义分割图等 |
...@@ -97,11 +97,10 @@ dataset = dict( ...@@ -97,11 +97,10 @@ dataset = dict(
数据格式化操作通常是对数据进行的类型转换。 数据格式化操作通常是对数据进行的类型转换。
| class | 功能 | | class | 功能 |
| :---------------------------: | :--------------------------------: | | :---------------------: | :-------------------------------: |
| [`ToTensor`](TODO) | 将指定的数据转换为 `torch.Tensor` | | [`ToTensor`](TODO) | 将指定的数据转换为 `torch.Tensor` |
| [`ImageToTensor`](TODO) | 将图像转换为 `torch.Tensor` | | [`ImageToTensor`](TODO) | 将图像转换为 `torch.Tensor` |
## 自定义数据变换类 ## 自定义数据变换类
要实现一个新的数据变换类,需要继承 `BaseTransform`,并实现 `transform` 方法。这里,我们使用一个简单的翻转变换(`MyFlip`)作为示例: 要实现一个新的数据变换类,需要继承 `BaseTransform`,并实现 `transform` 方法。这里,我们使用一个简单的翻转变换(`MyFlip`)作为示例:
...@@ -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` 来实现。
......
...@@ -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],
......
...@@ -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']
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment