python - 如何使用 pybind11 将 python tf.Tensor 转换为 C++ Tensor
问题描述
我正在使用 pybind11 在 C++ 中开发 Python 库。该库旨在与 TensorFlow 等深度学习包一起使用,因此它公开的一些函数将 TensorFlow 对象作为参数,在特定tf.Tensor
情况下也是如此。在 C++ 级别,这些函数使用以下原型定义:
void f(const py11::object& theTensor) {
...
}
我正在寻找一种方法来让正在传递的 C++tensorflow::Tensor
包裹起来。py11::object
我对 TensorFlow 的理解是它使用 SWIG 为 C++ 接口创建 Python 包装器。但是,我找不到tf.Tensor
包装器的定义位置,而且我不熟悉 SWIG 将 C++ 类公开为 Python 类的方式。
我应该能够从using检索PyObject*
指针,但是我不知道如何将其转换为指向 C++ Tensor 对象的指针。py11::object
theTensor.ptr()
解决方案
推荐阅读
- php - 如何根据他们的关系过滤搜索?(Laravel, php, mysql)
- r - 如何根据列名和附加表替换真值?
- pytest - 当 pytest 夹具从另一个夹具实例产生时是什么意思?
- javascript - 获取新数据时删除重复的 JSON
- c++ - 如何将 obj 文件添加到 C++ 项目
- python - 为什么这个 Python 模块从同一个模块导入一个类?
- google-sheets - 谷歌表格按行和总和查找
- jquery - 在 ASP.NET Core MVC 中使用 jquery 验证进行日期和年龄验证
- docker - docker run -v 后无法访问卷
- solr - 如何提高 Solr 多重 OR 运算的性能