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
ModelZoo
SOLOv2-pytorch
Commits
143a8372
Commit
143a8372
authored
Sep 28, 2018
by
Kai Chen
Browse files
bug fix for all_reduce when coalesce is False
parent
df14830a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
2 deletions
+4
-2
mmdet/core/utils/dist_utils.py
mmdet/core/utils/dist_utils.py
+4
-2
No files found.
mmdet/core/utils/dist_utils.py
View file @
143a8372
...
@@ -47,11 +47,12 @@ def all_reduce_coalesced(tensors):
...
@@ -47,11 +47,12 @@ def all_reduce_coalesced(tensors):
buckets
[
tp
]
=
[]
buckets
[
tp
]
=
[]
buckets
[
tp
].
append
(
tensor
)
buckets
[
tp
].
append
(
tensor
)
world_size
=
dist
.
get_world_size
()
for
tp
in
buckets
:
for
tp
in
buckets
:
bucket
=
buckets
[
tp
]
bucket
=
buckets
[
tp
]
coalesced
=
_flatten_dense_tensors
(
bucket
)
coalesced
=
_flatten_dense_tensors
(
bucket
)
dist
.
all_reduce
(
coalesced
)
dist
.
all_reduce
(
coalesced
)
coalesced
/=
dist
.
get_
world_size
(
)
coalesced
.
div_
(
world_size
)
for
buf
,
synced
in
zip
(
bucket
,
for
buf
,
synced
in
zip
(
bucket
,
_unflatten_dense_tensors
(
coalesced
,
bucket
)):
_unflatten_dense_tensors
(
coalesced
,
bucket
)):
...
@@ -66,8 +67,9 @@ def reduce_grads(model, coalesce=True):
...
@@ -66,8 +67,9 @@ def reduce_grads(model, coalesce=True):
if
coalesce
:
if
coalesce
:
all_reduce_coalesced
(
grads
)
all_reduce_coalesced
(
grads
)
else
:
else
:
world_size
=
dist
.
get_world_size
()
for
tensor
in
grads
:
for
tensor
in
grads
:
dist
.
all_reduce
(
tensor
)
dist
.
all_reduce
(
tensor
.
div_
(
world_size
)
)
class
DistOptimizerHook
(
OptimizerHook
):
class
DistOptimizerHook
(
OptimizerHook
):
...
...
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