Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
seminar-breakout
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Shashank Suhas
seminar-breakout
Commits
f246dd59
Commit
f246dd59
authored
Jul 26, 2017
by
Yuxin Wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix SyncMultiGPUTrainerReplicated for single-GPU case
parent
8f4183e7
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
2 additions
and
1 deletion
+2
-1
tensorpack/train/multigpu.py
tensorpack/train/multigpu.py
+2
-1
No files found.
tensorpack/train/multigpu.py
View file @
f246dd59
...
@@ -249,7 +249,7 @@ class SyncMultiGPUTrainerReplicated(MultiGPUTrainerBase):
...
@@ -249,7 +249,7 @@ class SyncMultiGPUTrainerReplicated(MultiGPUTrainerBase):
from
tensorflow.contrib
import
nccl
from
tensorflow.contrib
import
nccl
nr_tower
=
len
(
tower_grads
)
nr_tower
=
len
(
tower_grads
)
if
nr_tower
==
1
:
if
nr_tower
==
1
:
return
tower_grads
[
0
]
return
[[
x
]
for
x
in
tower_grads
[
0
]
]
new_tower_grads
=
[]
new_tower_grads
=
[]
with
tf
.
name_scope
(
'AvgGrad'
):
with
tf
.
name_scope
(
'AvgGrad'
):
for
grad_and_vars
in
zip
(
*
tower_grads
):
for
grad_and_vars
in
zip
(
*
tower_grads
):
...
@@ -284,6 +284,7 @@ class SyncMultiGPUTrainerReplicated(MultiGPUTrainerBase):
...
@@ -284,6 +284,7 @@ class SyncMultiGPUTrainerReplicated(MultiGPUTrainerBase):
for
idx
in
range
(
self
.
config
.
nr_tower
):
for
idx
in
range
(
self
.
config
.
nr_tower
):
with
tf
.
device
(
raw_devices
[
idx
]):
with
tf
.
device
(
raw_devices
[
idx
]):
grad_and_vars
=
[
x
[
idx
]
for
x
in
grads
]
grad_and_vars
=
[
x
[
idx
]
for
x
in
grads
]
print
(
grad_and_vars
)
train_ops
.
append
(
opt
.
apply_gradients
(
train_ops
.
append
(
opt
.
apply_gradients
(
grad_and_vars
,
name
=
'apply_grad_{}'
.
format
(
idx
)))
grad_and_vars
,
name
=
'apply_grad_{}'
.
format
(
idx
)))
self
.
train_op
=
tf
.
group
(
*
train_ops
,
name
=
'train_op'
)
self
.
train_op
=
tf
.
group
(
*
train_ops
,
name
=
'train_op'
)
...
...
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