Skip to content

Commit

Permalink
[Fix] Update ddrnet readme (#3198)
Browse files Browse the repository at this point in the history
  • Loading branch information
xiexinch committed Jul 14, 2023
1 parent 057155d commit 5fc1979
Show file tree
Hide file tree
Showing 5 changed files with 75 additions and 15 deletions.
8 changes: 4 additions & 4 deletions configs/ddrnet/README.md
Expand Up @@ -24,10 +24,10 @@ Semantic segmentation is a key technology for autonomous vehicles to understand

### Cityscapes

| Method | Backbone | Crop Size | Lr schd | Mem(GB) | Inf time(fps) | Device | mIoU | mIoU(ms+flip) | config | download |
| ------ | ------------- | --------- | ------- | ------- | ------------- | ------ | ----- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| DDRNet | DDRNet23-slim | 1024x1024 | 120000 | 1.70 | 85.85 | A100 | 77.84 | 80.15 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ddrnet/ddrnet_23-slim_in1k-pre_2xb6-120k_cityscapes-1024x1024.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ddrnet/ddrnet_23-slim_in1k-pre_2xb6-120k_cityscapes-1024x1024/ddrnet_23-slim_in1k-pre_2xb6-120k_cityscapes-1024x1024_20230426_145312-6a5e5174.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ddrnet/ddrnet_23-slim_in1k-pre_2xb6-120k_cityscapes-1024x1024/ddrnet_23-slim_in1k-pre_2xb6-120k_cityscapes-1024x1024_20230426_145312.json) |
| DDRNet | DDRNet23 | 1024x1024 | 120000 | 7.26 | 33.41 | A100 | 79.99 | 81.71 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ddrnet/ddrnet_23_in1k-pre_2xb6-120k_cityscapes-1024x1024.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ddrnet/ddrnet_23_in1k-pre_2xb6-120k_cityscapes-1024x1024/ddrnet_23_in1k-pre_2xb6-120k_cityscapes-1024x1024_20230425_162633-81601db0.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ddrnet/ddrnet_23_in1k-pre_2xb6-120k_cityscapes-1024x1024/ddrnet_23_in1k-pre_2xb6-120k_cityscapes-1024x1024_20230425_162633.json) |
| Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | Device | mIoU | mIoU(ms+flip) | config | download |
| ------ | ------------- | --------- | ------- | -------- | -------------- | ------ | ----- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| DDRNet | DDRNet23-slim | 1024x1024 | 120000 | 1.70 | 85.85 | A100 | 77.84 | 80.15 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ddrnet/ddrnet_23-slim_in1k-pre_2xb6-120k_cityscapes-1024x1024.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ddrnet/ddrnet_23-slim_in1k-pre_2xb6-120k_cityscapes-1024x1024/ddrnet_23-slim_in1k-pre_2xb6-120k_cityscapes-1024x1024_20230426_145312-6a5e5174.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ddrnet/ddrnet_23-slim_in1k-pre_2xb6-120k_cityscapes-1024x1024/ddrnet_23-slim_in1k-pre_2xb6-120k_cityscapes-1024x1024_20230426_145312.json) |
| DDRNet | DDRNet23 | 1024x1024 | 120000 | 7.26 | 33.41 | A100 | 79.99 | 81.71 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ddrnet/ddrnet_23_in1k-pre_2xb6-120k_cityscapes-1024x1024.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ddrnet/ddrnet_23_in1k-pre_2xb6-120k_cityscapes-1024x1024/ddrnet_23_in1k-pre_2xb6-120k_cityscapes-1024x1024_20230425_162633-81601db0.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ddrnet/ddrnet_23_in1k-pre_2xb6-120k_cityscapes-1024x1024/ddrnet_23_in1k-pre_2xb6-120k_cityscapes-1024x1024_20230425_162633.json) |

## Notes

Expand Down
Expand Up @@ -10,7 +10,7 @@
1.0023, 0.9539, 0.9843, 1.1116, 0.9037, 1.0865, 1.0955, 1.0865, 1.1529,
1.0507
]

checkpoint = 'https://download.openmmlab.com/mmsegmentation/v0.5/ddrnet/pretrain/ddrnet23s-in1kpre_3rdparty-1ccac5b1.pth' # noqa
crop_size = (1024, 1024)
data_preprocessor = dict(
type='SegDataPreProcessor',
Expand All @@ -31,9 +31,7 @@
ppm_channels=128,
norm_cfg=norm_cfg,
align_corners=False,
init_cfg=dict(
type='Pretrained',
checkpoint='pretrained/ddrnet23s_in1k_mmseg.pth')),
init_cfg=dict(type='Pretrained', checkpoint=checkpoint)),
decode_head=dict(
type='DDRHead',
in_channels=32 * 4,
Expand Down
Expand Up @@ -10,7 +10,7 @@
1.0023, 0.9539, 0.9843, 1.1116, 0.9037, 1.0865, 1.0955, 1.0865, 1.1529,
1.0507
]

