2017-03-27 126 views
0

我有一个C++ tensorflow::Tensor其内容,我想在Python中访问。tensorflow ::张量到蟒蛇张量或numpy.nd_array

我都在寻找能够在tensorflow::Tensor转换为任何合理的PyObject(也不要紧,现在阉这是一个tf.Tensornumpy.nd_array)功能通过Tensorflow C++ Documentation看去。

东张西望虽然Tensorflow代码后,我发现以下线索:

有一个在tensorflow/python/client/tf_session_helper.cc定义的方法TF_Tensor_to_PyObject(TF_Tensor* Tensor, PyObject** out_array)。但是,这是在一个隐藏的Bazel包中定义的,而且在一个匿名的C++名称空间中定义。修改Tensorflow本身似乎很不直观(我将不得不修改Bazel BUILD文件,.h和.cc文件),并编译我自己的Tensorflow以使用此方法。

这种方法的另一个问题是,TF_Tensor!= tensorflow::TensorTF_Tensor在Tensorflow的C-Api中定义,并且在那里,该转换也不适用于公共用途(例如:此包的外部)。

有没有人知道更好的方法来做到这一点? tensorflow::TensorPyObject有没有在搜索时找到的现有实现?

回答