I am wondering that backward propagate only affect with the module that passed during forward.
for example I define generator as following and has condition term during forward pass.
class generator(nn.Module):
def forward(self, input, noise, label):
x = encoder(input)
if idx == 0:
x = self.fc_style0(x)
elif idx == 1:
x = self.fc_style1(x)
elif idx == 2:
x = self.encoder(x)
x = self.decoder(x, label)
return x
end
Then does parameter only update respect to fowardpass definition?
To be more specific if the idx was 0 then self.fc_style0 was used for forward. In backpropagation stage. self.fc_style1, and self.fc_style2 's params are not updated?