Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 需要帮助链接Tensorflow C++;API到C++;项目_C++_Tensorflow_Dll - Fatal编程技术网

C++ 需要帮助链接Tensorflow C++;API到C++;项目

C++ 需要帮助链接Tensorflow C++;API到C++;项目,c++,tensorflow,dll,C++,Tensorflow,Dll,我使用Tensorflow在Python中训练了一个模型并将其导出。我的愿望是用C++程序中的模型进行推理。 我紧随其后,并成功地使用Bazel构建了一些库。所选Tensorflow版本为v4.2.0,不带GPU 在tensorflow目录中生成了以下文件: tensorflow.dll tensorflow.dll.runfiles\u清单 tf_自定义_操作_库_附加_deps.dll.gen.def tensorflow.dll-2.params tensorflow.lib tf_自定

我使用Tensorflow在Python中训练了一个模型并将其导出。我的愿望是用C++程序中的模型进行推理。 我紧随其后,并成功地使用Bazel构建了一些库。所选Tensorflow版本为v4.2.0,不带GPU

在tensorflow目录中生成了以下文件:

  • tensorflow.dll
  • tensorflow.dll.runfiles\u清单
  • tf_自定义_操作_库_附加_deps.dll.gen.def
  • tensorflow.dll-2.params
  • tensorflow.lib
  • tf_自定义_操作_库_附加_deps.dll.gen.def-0.params
  • tensorflow.pdb
  • tensorflow.dll.if.exp
  • tensorflow.dll.if.lib
  • tensorflow_filtered_def_file.def
  • 包括
在Visual Studio 2019中,我为编译器添加了includes目录,并为链接器添加了tensorflow.dll.if.lib和tensorflow.lib作为输入。我解决了所有编译错误,没有任何链接器错误。我将tensorflow.dll复制到源代码的目录中。程序不会抱怨缺少dll

当我运行以下代码时:

#定义NOMINMAX
#包括“tensorflow/core/framework/graph.pb.h”
#包括“tensorflow/core/public/session.h”
#包括“tensorflow/core/public/version.h”
#包括
int main(){

std::cout我忘了我必须在发布模式下运行项目。切换到发布模式后,库正在工作,代码不会崩溃。

它不工作是对你的问题的一个非常模糊的描述。请回答你的问题并添加一些相关信息。我不太确定问题是什么。这就是我为什么要问的原因。它似乎是链接的,但没有实现。我不是DLL专家。你甚至不说你的实际问题是什么!症状是什么?我们怎么知道?我们无法预热您的屏幕。抱歉。问题是函数未按预期工作。第一个函数打印“unknown”而不是版本号,第二个函数使应用程序崩溃。接下来:调试器观察,您的程序在哪里暂停,此时的调用堆栈是什么,等等。
unknown

C:\...\x64\Debug\TensorflowTest.exe (process 10236) exited with code -1073741819.
Press any key to close this window . . .
Exception thrown at 0x00007FFE6DF4B24B (tensorflow.dll) in TensorflowTest.exe: 0xC0000005: Access violation reading location 0x0000000000000018.
    tensorflow.dll!google::protobuf::Map<int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >::InnerMap::begin(void)   
    tensorflow.dll!google::protobuf::Map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int>::clear(void)  
    tensorflow.dll!google::protobuf::Map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int>::~Map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int>(void)  
    tensorflow.dll!tensorflow::ConfigProto::~ConfigProto(void)  
    TensorflowTest.exe!tensorflow::SessionOptions::~SessionOptions()