checkpoint = 'https://download.openmmlab.com/mmsegmentation/v0.5/ddrnet/pretrain/ddrnet23-in1kpre_3rdparty-9ca29f62.pth' # noqa
crop_size = (1024, 1024)
data_preprocessor = dict(
type='SegDataPreProcessor',
Expand All @@ -31,9 +31,7 @@
ppm_channels=128,
norm_cfg=norm_cfg,
align_corners=False,
init_cfg=dict(
type='Pretrained',
checkpoint='pretrained/ddrnet23_in1k_mmseg.pth')),
init_cfg=dict(type='Pretrained', checkpoint=checkpoint)),
decode_head=dict(
type='DDRHead',
in_channels=64 * 4,
Expand Down
54 changes: 52 additions & 2 deletions configs/ddrnet/metafile.yaml
@@ -1,5 +1,5 @@
Collections:
- Name: ''
- Name: DDRNet
License: Apache License 2.0
Metadata:
Training Data:
Expand All @@ -11,4 +11,54 @@ Collections:
README: configs/ddrnet/README.md
Frameworks:
- PyTorch
Models: []
Models:
- Name: ddrnet_23-slim_in1k-pre_2xb6-120k_cityscapes-1024x1024
In Collection: DDRNet
Results:
Task: Semantic Segmentation
Dataset: Cityscapes
Metrics:
mIoU: 77.84
mIoU(ms+flip): 80.15
Config: configs/ddrnet/ddrnet_23-slim_in1k-pre_2xb6-120k_cityscapes-1024x1024.py
Metadata:
Training Data: Cityscapes
Batch Size: 12
Architecture:
- DDRNet23-slim
- DDRNet
Training Resources: 2x A100 GPUS
Memory (GB): 1.7
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ddrnet/ddrnet_23-slim_in1k-pre_2xb6-120k_cityscapes-1024x1024/ddrnet_23-slim_in1k-pre_2xb6-120k_cityscapes-1024x1024_20230426_145312-6a5e5174.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ddrnet/ddrnet_23-slim_in1k-pre_2xb6-120k_cityscapes-1024x1024/ddrnet_23-slim_in1k-pre_2xb6-120k_cityscapes-1024x1024_20230426_145312.json
Paper:
Title: Deep Dual-resolution Networks for Real-time and Accurate Semantic Segmentation
of Road Scenes
URL: http://arxiv.org/abs/2101.06085
Code: ''
Framework: PyTorch
- Name: ddrnet_23_in1k-pre_2xb6-120k_cityscapes-1024x1024
In Collection: DDRNet
Results:
Task: Semantic Segmentation
Dataset: Cityscapes
Metrics:
mIoU: 79.99
mIoU(ms+flip): 81.71
Config: configs/ddrnet/ddrnet_23_in1k-pre_2xb6-120k_cityscapes-1024x1024.py
Metadata:
Training Data: Cityscapes
Batch Size: 12
Architecture:
- DDRNet23
- DDRNet
Training Resources: 2x A100 GPUS
Memory (GB): 7.26
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ddrnet/ddrnet_23_in1k-pre_2xb6-120k_cityscapes-1024x1024/ddrnet_23_in1k-pre_2xb6-120k_cityscapes-1024x1024_20230425_162633-81601db0.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ddrnet/ddrnet_23_in1k-pre_2xb6-120k_cityscapes-1024x1024/ddrnet_23_in1k-pre_2xb6-120k_cityscapes-1024x1024_20230425_162633.json
Paper:
Title: Deep Dual-resolution Networks for Real-time and Accurate Semantic Segmentation
of Road Scenes
URL: http://arxiv.org/abs/2101.06085
Code: ''
Framework: PyTorch
16 changes: 15 additions & 1 deletion tools/misc/publish_model.py
@@ -1,9 +1,12 @@
# Copyright (c) OpenMMLab. All rights reserved.
import argparse
import subprocess
from hashlib import sha256

import torch

BLOCK_SIZE = 128 * 1024


def parse_args():
parser = argparse.ArgumentParser(
Expand All @@ -14,6 +17,17 @@ def parse_args():
return args


def sha256sum(filename: str) -> str:
"""Compute SHA256 message digest from a file."""
hash_func = sha256()
byte_array = bytearray(BLOCK_SIZE)
memory_view = memoryview(byte_array)
with open(filename, 'rb', buffering=0) as file:
for block in iter(lambda: file.readinto(memory_view), 0):
hash_func.update(memory_view[:block])
return hash_func.hexdigest()


def process_checkpoint(in_file, out_file):
checkpoint = torch.load(in_file, map_location='cpu')
# remove optimizer for smaller file size
Expand All @@ -22,7 +36,7 @@ def process_checkpoint(in_file, out_file):
# if it is necessary to remove some sensitive data in checkpoint['meta'],
# add the code here.
torch.save(checkpoint, out_file)
sha = subprocess.check_output(['sha256sum', out_file]).decode()
sha = sha256sum(in_file)
final_file = out_file.rstrip('.pth') + f'-{sha[:8]}.pth'
subprocess.Popen(['mv', out_file, final_file])

Expand Down

0 comments on commit 5fc1979

Please sign in to comment.