将 Tensorflow 张量从 C 移动到 python
Moving a Tensorflow tensor from C to python
我目前正在使用张量流 c api 处理张量。但是我已经创建了它并完成了我想对它做的操作。现在我想把它移到 python 上做进一步的操作。
我正在使用 tensorflow c-api,因为它提供了 python api 中不可用的功能。所以我的目标是在 C 中创建张量,执行我需要的操作然后将其移动到 python。但是我无论如何都找不到这样做。我的方法是只创建一个 python 绑定和 return 张量,但是这将是 c 中的张量,而不是我需要的 python 张量。有谁知道我可以这样做吗?
Tensorflow 的 PyFunc op 具有将 tensor
转换为 PyObject
的代码,可以在 here
中找到
使用它的示例可以是:
#include "tensorflow/python/lib/core/py_func.h"
Status TensorHandler::ExportTensorAsNumpy(const Tensor *inputTensor) {
PyObject* numpyObject = Py_None;
tensorflow::ConvertTensorToNdarray(*inputTensor, &numpyObject);
//process the numpy further its now stored in numpyObject
//call this when you don't use the numpyObject anymore
Py_DECREF(numpyObject);
}
我目前正在使用张量流 c api 处理张量。但是我已经创建了它并完成了我想对它做的操作。现在我想把它移到 python 上做进一步的操作。
我正在使用 tensorflow c-api,因为它提供了 python api 中不可用的功能。所以我的目标是在 C 中创建张量,执行我需要的操作然后将其移动到 python。但是我无论如何都找不到这样做。我的方法是只创建一个 python 绑定和 return 张量,但是这将是 c 中的张量,而不是我需要的 python 张量。有谁知道我可以这样做吗?
Tensorflow 的 PyFunc op 具有将 tensor
转换为 PyObject
的代码,可以在 here
使用它的示例可以是:
#include "tensorflow/python/lib/core/py_func.h"
Status TensorHandler::ExportTensorAsNumpy(const Tensor *inputTensor) {
PyObject* numpyObject = Py_None;
tensorflow::ConvertTensorToNdarray(*inputTensor, &numpyObject);
//process the numpy further its now stored in numpyObject
//call this when you don't use the numpyObject anymore
Py_DECREF(numpyObject);
}