numpy - numpy 数组到火炬张量转换的工作
问题描述
我想知道从 NumPy 数组到张量的转换是如何在 PyTorch 和 Tensorflow 中发生的。它是创建整个数组的副本还是有一些就地机制?
其次,如何清除之前转换为张量的 NumPy 数组使用的内存。
解决方案
当设备是 PyTorch 中的 CPU 时,PyTorch 和 Numpy 在内存中使用相同的 n 维数组的内部表示,因此当从 Numpy 数组转换为 PyTorch 张量时,不执行复制操作,仅更改它们内部表示的方式。参考这里。
Python 垃圾收集器使用引用计数来清除未使用的内存,类似于 C++ 中的共享指针。
推荐阅读
- macos - SKBitmap 到 MacOS 上的 Image.ImageSource
- php - 将位置占位符与 WHERE IN 一起使用仅返回一个结果
- javascript - 嵌套数组正在更改为从 JavaScript 到 Rails 的一串值
- reactjs - Jest 测试库 - 多次调用以在点击事件上加载数据
- javascript - 制表器中组数据的 ajax 响应格式是什么?
- reactjs - 如何为包含收藏夹的项目列表页面最好地设计 React 组件和状态?
- javascript - 如何使用 API Gateway 将事件参数传递给 AWS Lambda 函数?
- aws-dms - 我们是否需要 AWS SCT 才能将 DMS 用于 GCP Cloud SQL 到 AWS Aurora MySQL 的数据迁移?
- verilog - 用 RHS 替换电线会改变行为
- mysql - 是否可以使用 apache 箭头与关系数据库集成?