Train vs Eval Mode for Auxiliary Loss Model

I have two models, one primary and one auxiliary. I want to fix the weights of the auxiliary network. However, I am unsure if I should put the auxiliary network in train mode or eval mode.

For example…

Signal_2_pred = PrimaryModel(Signal_1)
loss = MSE(Signal_2_pred, Signal_2_true)
loss += MSE(AuxiliaryModel(Signal_2_pred), Signal_2_aux)

I do not want to change the weights of the AuxiliaryModel, but I do want the gradients to be propagated. Does this require train mode or eval mode for the auxiliary?

The train() and eval() modes are orthogonal to the gradient computation as they are changing the behavior of some modules. E.g. batchnorm layers will use the running stats to normalize the input activation during eval and dropout will be disabled.
The gradient calculation can be disabled either via setting the .requires_grad attribute of parameters to False or e.g. by using with torch.no_grad().