Skip to content

Commit c914a18

Browse files
committed
make sure parameters of target encoder is never updated by default
1 parent 7182100 commit c914a18

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

byol_pytorch/byol_pytorch.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ def wrapper(self, *args, **kwargs):
3434
def get_module_device(module):
3535
return next(module.parameters()).device
3636

37+
def set_requires_grad(model, val):
38+
for p in model.parameters():
39+
p.requires_grad = val
40+
3741
# loss fn
3842

3943
def loss_fn(x, y):
@@ -181,6 +185,7 @@ def __init__(self, net, image_size, hidden_layer = -2, projection_size = 256, pr
181185
@singleton('target_encoder')
182186
def _get_target_encoder(self):
183187
target_encoder = copy.deepcopy(self.online_encoder)
188+
set_requires_grad(target_encoder, False)
184189
return target_encoder
185190

186191
def reset_moving_average(self):

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
setup(
44
name = 'byol-pytorch',
55
packages = find_packages(exclude=['examples']),
6-
version = '0.3.1',
6+
version = '0.3.2',
77
license='MIT',
88
description = 'Self-supervised contrastive learning made simple',
99
author = 'Phil Wang',

0 commit comments

Comments
 (0)