本人在tensorflow-r1.8.0的C++ API编译安装完毕后,写程序测试的时候一直会报一个错误

2019-08-16 13:59:01.528671: E D:\Tools\tensorflow\tensorflow\core\common_runtime\session.cc:69] Not found: No session factory registered for the given session options: {target: “” config: } Registered factories are {}.
Not found: No session factory registered for the given session options: {target: “” config: } Registered factories are {}.

上网找了,包括内网和外网,都说是要在VS2017属性管理器内的对应配置表内的链接器–》命令行加上以下内容
/machine:x64
/ignore:4049 /ignore:4197 /ignore:4217 /ignore:4221
/WHOLEARCHIVE:tf_cc.lib
/WHOLEARCHIVE:tf_cc_framework.lib
/WHOLEARCHIVE:tf_cc_ops.lib
/WHOLEARCHIVE:tf_core_cpu.lib
/WHOLEARCHIVE:tf_core_direct_session.lib
/WHOLEARCHIVE:tf_core_framework.lib
/WHOLEARCHIVE:tf_core_kernels.lib
/WHOLEARCHIVE:tf_core_lib.lib
/WHOLEARCHIVE:tf_core_ops.lib
/WHOLEARCHIVE:tf_stream_executor.lib
/WHOLEARCHIVE:libjpeg.lib
可是我无论如何编译都没有tf_stream_executor.lib这个文件,无奈修改为以下内容
/machine:x64
/ignore:4049 /ignore:4197 /ignore:4217 /ignore:4221
/WHOLEARCHIVE:tf_cc.lib
/WHOLEARCHIVE:tf_cc_framework.lib
/WHOLEARCHIVE:tf_cc_ops.lib
/WHOLEARCHIVE:tf_core_cpu.lib
/WHOLEARCHIVE:tf_core_direct_session.lib
/WHOLEARCHIVE:tf_core_framework.lib
/WHOLEARCHIVE:tf_core_kernels.lib
/WHOLEARCHIVE:tf_core_lib.lib
/WHOLEARCHIVE:tf_core_ops.lib
/WHOLEARCHIVE:libjpeg.lib
可是会报各种无法解析,或者是MD,MTD的问题,这个即使是修改了也是没用的,现在我将我的处理方法写下

解决方法
如果你已经把所有的lib文件都写在属性配置表里可还是报以下这个错误

D:\Tools\tensorflow\tensorflow\core\common_runtime\session.cc:69] Not found: No session factory registered for the given session options: {target: “” config: } Registered factories are {}.
Not found: No session factory registered for the given session options: {target: “” config: } Registered factories are {}.

那么建议你全部清掉,按照我的顺序来配置,本人一开始没有注意到链接是有顺序要求的,于是随心所欲的配置,结果怎么都解决不了我的问题。

我的tensorflow安装在".\tensorflow",请按照自己本机的地址进行相应的修改
VC++目录–》包含目录:
.\tensorflow
.\tensorflow\tensorflow\contrib\cmake\build
.\tensorflow\tensorflow\contrib\cmake\build\external\eigen_archive
.\tensorflow\third_party\eigen3
.\tensorflow\tensorflow\contrib\cmake\build\protobuf\src\protobuf\src
.\tensorflow\tensorflow\core
VC++目录–》库目录:
.\tensorflow\tensorflow\contrib\cmake\build\protobuf\src\protobuf\Release
.\tensorflow\tensorflow\contrib\cmake\build\tf_cc.dir\Release
.\tensorflow\tensorflow\contrib\cmake\build\tf_cc_ops.dir\Release
.\tensorflow\tensorflow\contrib\cmake\build\tf_cc_framework.dir\Release
.\tensorflow\tensorflow\contrib\cmake\build\tf_core_cpu.dir\Release
.\tensorflow\tensorflow\contrib\cmake\build\tf_core_direct_session.dir\Release
.\tensorflow\tensorflow\contrib\cmake\build\tf_core_framework.dir\Release
.\tensorflow\tensorflow\contrib\cmake\build\tf_core_kernels.dir\Release
.\tensorflow\tensorflow\contrib\cmake\build\tf_core_lib.dir\Release
.\tensorflow\tensorflow\contrib\cmake\build\tf_core_ops.dir\Release
.\tensorflow\tensorflow\contrib\cmake\build\Release
.\tensorflow\tensorflow\contrib\cmake\build
链接器–》输入
zlib\install\lib\zlibstatic.lib
gif\install\lib\giflib.lib
png\install\lib\libpng12_static.lib
jpeg\install\lib\libjpeg.lib
lmdb\install\lib\lmdb.lib
jsoncpp\src\jsoncpp\src\lib_json\Release\jsoncpp.lib
farmhash\install\lib\farmhash.lib
fft2d\src\lib\fft2d.lib
highwayhash\install\lib\highwayhash.lib
snappy\src\snappy\Release\snappy.lib
re2\src\re2\Release\re2.lib
nsync\install\lib\nsync.lib
sqlite\install\lib\sqlite.lib
tf_cc_while_loop.dir\Release\tf_cc_while_loop.lib
libprotobuf.lib
tf_protos_cc.lib
tf_cc.lib
tf_cc_ops.lib
tf_cc_framework.lib
tf_core_cpu.lib
tf_core_direct_session.lib
tf_core_framework.lib
tf_core_kernels.lib
tf_core_lib.lib
tf_core_ops.lib
链接器–》命令行
/machine:x64
/ignore:4049 /ignore:4197 /ignore:4217 /ignore:4221
/WHOLEARCHIVE:tf_cc.lib
/WHOLEARCHIVE:tf_cc_framework.lib
/WHOLEARCHIVE:tf_cc_ops.lib
/WHOLEARCHIVE:tf_core_cpu.lib
/WHOLEARCHIVE:tf_core_direct_session.lib
/WHOLEARCHIVE:tf_core_framework.lib
/WHOLEARCHIVE:tf_core_kernels.lib
/WHOLEARCHIVE:tf_core_lib.lib
/WHOLEARCHIVE:tf_core_ops.lib
/WHOLEARCHIVE:libjpeg.lib

