The error message might be a bit confusing, as PyTorch assumes that the first argument to an operation has the desired dtype (which is a ByteTensor in torch._convolution(input, self.weight, ...)) and complains about the self.weight, which is a FloatTensor.