Open
Description
Thanks for sharing your code, it's great to be able to go through the implementation.
Maybe I'm misunderstanding this, but it seem that if you intend self.cpc_optimizer
to only optimise W, then
self.cpc_optimizer = torch.optim.Adam(
self.CURL.parameters(), lr=encoder_lr
)
should be
self.cpc_optimizer = torch.optim.Adam(
self.CURL.parameters(recursive=False), lr=encoder_lr
)
or
self.cpc_optimizer = torch.optim.Adam(
[self.CURL.W], lr=encoder_lr
)
The code I'm referring to is here and the torch docs for parameter are here. And I'm comparing it to section 4.7 of your paper.
As it stands it seems that encoder is optimised twice, once in encoder_optimizer
and again in cpc_optimizer
.
Or am I missing something?
Metadata
Metadata
Assignees
Labels
No labels
Activity