别忘了在你的头文件加上
#pragma once
#define COMPILER_MSVC
#define NOMINMAX

测试代码
#include “pch.h”//或者是stdafx.h
#include
#include <eigen/Dense>
#include “tensorflow/core/public/session.h”
#include “tensorflow/cc/ops/standard_ops.h”

using namespace tensorflow;

// Build a computation graph that takes a tensor of shape [?, 2] and
// multiplies it by a hard-coded matrix.
GraphDef CreateGraphDef()
{
Scope root = Scope::NewRootScope();

auto X = ops::Placeholder(root.WithOpName(“x”), DT_FLOAT,
ops::Placeholder::Shape({ -1, 2 }));
auto A = ops::Const(root, { { 3.f, 2.f },{ -1.f, 0.f } });

auto Y = ops::MatMul(root.WithOpName(“y”), A, X,
ops::MatMul::TransposeB(true));

GraphDef def;
TF_CHECK_OK(root.ToGraphDef(&def));

return def;
}

int main()
{
GraphDef graph_def = CreateGraphDef();

// Start up the session
SessionOptions options;
std::unique_ptr session(NewSession(options));
TF_CHECK_OK(session->Create(graph_def));

// Define some data. This needs to be converted to an Eigen Tensor to be
// fed into the placeholder. Note that this will be broken up into two
// separate vectors of length 2: [1, 2] and [3, 4], which will separately
// be multiplied by the matrix.
std::vector data = { 1, 2, 3, 4 };
auto mapped_X_ = Eigen::TensorMap<Eigen::Tensor<float, 2, Eigen::RowMajor>>
(&data[0], 2, 2);
auto eigen_X_ = Eigen::Tensor<float, 2, Eigen::RowMajor>(mapped_X_);

Tensor X_(DT_FLOAT, TensorShape({ 2, 2 }));
X_.tensor<float, 2>() = eigen_X_;

std::vector outputs;
TF_CHECK_OK(session->Run({ { “x”, X_ } }, { “y” }, {}, &outputs));

// Get the result and print it out
Tensor Y_ = outputs[0];
std::cout << Y_.tensor<float, 2>() << std::endl;

session->Close();
}

