当前位置: 首页 > news >正文

Windows从源码构建tensorflow(离线编译)

在这里插入图片描述

由一开始的在线编译,到后面的离线编译,一路踩坑无数,历经整整6个半小时,终于编译成功!在此记录一下参考过的文章,有时间整理一下踩坑记录。
一、环境配置
在tensorflow官网上有版本对应关系
在这里插入图片描述

win10
bazel 3.1.0
msys2
tensorflow2.3.0
python3.5-3.8
MSVC2019
protobuf3.9.2 //protobuf的版本貌似非常重要,在tensorflow/tensorflow/workspace.bzl文件中可以查找到对应的版本
cuda10.1
cudnn7.6.5
VS2019 //编译过程中好像因为VS版本问题报过错,查找VS的MSVC版本,在报错文件中会有要求

二、编译前的准备工作,包括下载安装软件,配置环境变量,设置虚拟环境等

三、开始编译

bazel build --config=opt --config=cuda //tensorflow:tensorflow_cc.dll --local_ram_resources=200 --local_cpu_resources=10

四、编译报错处理

C++ compilation of rule ‘//tensorflow/core/kernels:XXX‘ failed

在windows环境下离线编译tensorflow2.2.0的C++动态链接库

Windows10 Bazel 编译 Tensorflow 2 C++ dll 和 lib 文件

Windows编译Tensorflow2.2.0 C++ dll (CPU bazel)

五、在VS上测试
在这里插入图片描述

上面的步骤完成后, 在 G:\tensorflow_c++_2.3(在你放源码的地方) 下的 bazel_bin 中会有相应的 include 文件夹, tensorflow_cc.dlltensorflow_cc.lib 文件, 把它们复制出来放到你的程序里就可以了.

在这里插入图片描述
Window下搭建Tensorflow的C++环境

相关文章:

Windows从源码构建tensorflow(离线编译)

由一开始的在线编译,到后面的离线编译,一路踩坑无数,历经整整6个半小时,终于编译成功!在此记录一下参考过的文章,有时间整理一下踩坑记录。 一、环境配置 在tensorflow官网上有版本对应关系 win10 bazel …...

JMeter处理接口签名sign

写接口脚本的时候,很多接口涉及到签名,今天介绍下用JMeter编写签名脚本的方法。 举个例子,开启红包接口,请求方式为post POST /v1/api/red/open json请求参数 { "red_id":1, "timestamp":"1667033841…...

Android : Java中创建线程的几种方式_简单应用

主方法 MainTest.java package com.example.mythread;import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask;public class MainTest {public static void main(String[] data){ // 以下的方…...

C# Onnx 特征匹配 DeDoDe 检测,不描述---描述,不检测

目录 介绍 效果 模型信息 项目 代码 下载 介绍 github地址:https://github.com/Parskatt/DeDoDe DeDoDe 🎶 Detect, Dont Describe - Describe, Dont Detect, for Local Feature Matching The DeDoDe detector learns to detect 3D consisten…...

第十六章 处理空字符串和 Null 值

文章目录 第十六章 处理空字符串和 Null 值空字符串和 Null 值的默认映射导出值控制空元素的形式 第十六章 处理空字符串和 Null 值 类和属性参数 XMLUSEEMPTYELEMENT XMLIGNORENULL XMLNILNOOBJECT XMLNIL 空字符串和 Null 值的默认映射 下表总结了空字符串和 null 值的…...

MYSQL 处理重复数据

文章目录 前言防止表中出现重复数据统计重复数据过滤重复数据删除重复数据在这里插入代码片后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:Mysql 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正…...

世岩清上:未来科技展览的策展视野

面对科技未来,策展视野的核心在于把握趋势,理解人性,并充分运用科技手段提升观众的体验。以下是我对未来科技展览的策展视野。 一、以人为本的设计理念 科技发展的最终目的是服务于人类,提升人们的生活质量。因此,展…...

如何理解2023vivo开发者大会,使用Rust语言编写蓝河操作系统(BlueOS)?

在2023年vivo开发者大会上,vivo宣布使用Rust语言编写其蓝河操作系统(BlueOS)。 什么是Rust语言? Rust 是一种开放源代码系统编程语言,可用于开发高效、安全的软件。 使用 Rust 可管理内存并控制其低级详细信息。 但你…...

Android flutter this and base files have different roots

类似经历者 Android build fails with certain plugins if project is in a different drive (from sdk) 错误描述 我是windows系统,下载 flutter sdk 我是放在D盘,flutter项目是放在E盘,flutter 执行 pub get的时候,会在我C盘…...

Excel动态选择某一行/列的最后一个数据

选择列的最后一个数据&#xff1a; 以A列为例&#xff0c;使用&#xff1a; LOOKUP(1,0/(A:A<>""),A:A)选择行的最后一个数据&#xff1a; 以第3行为例&#xff0c;使用&#xff1a; LOOKUP(1,0/(3:3<>""),3:3)示例程序 列最后一个数据&a…...

扫描条形码到电脑:Barcode to pc 4.6.3 Crack

像专业人士一样使用条形码将条形码发送到 PC 排名第一的智能手机扫描应用程序 将条形码即时发送到计算机程序并自动执行任务的最简单方法 受到全球 500,000 多名用户的信赖 条形码到 PC&#xff1a;Wi-Fi 扫描仪应用程序&#xff0c;条码到 PC&#xff1a;适用于 Android 和 i…...

从0到0.01入门 Webpack| 003.精选 Webpack面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…...

[数据结构]-红黑树

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、红黑树的…...

Android 13.0 Launcher3 app列表页桌面图标按安装时间排序

1.概述 在13.0的系统rom定制化开发中,在对Launcher3进行功能开发时,系统默认的app列表页排序是安装app名称进行排序的, 由于功能的需要要求按照app安装时间进行排序,这就需要找到相关的排序地方,进行排序方式的修改就能完成这个功能 2.Launcher3 app列表页桌面图标按安装…...

QFont如何设置斜体|QlineEdit设置只能输入数字|QThread::finished信号发出后worker未调用析构函数

QFont如何设置斜体 要设置 QFont 的斜体,你可以使用 setItalic() 方法。以下是一个示例代码: #include <QApplication> #include <QLabel> #include <QFont> int main(int argc, char *argv...

中伟视界:创新解决方案,搭建自适应的AI算法模型训练平台

搭建AI算法模型自训练平台是当今人工智能领域的热门话题&#xff0c;但是其中存在着许多技术难点需要克服。 自训练平台需要具备高效的算法模型&#xff0c;这就要求能够处理庞大的数据量并进行高速计算。 平台需要具备强大的数据管理及存储能力&#xff0c;以满足训练过程中的…...

UML建模图文详解教程08——部署图

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl本文参考资料&#xff1a;《UML面向对象分析、建模与设计&#xff08;第2版&#xff09;》吕云翔&#xff0c;赵天宇 著 部署图概述 部署图(deployment diagram)也被译作配置…...

发布鸿蒙的第一个java应用

1.下载和安装华为自己的app开发软件DevEco Studio HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 2.打开IDE新建工程&#xff08;当前用的IDEA 3.1.1 Release&#xff09; 选择第一个&#xff0c;其他的默认只能用(API9)版本&#xff0c;搞了半天才发现8&#xff…...

【C++干货铺】优先队列 | 仿函数

个人主页点击直达&#xff1a;小白不是程序媛 C系列专栏&#xff1a;C干货铺 代码仓库&#xff1a;Gitee 目录 优先队列&#xff08;priority_queue &#xff09;的介绍和使用 priority_queue的介绍 priority_queue的使用 大堆 小堆 priority_queue的模拟实现 仿…...

突破技术障碍:软件工程师如何应对项目中的难题?

在软件开发项目中&#xff0c;工程师常常会遇到各种技术难题。这些难题可能涉及到复杂的算法、不兼容的系统、难以预见的软件行为&#xff0c;或者其他许多方面。 以下是一些策略和方法&#xff0c;可以帮助软件工程师有效地应对这些挑战&#xff1a; 1、理解问题&#xff1a;…...

从热电阻测量到4-20mA输出:一个运放项目实战中的电源、滤波与保护电路设计全解析

从热电阻测量到4-20mA输出&#xff1a;工业级信号链设计的工程实践 在工业传感器接口开发中&#xff0c;将物理量转换为标准电流信号是最基础却最考验工程师功底的环节。想象一下炼油厂里数百个PT100温度传感器需要将-50℃~200℃的测量值转换为4-20mA信号&#xff0c;通过百米电…...

用不到50块钱的FM模块,我把旧音箱改造成了无线家庭广播系统

50元预算打造全屋无线音频系统&#xff1a;旧音箱改造实战指南 每次看到角落里积灰的老式音箱&#xff0c;总觉得弃之可惜&#xff0c;用起来又嫌接线麻烦。直到发现市面上那些不到50元的FM模块&#xff0c;突然意识到——这些"电子古董"完全可以变身全家覆盖的无线广…...

Phi-3-Mini-128K在计算机网络教学中的应用:协议模拟与故障排查

Phi-3-Mini-128K在计算机网络教学中的应用&#xff1a;协议模拟与故障排查 计算机网络这门课&#xff0c;很多学生都觉得有点“硬核”。协议栈、数据包、三次握手、路由表……这些概念光是听起来就让人头大。传统的教学方式&#xff0c;要么是老师对着PPT讲&#xff0c;要么是…...

运维监控体系的搭建与智能告警系统的实现

运维监控体系的搭建与智能告警系统的实现 在数字化转型的浪潮下&#xff0c;企业IT系统的复杂性和规模不断增长&#xff0c;运维团队面临着前所未有的挑战。如何高效监控系统运行状态&#xff0c;并在故障发生时快速响应&#xff0c;成为保障业务连续性的关键。运维监控体系的…...

Nacos2.x核心源码深度剖析:从通信到业务

Nacos 2.x 的架构演进&#xff0c;其核心在于通信协议的升级与内部模块的解耦。本文将从源码层面&#xff0c;深入剖析其 gRPC 通信层的建立、配置中心&#xff08;Config&#xff09;的发布与监听机制&#xff0c;以及注册中心&#xff08;Naming&#xff09;的服务注册与发现…...

A.每日一题:1855. 下标对中的最大距离

题目链接&#xff1a;1855. 下标对中的最大距离&#xff08;中等&#xff09; 算法原理&#xff1a; 解法一&#xff1a;二分查找 25ms击败5.31% 时间复杂度O(N logN) 以nums1数组的每个元素为基准&#xff0c;要想满足题述条件更新结果&#xff0c;那么nums2的下标 j 必须在 i…...

SAP BOM实战:别再傻傻分不清!用CS_BOM_EXPL_MAT_V2和CS_BOM_EXPL_KND_V1搞定生产与销售订单BOM展开

SAP BOM深度解析&#xff1a;CS_BOM_EXPL_MAT_V2与CS_BOM_EXPL_KND_V1的实战应用指南 在SAP系统中&#xff0c;物料清单&#xff08;BOM&#xff09;是生产制造和销售订单管理的核心组件。对于SAP顾问和开发人员而言&#xff0c;正确理解和应用BOM展开函数是确保系统高效运行的…...

Kettle连接MySQL实战:从JDBC到JNDI的两种配置详解

1. Kettle连接MySQL的两种方式&#xff1a;JDBC与JNDI Kettle&#xff08;现称为Pentaho Data Integration&#xff09;作为一款强大的ETL工具&#xff0c;与MySQL数据库的连接是数据工程师日常工作中的高频操作。在实际项目中&#xff0c;我们通常会遇到两种连接方式&#xff…...

k8s PDB(Pod Disruption Budget)介绍(集群维护或调度时,确保足够Pod)minAvailable、maxUnavailable、自愿中断、kubectl drain、HPA

文章目录Kubernetes PDB&#xff08;Pod Disruption Budget&#xff09;详解一、什么是 PDB&#xff1f;二、什么是“自愿中断”&#xff1f;1. 自愿中断&#xff08;PDB 可控制&#xff09;2. 非自愿中断&#xff08;PDB 无法控制&#xff09;三、PDB 的核心字段1. minAvailab…...

保姆级教程:在CentOS 7上手动安装ClickHouse 21.9.4.35(附目录解析与DBeaver连接)

深度掌控&#xff1a;CentOS 7下手动部署ClickHouse全流程精解 在数据驱动的时代&#xff0c;掌握一款高性能分析型数据库的底层部署逻辑已成为数据工程师的必备技能。不同于一键式安装包带来的"黑箱"体验&#xff0c;手动解压安装ClickHouse能让你真正理解这个列式存…...