【发布时间】:2021-11-30 17:34:12
【问题描述】:
我想知道从 NumPy 数组到张量的转换是如何在 PyTorch 和 Tensorflow 中发生的。它是创建整个数组的副本还是有一些就地机制?
其次,如何清除之前转换为张量的NumPy数组使用的内存。
【问题讨论】:
标签: numpy tensorflow pytorch tensor
我想知道从 NumPy 数组到张量的转换是如何在 PyTorch 和 Tensorflow 中发生的。它是创建整个数组的副本还是有一些就地机制?
其次,如何清除之前转换为张量的NumPy数组使用的内存。
【问题讨论】:
标签: numpy tensorflow pytorch tensor
当设备是 PyTorch 中的 CPU 时,PyTorch 和 Numpy 在内存中使用相同的 n 维数组的内部表示,因此当从 Numpy 数组转换为 PyTorch 张量时,不执行复制操作,仅在内部表示它们的方式被改变。 Refer here.
Python 垃圾收集器使用引用计数来清除未使用的内存,类似于 C++ 中的共享指针。
【讨论】: