That’s because numpy doesn’t support CUDA, so there’s no way to make it use GPU memory without a copy to CPU first. Remember that .numpy() doesn’t do any copy, but returns an array that uses the same memory as the tensor.