Spaces:
Runtime error
Runtime error
adding better trained model
Browse files- 20230608_onnx_416_mbnv2_dl3/20230607_082146.log +0 -0
- 20230608_onnx_416_mbnv2_dl3/deploy.json +16 -0
- 20230608_onnx_416_mbnv2_dl3/detail.json +37 -0
- 20230608_onnx_416_mbnv2_dl3/end2end.onnx +3 -0
- 20230608_onnx_416_mbnv2_dl3/iter_96000.pth +3 -0
- 20230608_onnx_416_mbnv2_dl3/mobilenet_deeplab_drone.py +221 -0
- 20230608_onnx_416_mbnv2_dl3/pipeline.json +125 -0
- 20230608_onnx_416_mbnv2_dl3/vis_data/20230607_082146.json +0 -0
- 20230608_onnx_416_mbnv2_dl3/vis_data/config.py +221 -0
- 20230608_onnx_416_mbnv2_dl3/vis_data/scalars.json +0 -0
20230608_onnx_416_mbnv2_dl3/20230607_082146.log
ADDED
The diff for this file is too large to render.
See raw diff
|
|
20230608_onnx_416_mbnv2_dl3/deploy.json
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "1.1.0",
|
3 |
+
"task": "Segmentor",
|
4 |
+
"models": [
|
5 |
+
{
|
6 |
+
"name": "depthwiseseparableaspp",
|
7 |
+
"net": "end2end.onnx",
|
8 |
+
"weights": "",
|
9 |
+
"backend": "onnxruntime",
|
10 |
+
"precision": "FP32",
|
11 |
+
"batch_size": 1,
|
12 |
+
"dynamic_shape": false
|
13 |
+
}
|
14 |
+
],
|
15 |
+
"customs": []
|
16 |
+
}
|
20230608_onnx_416_mbnv2_dl3/detail.json
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "1.1.0",
|
3 |
+
"codebase": {
|
4 |
+
"task": "Segmentation",
|
5 |
+
"codebase": "mmseg",
|
6 |
+
"version": "1.0.0",
|
7 |
+
"pth": "../mmsegmentation/work_dirs/mobilenet_deeplab_drone/iter_96000.pth",
|
8 |
+
"config": "../mmsegmentation/work_dirs/mobilenet_deeplab_drone/mobilenet_deeplab_drone.py"
|
9 |
+
},
|
10 |
+
"codebase_config": {
|
11 |
+
"type": "mmseg",
|
12 |
+
"task": "Segmentation",
|
13 |
+
"with_argmax": true
|
14 |
+
},
|
15 |
+
"onnx_config": {
|
16 |
+
"type": "onnx",
|
17 |
+
"export_params": true,
|
18 |
+
"keep_initializers_as_inputs": false,
|
19 |
+
"opset_version": 11,
|
20 |
+
"save_file": "end2end.onnx",
|
21 |
+
"input_names": [
|
22 |
+
"input"
|
23 |
+
],
|
24 |
+
"output_names": [
|
25 |
+
"output"
|
26 |
+
],
|
27 |
+
"input_shape": [
|
28 |
+
416,
|
29 |
+
416
|
30 |
+
],
|
31 |
+
"optimize": true
|
32 |
+
},
|
33 |
+
"backend_config": {
|
34 |
+
"type": "onnxruntime"
|
35 |
+
},
|
36 |
+
"calib_config": {}
|
37 |
+
}
|
20230608_onnx_416_mbnv2_dl3/end2end.onnx
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:4c28c542c8c484c0c17e5d94afb9e9f4e85aa0c9b8a9cd28ae8ca0e7ff3e72e9
|
3 |
+
size 11185635
|
20230608_onnx_416_mbnv2_dl3/iter_96000.pth
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:d551e8499ddd3fc34142a7947b34fb3d48decdec4033251b39e92394247207f3
|
3 |
+
size 37443597
|
20230608_onnx_416_mbnv2_dl3/mobilenet_deeplab_drone.py
ADDED
@@ -0,0 +1,221 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
norm_cfg = dict(type='SyncBN', requires_grad=True)
|
2 |
+
data_preprocessor = dict(
|
3 |
+
type='SegDataPreProcessor',
|
4 |
+
mean=[123.675, 116.28, 103.53],
|
5 |
+
std=[58.395, 57.12, 57.375],
|
6 |
+
bgr_to_rgb=True,
|
7 |
+
pad_val=0,
|
8 |
+
seg_pad_val=255,
|
9 |
+
size=(416, 416))
|
10 |
+
model = dict(
|
11 |
+
type='EncoderDecoder',
|
12 |
+
data_preprocessor=dict(
|
13 |
+
type='SegDataPreProcessor',
|
14 |
+
mean=[123.675, 116.28, 103.53],
|
15 |
+
std=[58.395, 57.12, 57.375],
|
16 |
+
bgr_to_rgb=True,
|
17 |
+
pad_val=0,
|
18 |
+
seg_pad_val=255,
|
19 |
+
size=(416, 416)),
|
20 |
+
pretrained='mmcls://mobilenet_v2',
|
21 |
+
backbone=dict(
|
22 |
+
type='MobileNetV2',
|
23 |
+
widen_factor=1.0,
|
24 |
+
strides=(1, 2, 2, 1, 1, 1, 1),
|
25 |
+
dilations=(1, 1, 1, 2, 2, 4, 4),
|
26 |
+
out_indices=(1, 2, 4, 6),
|
27 |
+
norm_cfg=dict(type='SyncBN', requires_grad=True)),
|
28 |
+
decode_head=dict(
|
29 |
+
type='DepthwiseSeparableASPPHead',
|
30 |
+
in_channels=320,
|
31 |
+
in_index=3,
|
32 |
+
channels=128,
|
33 |
+
dilations=(1, 12, 24, 36),
|
34 |
+
c1_in_channels=24,
|
35 |
+
c1_channels=12,
|
36 |
+
dropout_ratio=0.1,
|
37 |
+
num_classes=3,
|
38 |
+
norm_cfg=dict(type='SyncBN', requires_grad=True),
|
39 |
+
align_corners=False,
|
40 |
+
loss_decode=dict(
|
41 |
+
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)),
|
42 |
+
auxiliary_head=dict(
|
43 |
+
type='FCNHead',
|
44 |
+
in_channels=96,
|
45 |
+
in_index=2,
|
46 |
+
channels=64,
|
47 |
+
num_convs=1,
|
48 |
+
concat_input=False,
|
49 |
+
dropout_ratio=0.1,
|
50 |
+
num_classes=3,
|
51 |
+
norm_cfg=dict(type='SyncBN', requires_grad=True),
|
52 |
+
align_corners=False,
|
53 |
+
loss_decode=dict(
|
54 |
+
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)),
|
55 |
+
train_cfg=dict(),
|
56 |
+
test_cfg=dict(mode='whole'))
|
57 |
+
dataset_type = 'DroneDataset'
|
58 |
+
data_root = 'data/drone_custom_dataset'
|
59 |
+
crop_size = (416, 416)
|
60 |
+
train_pipeline = [
|
61 |
+
dict(type='LoadImageFromFile'),
|
62 |
+
dict(type='LoadAnnotations'),
|
63 |
+
dict(
|
64 |
+
type='RandomResize',
|
65 |
+
scale=(2048, 416),
|
66 |
+
ratio_range=(0.5, 2.0),
|
67 |
+
keep_ratio=True),
|
68 |
+
dict(type='RandomCrop', crop_size=(416, 416), cat_max_ratio=0.75),
|
69 |
+
dict(type='RandomFlip', prob=0.5),
|
70 |
+
dict(type='PhotoMetricDistortion'),
|
71 |
+
dict(type='PackSegInputs')
|
72 |
+
]
|
73 |
+
test_pipeline = [
|
74 |
+
dict(type='LoadImageFromFile'),
|
75 |
+
dict(type='Resize', scale=(2048, 416), keep_ratio=True),
|
76 |
+
dict(type='LoadAnnotations'),
|
77 |
+
dict(type='PackSegInputs')
|
78 |
+
]
|
79 |
+
img_ratios = [0.5, 0.75, 1.0, 1.25, 1.5, 1.75]
|
80 |
+
tta_pipeline = [
|
81 |
+
dict(type='LoadImageFromFile', backend_args=None),
|
82 |
+
dict(
|
83 |
+
type='TestTimeAug',
|
84 |
+
transforms=[[{
|
85 |
+
'type': 'Resize',
|
86 |
+
'scale_factor': 0.5,
|
87 |
+
'keep_ratio': True
|
88 |
+
}, {
|
89 |
+
'type': 'Resize',
|
90 |
+
'scale_factor': 0.75,
|
91 |
+
'keep_ratio': True
|
92 |
+
}, {
|
93 |
+
'type': 'Resize',
|
94 |
+
'scale_factor': 1.0,
|
95 |
+
'keep_ratio': True
|
96 |
+
}, {
|
97 |
+
'type': 'Resize',
|
98 |
+
'scale_factor': 1.25,
|
99 |
+
'keep_ratio': True
|
100 |
+
}, {
|
101 |
+
'type': 'Resize',
|
102 |
+
'scale_factor': 1.5,
|
103 |
+
'keep_ratio': True
|
104 |
+
}, {
|
105 |
+
'type': 'Resize',
|
106 |
+
'scale_factor': 1.75,
|
107 |
+
'keep_ratio': True
|
108 |
+
}],
|
109 |
+
[{
|
110 |
+
'type': 'RandomFlip',
|
111 |
+
'prob': 0.0,
|
112 |
+
'direction': 'horizontal'
|
113 |
+
}, {
|
114 |
+
'type': 'RandomFlip',
|
115 |
+
'prob': 1.0,
|
116 |
+
'direction': 'horizontal'
|
117 |
+
}], [{
|
118 |
+
'type': 'LoadAnnotations'
|
119 |
+
}], [{
|
120 |
+
'type': 'PackSegInputs'
|
121 |
+
}]])
|
122 |
+
]
|
123 |
+
train_dataloader = dict(
|
124 |
+
batch_size=24,
|
125 |
+
num_workers=1,
|
126 |
+
persistent_workers=True,
|
127 |
+
sampler=dict(type='InfiniteSampler', shuffle=True),
|
128 |
+
dataset=dict(
|
129 |
+
type='DroneDataset',
|
130 |
+
data_root='data/drone_custom_dataset',
|
131 |
+
data_prefix=dict(img_path='images', seg_map_path='anns'),
|
132 |
+
ann_file='train.txt',
|
133 |
+
pipeline=[
|
134 |
+
dict(type='LoadImageFromFile'),
|
135 |
+
dict(type='LoadAnnotations'),
|
136 |
+
dict(
|
137 |
+
type='RandomResize',
|
138 |
+
scale=(2048, 416),
|
139 |
+
ratio_range=(0.5, 2.0),
|
140 |
+
keep_ratio=True),
|
141 |
+
dict(type='RandomCrop', crop_size=(416, 416), cat_max_ratio=0.75),
|
142 |
+
dict(type='RandomFlip', prob=0.5),
|
143 |
+
dict(type='PhotoMetricDistortion'),
|
144 |
+
dict(type='PackSegInputs')
|
145 |
+
]))
|
146 |
+
val_dataloader = dict(
|
147 |
+
batch_size=1,
|
148 |
+
num_workers=4,
|
149 |
+
persistent_workers=True,
|
150 |
+
sampler=dict(type='DefaultSampler', shuffle=False),
|
151 |
+
dataset=dict(
|
152 |
+
type='DroneDataset',
|
153 |
+
data_root='data/drone_custom_dataset',
|
154 |
+
data_prefix=dict(img_path='images', seg_map_path='anns'),
|
155 |
+
ann_file='val.txt',
|
156 |
+
pipeline=[
|
157 |
+
dict(type='LoadImageFromFile'),
|
158 |
+
dict(type='Resize', scale=(2048, 416), keep_ratio=True),
|
159 |
+
dict(type='LoadAnnotations'),
|
160 |
+
dict(type='PackSegInputs')
|
161 |
+
]))
|
162 |
+
test_dataloader = dict(
|
163 |
+
batch_size=1,
|
164 |
+
num_workers=4,
|
165 |
+
persistent_workers=True,
|
166 |
+
sampler=dict(type='DefaultSampler', shuffle=False),
|
167 |
+
dataset=dict(
|
168 |
+
type='DroneDataset',
|
169 |
+
data_root='data/drone_custom_dataset',
|
170 |
+
data_prefix=dict(img_path='images', seg_map_path='anns'),
|
171 |
+
ann_file='val.txt',
|
172 |
+
pipeline=[
|
173 |
+
dict(type='LoadImageFromFile'),
|
174 |
+
dict(type='Resize', scale=(2048, 416), keep_ratio=True),
|
175 |
+
dict(type='LoadAnnotations'),
|
176 |
+
dict(type='PackSegInputs')
|
177 |
+
]))
|
178 |
+
val_evaluator = dict(type='IoUMetric', iou_metrics=['mIoU'])
|
179 |
+
test_evaluator = dict(type='IoUMetric', iou_metrics=['mIoU'])
|
180 |
+
default_scope = 'mmseg'
|
181 |
+
env_cfg = dict(
|
182 |
+
cudnn_benchmark=True,
|
183 |
+
mp_cfg=dict(mp_start_method='fork', opencv_num_threads=0),
|
184 |
+
dist_cfg=dict(backend='nccl'))
|
185 |
+
vis_backends = [dict(type='LocalVisBackend')]
|
186 |
+
visualizer = dict(
|
187 |
+
type='SegLocalVisualizer',
|
188 |
+
vis_backends=[dict(type='LocalVisBackend')],
|
189 |
+
name='visualizer')
|
190 |
+
log_processor = dict(by_epoch=False)
|
191 |
+
log_level = 'INFO'
|
192 |
+
load_from = None
|
193 |
+
resume = False
|
194 |
+
tta_model = dict(type='SegTTAModel')
|
195 |
+
optimizer = dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0005)
|
196 |
+
optim_wrapper = dict(
|
197 |
+
type='OptimWrapper',
|
198 |
+
optimizer=dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0005),
|
199 |
+
clip_grad=None)
|
200 |
+
param_scheduler = [
|
201 |
+
dict(
|
202 |
+
type='PolyLR',
|
203 |
+
eta_min=0.0001,
|
204 |
+
power=0.9,
|
205 |
+
begin=0,
|
206 |
+
end=240000,
|
207 |
+
by_epoch=False)
|
208 |
+
]
|
209 |
+
train_cfg = dict(
|
210 |
+
type='IterBasedTrainLoop', max_iters=240000, val_interval=24000)
|
211 |
+
val_cfg = dict(type='ValLoop')
|
212 |
+
test_cfg = dict(type='TestLoop')
|
213 |
+
default_hooks = dict(
|
214 |
+
timer=dict(type='IterTimerHook'),
|
215 |
+
logger=dict(type='LoggerHook', interval=50, log_metric_by_epoch=False),
|
216 |
+
param_scheduler=dict(type='ParamSchedulerHook'),
|
217 |
+
checkpoint=dict(type='CheckpointHook', by_epoch=False, interval=24000),
|
218 |
+
sampler_seed=dict(type='DistSamplerSeedHook'),
|
219 |
+
visualization=dict(type='SegVisualizationHook'))
|
220 |
+
launcher = 'pytorch'
|
221 |
+
work_dir = './work_dirs/mobilenet_deeplab_drone'
|
20230608_onnx_416_mbnv2_dl3/pipeline.json
ADDED
@@ -0,0 +1,125 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"pipeline": {
|
3 |
+
"input": [
|
4 |
+
"img"
|
5 |
+
],
|
6 |
+
"output": [
|
7 |
+
"post_output"
|
8 |
+
],
|
9 |
+
"tasks": [
|
10 |
+
{
|
11 |
+
"type": "Task",
|
12 |
+
"module": "Transform",
|
13 |
+
"name": "Preprocess",
|
14 |
+
"input": [
|
15 |
+
"img"
|
16 |
+
],
|
17 |
+
"output": [
|
18 |
+
"prep_output"
|
19 |
+
],
|
20 |
+
"transforms": [
|
21 |
+
{
|
22 |
+
"type": "LoadImageFromFile"
|
23 |
+
},
|
24 |
+
{
|
25 |
+
"type": "Resize",
|
26 |
+
"keep_ratio": false,
|
27 |
+
"size": [
|
28 |
+
416,
|
29 |
+
416
|
30 |
+
]
|
31 |
+
},
|
32 |
+
{
|
33 |
+
"type": "Normalize",
|
34 |
+
"mean": [
|
35 |
+
123.675,
|
36 |
+
116.28,
|
37 |
+
103.53
|
38 |
+
],
|
39 |
+
"std": [
|
40 |
+
58.395,
|
41 |
+
57.12,
|
42 |
+
57.375
|
43 |
+
],
|
44 |
+
"to_rgb": true
|
45 |
+
},
|
46 |
+
{
|
47 |
+
"type": "ImageToTensor",
|
48 |
+
"keys": [
|
49 |
+
"img"
|
50 |
+
]
|
51 |
+
},
|
52 |
+
{
|
53 |
+
"type": "Collect",
|
54 |
+
"keys": [
|
55 |
+
"img"
|
56 |
+
],
|
57 |
+
"meta_keys": [
|
58 |
+
"img_shape",
|
59 |
+
"pad_shape",
|
60 |
+
"ori_shape",
|
61 |
+
"img_norm_cfg",
|
62 |
+
"scale_factor"
|
63 |
+
]
|
64 |
+
}
|
65 |
+
]
|
66 |
+
},
|
67 |
+
{
|
68 |
+
"name": "depthwiseseparableaspp",
|
69 |
+
"type": "Task",
|
70 |
+
"module": "Net",
|
71 |
+
"is_batched": false,
|
72 |
+
"input": [
|
73 |
+
"prep_output"
|
74 |
+
],
|
75 |
+
"output": [
|
76 |
+
"infer_output"
|
77 |
+
],
|
78 |
+
"input_map": {
|
79 |
+
"img": "input"
|
80 |
+
},
|
81 |
+
"output_map": {}
|
82 |
+
},
|
83 |
+
{
|
84 |
+
"type": "Task",
|
85 |
+
"module": "mmseg",
|
86 |
+
"name": "postprocess",
|
87 |
+
"component": "ResizeMask",
|
88 |
+
"params": {
|
89 |
+
"type": "DepthwiseSeparableASPPHead",
|
90 |
+
"in_channels": 320,
|
91 |
+
"in_index": 3,
|
92 |
+
"channels": 128,
|
93 |
+
"dilations": [
|
94 |
+
1,
|
95 |
+
12,
|
96 |
+
24,
|
97 |
+
36
|
98 |
+
],
|
99 |
+
"c1_in_channels": 24,
|
100 |
+
"c1_channels": 12,
|
101 |
+
"dropout_ratio": 0.1,
|
102 |
+
"num_classes": 3,
|
103 |
+
"norm_cfg": {
|
104 |
+
"type": "SyncBN",
|
105 |
+
"requires_grad": true
|
106 |
+
},
|
107 |
+
"align_corners": false,
|
108 |
+
"loss_decode": {
|
109 |
+
"type": "CrossEntropyLoss",
|
110 |
+
"use_sigmoid": false,
|
111 |
+
"loss_weight": 1.0
|
112 |
+
},
|
113 |
+
"with_argmax": true
|
114 |
+
},
|
115 |
+
"output": [
|
116 |
+
"post_output"
|
117 |
+
],
|
118 |
+
"input": [
|
119 |
+
"prep_output",
|
120 |
+
"infer_output"
|
121 |
+
]
|
122 |
+
}
|
123 |
+
]
|
124 |
+
}
|
125 |
+
}
|
20230608_onnx_416_mbnv2_dl3/vis_data/20230607_082146.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
20230608_onnx_416_mbnv2_dl3/vis_data/config.py
ADDED
@@ -0,0 +1,221 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
norm_cfg = dict(type='SyncBN', requires_grad=True)
|
2 |
+
data_preprocessor = dict(
|
3 |
+
type='SegDataPreProcessor',
|
4 |
+
mean=[123.675, 116.28, 103.53],
|
5 |
+
std=[58.395, 57.12, 57.375],
|
6 |
+
bgr_to_rgb=True,
|
7 |
+
pad_val=0,
|
8 |
+
seg_pad_val=255,
|
9 |
+
size=(416, 416))
|
10 |
+
model = dict(
|
11 |
+
type='EncoderDecoder',
|
12 |
+
data_preprocessor=dict(
|
13 |
+
type='SegDataPreProcessor',
|
14 |
+
mean=[123.675, 116.28, 103.53],
|
15 |
+
std=[58.395, 57.12, 57.375],
|
16 |
+
bgr_to_rgb=True,
|
17 |
+
pad_val=0,
|
18 |
+
seg_pad_val=255,
|
19 |
+
size=(416, 416)),
|
20 |
+
pretrained='mmcls://mobilenet_v2',
|
21 |
+
backbone=dict(
|
22 |
+
type='MobileNetV2',
|
23 |
+
widen_factor=1.0,
|
24 |
+
strides=(1, 2, 2, 1, 1, 1, 1),
|
25 |
+
dilations=(1, 1, 1, 2, 2, 4, 4),
|
26 |
+
out_indices=(1, 2, 4, 6),
|
27 |
+
norm_cfg=dict(type='SyncBN', requires_grad=True)),
|
28 |
+
decode_head=dict(
|
29 |
+
type='DepthwiseSeparableASPPHead',
|
30 |
+
in_channels=320,
|
31 |
+
in_index=3,
|
32 |
+
channels=128,
|
33 |
+
dilations=(1, 12, 24, 36),
|
34 |
+
c1_in_channels=24,
|
35 |
+
c1_channels=12,
|
36 |
+
dropout_ratio=0.1,
|
37 |
+
num_classes=3,
|
38 |
+
norm_cfg=dict(type='SyncBN', requires_grad=True),
|
39 |
+
align_corners=False,
|
40 |
+
loss_decode=dict(
|
41 |
+
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)),
|
42 |
+
auxiliary_head=dict(
|
43 |
+
type='FCNHead',
|
44 |
+
in_channels=96,
|
45 |
+
in_index=2,
|
46 |
+
channels=64,
|
47 |
+
num_convs=1,
|
48 |
+
concat_input=False,
|
49 |
+
dropout_ratio=0.1,
|
50 |
+
num_classes=3,
|
51 |
+
norm_cfg=dict(type='SyncBN', requires_grad=True),
|
52 |
+
align_corners=False,
|
53 |
+
loss_decode=dict(
|
54 |
+
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)),
|
55 |
+
train_cfg=dict(),
|
56 |
+
test_cfg=dict(mode='whole'))
|
57 |
+
dataset_type = 'DroneDataset'
|
58 |
+
data_root = 'data/drone_custom_dataset'
|
59 |
+
crop_size = (416, 416)
|
60 |
+
train_pipeline = [
|
61 |
+
dict(type='LoadImageFromFile'),
|
62 |
+
dict(type='LoadAnnotations'),
|
63 |
+
dict(
|
64 |
+
type='RandomResize',
|
65 |
+
scale=(2048, 416),
|
66 |
+
ratio_range=(0.5, 2.0),
|
67 |
+
keep_ratio=True),
|
68 |
+
dict(type='RandomCrop', crop_size=(416, 416), cat_max_ratio=0.75),
|
69 |
+
dict(type='RandomFlip', prob=0.5),
|
70 |
+
dict(type='PhotoMetricDistortion'),
|
71 |
+
dict(type='PackSegInputs')
|
72 |
+
]
|
73 |
+
test_pipeline = [
|
74 |
+
dict(type='LoadImageFromFile'),
|
75 |
+
dict(type='Resize', scale=(2048, 416), keep_ratio=True),
|
76 |
+
dict(type='LoadAnnotations'),
|
77 |
+
dict(type='PackSegInputs')
|
78 |
+
]
|
79 |
+
img_ratios = [0.5, 0.75, 1.0, 1.25, 1.5, 1.75]
|
80 |
+
tta_pipeline = [
|
81 |
+
dict(type='LoadImageFromFile', backend_args=None),
|
82 |
+
dict(
|
83 |
+
type='TestTimeAug',
|
84 |
+
transforms=[[{
|
85 |
+
'type': 'Resize',
|
86 |
+
'scale_factor': 0.5,
|
87 |
+
'keep_ratio': True
|
88 |
+
}, {
|
89 |
+
'type': 'Resize',
|
90 |
+
'scale_factor': 0.75,
|
91 |
+
'keep_ratio': True
|
92 |
+
}, {
|
93 |
+
'type': 'Resize',
|
94 |
+
'scale_factor': 1.0,
|
95 |
+
'keep_ratio': True
|
96 |
+
}, {
|
97 |
+
'type': 'Resize',
|
98 |
+
'scale_factor': 1.25,
|
99 |
+
'keep_ratio': True
|
100 |
+
}, {
|
101 |
+
'type': 'Resize',
|
102 |
+
'scale_factor': 1.5,
|
103 |
+
'keep_ratio': True
|
104 |
+
}, {
|
105 |
+
'type': 'Resize',
|
106 |
+
'scale_factor': 1.75,
|
107 |
+
'keep_ratio': True
|
108 |
+
}],
|
109 |
+
[{
|
110 |
+
'type': 'RandomFlip',
|
111 |
+
'prob': 0.0,
|
112 |
+
'direction': 'horizontal'
|
113 |
+
}, {
|
114 |
+
'type': 'RandomFlip',
|
115 |
+
'prob': 1.0,
|
116 |
+
'direction': 'horizontal'
|
117 |
+
}], [{
|
118 |
+
'type': 'LoadAnnotations'
|
119 |
+
}], [{
|
120 |
+
'type': 'PackSegInputs'
|
121 |
+
}]])
|
122 |
+
]
|
123 |
+
train_dataloader = dict(
|
124 |
+
batch_size=24,
|
125 |
+
num_workers=1,
|
126 |
+
persistent_workers=True,
|
127 |
+
sampler=dict(type='InfiniteSampler', shuffle=True),
|
128 |
+
dataset=dict(
|
129 |
+
type='DroneDataset',
|
130 |
+
data_root='data/drone_custom_dataset',
|
131 |
+
data_prefix=dict(img_path='images', seg_map_path='anns'),
|
132 |
+
ann_file='train.txt',
|
133 |
+
pipeline=[
|
134 |
+
dict(type='LoadImageFromFile'),
|
135 |
+
dict(type='LoadAnnotations'),
|
136 |
+
dict(
|
137 |
+
type='RandomResize',
|
138 |
+
scale=(2048, 416),
|
139 |
+
ratio_range=(0.5, 2.0),
|
140 |
+
keep_ratio=True),
|
141 |
+
dict(type='RandomCrop', crop_size=(416, 416), cat_max_ratio=0.75),
|
142 |
+
dict(type='RandomFlip', prob=0.5),
|
143 |
+
dict(type='PhotoMetricDistortion'),
|
144 |
+
dict(type='PackSegInputs')
|
145 |
+
]))
|
146 |
+
val_dataloader = dict(
|
147 |
+
batch_size=1,
|
148 |
+
num_workers=4,
|
149 |
+
persistent_workers=True,
|
150 |
+
sampler=dict(type='DefaultSampler', shuffle=False),
|
151 |
+
dataset=dict(
|
152 |
+
type='DroneDataset',
|
153 |
+
data_root='data/drone_custom_dataset',
|
154 |
+
data_prefix=dict(img_path='images', seg_map_path='anns'),
|
155 |
+
ann_file='val.txt',
|
156 |
+
pipeline=[
|
157 |
+
dict(type='LoadImageFromFile'),
|
158 |
+
dict(type='Resize', scale=(2048, 416), keep_ratio=True),
|
159 |
+
dict(type='LoadAnnotations'),
|
160 |
+
dict(type='PackSegInputs')
|
161 |
+
]))
|
162 |
+
test_dataloader = dict(
|
163 |
+
batch_size=1,
|
164 |
+
num_workers=4,
|
165 |
+
persistent_workers=True,
|
166 |
+
sampler=dict(type='DefaultSampler', shuffle=False),
|
167 |
+
dataset=dict(
|
168 |
+
type='DroneDataset',
|
169 |
+
data_root='data/drone_custom_dataset',
|
170 |
+
data_prefix=dict(img_path='images', seg_map_path='anns'),
|
171 |
+
ann_file='val.txt',
|
172 |
+
pipeline=[
|
173 |
+
dict(type='LoadImageFromFile'),
|
174 |
+
dict(type='Resize', scale=(2048, 416), keep_ratio=True),
|
175 |
+
dict(type='LoadAnnotations'),
|
176 |
+
dict(type='PackSegInputs')
|
177 |
+
]))
|
178 |
+
val_evaluator = dict(type='IoUMetric', iou_metrics=['mIoU'])
|
179 |
+
test_evaluator = dict(type='IoUMetric', iou_metrics=['mIoU'])
|
180 |
+
default_scope = 'mmseg'
|
181 |
+
env_cfg = dict(
|
182 |
+
cudnn_benchmark=True,
|
183 |
+
mp_cfg=dict(mp_start_method='fork', opencv_num_threads=0),
|
184 |
+
dist_cfg=dict(backend='nccl'))
|
185 |
+
vis_backends = [dict(type='LocalVisBackend')]
|
186 |
+
visualizer = dict(
|
187 |
+
type='SegLocalVisualizer',
|
188 |
+
vis_backends=[dict(type='LocalVisBackend')],
|
189 |
+
name='visualizer')
|
190 |
+
log_processor = dict(by_epoch=False)
|
191 |
+
log_level = 'INFO'
|
192 |
+
load_from = None
|
193 |
+
resume = False
|
194 |
+
tta_model = dict(type='SegTTAModel')
|
195 |
+
optimizer = dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0005)
|
196 |
+
optim_wrapper = dict(
|
197 |
+
type='OptimWrapper',
|
198 |
+
optimizer=dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0005),
|
199 |
+
clip_grad=None)
|
200 |
+
param_scheduler = [
|
201 |
+
dict(
|
202 |
+
type='PolyLR',
|
203 |
+
eta_min=0.0001,
|
204 |
+
power=0.9,
|
205 |
+
begin=0,
|
206 |
+
end=240000,
|
207 |
+
by_epoch=False)
|
208 |
+
]
|
209 |
+
train_cfg = dict(
|
210 |
+
type='IterBasedTrainLoop', max_iters=240000, val_interval=24000)
|
211 |
+
val_cfg = dict(type='ValLoop')
|
212 |
+
test_cfg = dict(type='TestLoop')
|
213 |
+
default_hooks = dict(
|
214 |
+
timer=dict(type='IterTimerHook'),
|
215 |
+
logger=dict(type='LoggerHook', interval=50, log_metric_by_epoch=False),
|
216 |
+
param_scheduler=dict(type='ParamSchedulerHook'),
|
217 |
+
checkpoint=dict(type='CheckpointHook', by_epoch=False, interval=24000),
|
218 |
+
sampler_seed=dict(type='DistSamplerSeedHook'),
|
219 |
+
visualization=dict(type='SegVisualizationHook'))
|
220 |
+
launcher = 'pytorch'
|
221 |
+
work_dir = './work_dirs/mobilenet_deeplab_drone'
|
20230608_onnx_416_mbnv2_dl3/vis_data/scalars.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|