版权声明:本文为博主原创文章,未经作者允许请勿转载。 https://blog.csdn.net/heiheiya https://blog.csdn.net/heiheiya/article/details/89352829
一、编译tensorflow.dll和tensorflow.lib
请参考链接:
【Tensorflow】Windows以cmake+visual studio方式编译cpu版tensorflow.dll和tensorflow.lib
【Tensorflow】Windows以cmake+visual studio方式编译gpu版tensorflow.dll和tensorflow.lib
二、新建一个visual studio工程
打开visual studio 2015,新建一个空工程,这里命名为tf_test。
新建一个test.cpp源文件。
三、配置工程属性
将工程的编译平台设置成Release x64。
选中工程右键属性。
将编译好的tensorflow的bin目录添加到环境变量Path,或者在配置属性-》调试-》环境里单独设置PATH,但是这样每个工程都需要配置一次,而加入环境变量则一劳永逸。
配置属性-》C/C++-》常规-》附加包含目录,添加tensorflow的include目录。我的是
D:\software\tensorflow1_8\include
配置属性-》C/C++-》预处理器-》预处理器定义,添加
PLATFORM_WINDOWS
配置属性-》链接器-》常规-》附加库目录,添加tensorflow的lib目录。我的是
D:\software\tensorflow1_8\lib
配置属性-》链接器-》输入-》附加依赖项,添加
tensorflow.lib
点击确定按钮,关闭配置属性窗口。
四、编写源码
#define COMPILER_MSVC
#define NOMINMAX
#include "tensorflow\cc\client\client_session.h"
#include "tensorflow\cc\ops\standard_ops.h"
#include "tensorflow\core\framework\tensor.h"
using namespace tensorflow;
using namespace tensorflow::ops;
int main()
{
Scope root = Scope::NewRootScope();
auto A = Const(root, { {3.f, 2.f}, {-1.f, 0.f} });
auto b = Const(root, { {3.f, 5.f} });
auto v = MatMul(root.WithOpName("v"), A, b, MatMul::TransposeB(true));
std::vector<Tensor> outputs;
ClientSession session(root);
TF_CHECK_OK(session.Run({ v }, &outputs));
Tensor Y_ = outputs[0];
std::cout << Y_.tensor<float, 2>() << std::endl;
return 0;
}
编译,运行