When computing the consistency loss, PyTorch's random number generator state is saved before and restored after the target is computed. This is to ensure the same dropout behavior for the teacher and student networks. PyTorch has different random number generator states for CPU and GPU. The current implementation ignores the GPU state. This commit fixes this issue by saving and restoring the GPU state as well.
When computing the consistency loss, PyTorch's random number generator state is saved before and restored after the target is computed. This is to ensure the same dropout behavior for the teacher and student networks. PyTorch has different random number generator states for CPU and GPU. The current implementation ignores the GPU state. This commit fixes this issue by saving and restoring the GPU state as well.