Win10+VS2017的C++属性配置表相关推荐

  1. Win10+VS2017+Ceres-Solver-1.13.0配置

    一.工作准备 VS 2017 Cmake Ceres-solover最新版以及早期版本 gflags glog Eigen 注:下载后的包如下图所示,解压缩所有包至合适位置,本文以"D:\P ...

  2. opencv3.4.4 +contrib模块在win10+vs2017的编译和配置

    文章目录 1 准备工作 1.1.下载opencv源文件 1.2.解压文件 1.3.cmake安装 1.4.visual studio 2017的安装 2 cmake编译 2.1.设置cmake的路径 ...

  3. win10+vs2017+PCL1.8.1配置过程及注意事项

    最近需要用到PCL库,在此把配置过程中需要注意的问题记录下来,配置过程中参考了很多博主,在此感谢他们的帮助. pcl1.8.1的相关文件在这里  https://pan.baidu.com/s/1Qd ...

  4. 【FLIR工业相机】一、环境配置:win10+VS2017+qt5+spinnaker+opencv+python

    系列文章目录 一.环境配置:win10+VS2017+qt5+spinnaker+opencv+python 二.相机调用:VS2017+qt5调用FLIR工业相机实时成像 三.图像处理:C++调用p ...

  5. 计算机windows10属性配置,电脑显示属性设置,教你win10系统电脑显示属性的设置教程...

    今天小编教你win10系统电脑显示属性的设置教程,显卡作为计算机最为基本的配置和最重要的配件之一,承担着输出显示图形的任务.不知电脑显卡设置在哪里打开及如何设置的用户,请来看看下面的介绍吧.显卡是一台 ...

  6. 如何在win10+VS2017环境下新建一个简单的WDF示例程序

    上一课我们在win10系统+VS2017开发环境下搭建了WDK驱动程序开发环境的搭建,详见我的博客[如何在win10+VS2017环境下安装USB驱动开发套件WDK],今天我们来尝试建立一个最简单的K ...

  7. win10 VS2017编译Audacity详细教程

    win10 VS2017编译Audacity详细教程 安装Visual Studio2017和git,这里不详细叙述,网上很多教程. 配置wxWidgets a.官网下载地址http://www.wx ...

  8. Win10远程桌面及防火墙配置

    +Title:<Win10远程桌面及防火墙配置> +Author:Hugu +Finished Date:August 10th. 2019. +Reference Linking:htt ...

  9. 使用XML作为配置表,WinForm程序读取配置表来动态显示控件

    一.首先创建一个XML文件定义以下格式(uName:显示的中文字,uKey:代表控件的Name属性,ukeyValue:代表是否显示) 二.项目中定义一个通用类,来存放读取的值 这三个字段对应XML文 ...

最新文章

  1. 多项NLP任务新SOTA,Facebook提出预训练模型BART​
  2. U盘安装CentOS7跳坑记
  3. cnn 验证集 参与训练吗_一个简单的零基础的机器学习教程之二,字母数字验证码识别...
  4. 多态 java 1614787331
  5. mysql数据库查上一条下一条记录,mongodb查询当前记录的上一条和下一条
  6. SQL分页查询,SQL的LIMIT语句用法,SQL如何实现分页查询,SpringBoot实现分页查询。
  7. 制造业各细分行业数据库(2000-2019年)
  8. Oracle 11.2.0.4 RAC 最新补丁下载(11.2.0.4.200714)
  9. 计算机密码忘了 开不了机怎么办,开机密码忘了怎么办
  10. java毕业设计——基于java+java-swing的泡泡堂网络游戏设计与实现(毕业论文+程序源码)——泡泡堂网络游戏
  11. 让你彻底理解线性代数中的概念——《线性代数的本质》系列视频笔记
  12. Aptana开发者工具使用
  13. 计算机自带pdf吗,电脑自带pdf转换工具哪个好?办公必备!
  14. 【福利帖】当我谈学习视觉时,我谈些什么
  15. mezzanine安装(python2.7+nginx+mysql+supervisor)
  16. 怎么制作GIF动态图片,如何做GIF
  17. Kivy App开发之页面背景设置
  18. 将图像DN值定标维热辐射强度之后,可用Planck函数求解出星上亮度温度
  19. ch不是小写英文字母的c语言代码,函数fun的功能是进行字母转换。若形参ch中是小写英文字母,则转换成对应的大写英文字母;若ch中是大写英文字母,则...
  20. OTG声卡Type-C边充边玩数据线方案

热门文章

  1. C++链接器工具错误:LNK2001, LNK2019
  2. 图解排序算法及实现——快速排序 (Quick Sort)
  3. 微信小程序分享到朋友圈,在朋友圈打开报错 error code -501023
  4. K8S集群中Pod资源处于Terminating或Unknown状态排查思路
  5. Qt|QToolBtton实现三态图标及文字变化
  6. ArcGIS投影坐标系下坐标值转换成地理坐标系经纬度
  7. Last Corollary CodeForces - 1364D(dfs树找最小环)
  8. 使用枚举实现编译时可变长数组
  9. getline()详解
  10. mac pdf去水印_PDF水印工具for Mac-PDF水印工具Mac版下载 V1.7-PC6苹果网