Modules usually accept floating point dtypes, so you won’t be able to convert the layers to torch.int16:
lin = nn.Linear(1, 1).to('cuda').to(torch.int16)
> TypeError: nn.Module.to only accepts floating point dtypes, but got desired dtype=torch.int16

If you need a specific range in the output images (based on int16), you could try to clamp the output.