如何在Tensorflow的c API中使用复杂数据类型?

我已经使用Tensorflow C API一段时间了,我有一个共享构建工作,所以我可以在C api中加载图形并执行如
here所示的简单示例.

我需要在C中使用tensorflow的复杂数据类型,但我找不到任何示例.你能推荐一个非常简单的复杂数据类型吗? 最佳答案 如果有人向你投票,那我很抱歉新手.

对于新用户来说,堆栈溢出可能有点奇怪,但它对于程序员来说是个好地方,你绝对应该尽可能地使用它.

至于你的问题,你可以简单地使用复数library.

如果您有共享构建工作,那么您可以尝试此示例(在您调整所需的必要文件的包含路径之后)

#include <bits/stdc++.h>
#include "tensorflow/core/public/tensor_c_api.h"
#include "tf_session_helper.h"
#include "tf_session_helper.cc"
#include "tf_tensor_helper.cc"
using namespace std;

main()
{ 

    long long adims[] ={3};
    std::complex<double> aData[3]={{1, 2},{3, 4}, {231,452}};     
    auto c = tensorflow::TF_NewTensor_wrapper(TF_DataType::TF_COMPLEX128,adims,(sizeof(adims)/sizeof(*adims)),aData,16*(sizeof(aData)/sizeof(*aData)));
    std::complex<double>* tensor_data = static_cast<std::complex<double>*>(TF_TensorData(c));
    auto dims = TF_NumDims(c);
    auto total_elements = 1;
    for (int i = 0; i < dims; ++i) {
        total_elements *= TF_Dim(c, i);
    }
    for (int i = 0; i < total_elements; ++i) {
        cout << std::real(tensor_data[i]) << " " << std::imag(tensor_data[i]) << endl; 
    }

} 

如果您有任何疑问,请告诉我.

点赞