Based on the error message it seems that some parameters of the model weren’t pushed to the GPU.
In particular creating a new module in the forward will not push it directly to the GPU, if you don’t specify it:
upsampler = self.upsampling(self.input_kernel_depth,self.base_kernel*4,self.stride)

You could use upsampler = self.upsampling(self.input_kernel_depth,self.base_kernel*4,self.stride).to(identity.device) to solve this issue.
Note however, that you are re-initializing this module with random shape. I’m not familiar with your use case, but this module will not be trained.