假设我在GPU中有一个PyTorch变量:
什么是将此变量复制(而非桥接)到 NumPy 数组中的最佳方法?
或者
通过快速基准测试,
var = Variable(torch.rand((100,100,100))).cuda()
什么是将此变量复制(而非桥接)到 NumPy 数组中的最佳方法?
var.clone().data.cpu().numpy()
或者
var.data.cpu().numpy().copy()
通过快速基准测试,
.clone()
比.copy()
稍微快一些。然而,.clone()
+.numpy()
将创建一个PyTorch变量和一个NumPy桥接器,而.copy()
将创建一个NumPy桥接器和一个NumPy数组。