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
mmdetection3d
Commits
4b4cc7e8
Commit
4b4cc7e8
authored
Jun 09, 2020
by
zhangwenwei
Browse files
Merge branch 'fix-optimizer' into 'master'
Fix optimizer See merge request open-mmlab/mmdet.3d!58
parents
b77a77d4
2c9129d4
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
12 additions
and
5 deletions
+12
-5
mmdet3d/apis/train.py
mmdet3d/apis/train.py
+2
-2
mmdet3d/core/optimizer/cocktail_constructor.py
mmdet3d/core/optimizer/cocktail_constructor.py
+1
-1
mmdet3d/core/optimizer/cocktail_optimizer.py
mmdet3d/core/optimizer/cocktail_optimizer.py
+9
-2
No files found.
mmdet3d/apis/train.py
View file @
4b4cc7e8
import
torch
from
mmcv.parallel
import
MMDataParallel
,
MMDistributedDataParallel
from
mmcv.runner
import
DistSamplerSeedHook
,
Runner
from
mmcv.runner
import
DistSamplerSeedHook
,
Runner
,
build_optimizer
from
mmdet3d.utils
import
get_root_logger
from
mmdet.apis.train
import
parse_losses
from
mmdet.core
import
(
DistEvalHook
,
DistOptimizerHook
,
EvalHook
,
Fp16OptimizerHook
,
build_optimizer
)
Fp16OptimizerHook
)
from
mmdet.datasets
import
build_dataloader
,
build_dataset
...
...
mmdet3d/core/optimizer/cocktail_constructor.py
View file @
4b4cc7e8
from
mmcv.runner.optimizer
import
OPTIMIZER_BUILDERS
,
OPTIMIZERS
from
mmcv.utils
import
build_from_cfg
from
mmdet3d.utils
import
get_root_logger
from
mmdet.core.optimizer
import
OPTIMIZER_BUILDERS
,
OPTIMIZERS
from
.cocktail_optimizer
import
CocktailOptimizer
...
...
mmdet3d/core/optimizer/cocktail_optimizer.py
View file @
4b4cc7e8
from
mmcv.runner.optimizer
import
OPTIMIZERS
from
torch.optim
import
Optimizer
from
mmdet.core.optimizer
import
OPTIMIZERS
@
OPTIMIZERS
.
register_module
()
class
CocktailOptimizer
(
Optimizer
):
...
...
@@ -9,6 +8,11 @@ class CocktailOptimizer(Optimizer):
This optimizer applies the cocktail optimzation for multi-modality models.
Args:
optimizers (list[:obj:`torch.optim.Optimizer`]): The list containing
different optimizers that optimize different parameters
step_intervals (list[int]): Step intervals of each optimizer
"""
def
__init__
(
self
,
optimizers
,
step_intervals
=
None
):
...
...
@@ -18,6 +22,9 @@ class CocktailOptimizer(Optimizer):
self
.
param_groups
+=
optimizer
.
param_groups
if
not
isinstance
(
step_intervals
,
list
):
step_intervals
=
[
1
]
*
len
(
self
.
optimizers
)
assert
len
(
step_intervals
)
==
len
(
optimizers
),
\
'"step_intervals" should contain the same number of intervals as'
\
f
'len(optimizers)=
{
len
(
optimizers
)
}
, got
{
step_intervals
}
'
self
.
step_intervals
=
step_intervals
self
.
num_step_updated
=
0
...
...
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