out = model(inputs)
ls.append(out.detach().cpu().numpy())
out是device:CUDA得到的CUDA tensor。关于detach()的官方文档如下:
Returns a new Tensor, detached from the current graph.
The result will never require gradient.
返回一个new Tensor,只不过不再有梯度。
如果想把CUDA tensor格式的数据改成numpy时,需要先将其转换成cpu float-tensor随后再转到numpy格式。 numpy不能读取CUDA tensor 需要将它转化为 CPU tensor
所以得写成.cpu().numpy()