安装C语言版本tensorflow

安装

本文中的示例,可以点击这里下载。

参考:https://www.tensorflow.org/install/install_c

官网提供的方法是用一个脚本去安装:

TF_TYPE="cpu" # Change to "gpu" for GPU support
OS="linux" # Change to "darwin" for Mac OS
TARGET_DIRECTORY="/usr/local"
curl -L \"https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-${TF_TYPE}-${OS}-x86_64-1.3.0.tar.gz" |sudo tar -C $TARGET_DIRECTORY -xz

由于https://storage.googleapis.com被墙,若没有系统级的FQ软件,则需要先用浏览器FQ,将其下载回来。当然,你若想安装其他版本,打开https://storage.googleapis.com/tensorflow/,选择你想要的版本安装。下面的示例只是windows x64 cpu和linux x64 cpu两个安装示例。

windows x64 cpu版本

下载该文件:

https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-windows-x86_64-1.3.0.zip

下载得到一个压缩包,里面只有三个文件,解压到指定的目录,比如我的是:

C:\Program Files (x86)\Microsoft SDKs\tensorflow\c

没有tensorflow.lib文件怎么办,难道总是显式调用tensorflow?

别急,参考由动态库文件dll生成lib库文件一文,我们可以通过tensorflow.dll生成tensorflow.lib文件(不是指静态库)。

tensorflow_with_lib

你可以https://github.com/ybtq/learn-tensorflow/01 Windows和Linux安装Tensorflow/tensorflow-cpu-1.3-exp-lib下载现成的文件。

linux x64 cpu版本

下载该文件:

https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-1.3.0.tar.gz

解压即可

sudo tar -C /usr/local -zxf libtensorflow-cpu-linux-x86_64-1.3.0.tar.gz

验证

按照惯例,hello world不可或缺。新建一个helloworld.c文件:

#include <stdio.h>
#include <tensorflow/c/c_api.h>int main() {printf("Hello from TensorFlow C library version %s\n", TF_Version());return 0;
}

windows下编译

新建一个vs工程,将helloworld.c添加到工程,配置如下:
VS include
Linker input

注意,因为只有x64的dll,因此只能编译x64的版本。

Linux下编译

ybt@ubuntu:~/Code/C/tensorflow$ gcc helloworld.c -o helloworld -ltensorflow
ybt@ubuntu:~/Code/C/tensorflow$ export LD_LIBRARY_PATH=/usr/local/lib/
ybt@ubuntu:~/Code/C/tensorflow$ ./helloworld 
Hello from TensorFlow C library version 1.3.0

转载于:https://www.cnblogs.com/Lemuria/p/7599276.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268346.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Idea Error:(6, 32) java: 程序包xxx.xxx包不存解决方(亲测有效)

main方法运行不起来,报错&#xff1a;xxx.xxx包不存在&#xff0c;xxx.xxx找不到&#xff0c;实则相关的包都是存在的&#xff0c;并且可以打包成功。也就是说&#xff0c;可以打包成功但是idea不能运行 报错如下 方法一&#xff1a; 勾选了"delegate IDE build/run act…

2440启动代码分析

;GET和INCLUDE功能相同 ;功能&#xff1a;引进一个被编译过的文件。 GET option.inc GET memcfg.inc GET 2440addr.inc ;EQU为程序中的常量、标号等定义一个等效的字符名称 ;定义SDRAM工作在Refresh模式&#xff0c;SDRAM有两种刷新方式&#xff1a;autorefresh和selfrefresh&a…

如何查看apache,php,mysql的编译参数

如何查看apache,php,mysql的编译参数 查看nginx编译参数&#xff1a;/usr/local/nginx/sbin/nginx -V查看apache编译参数&#xff1a;cat /usr/local/apache2/build/config.nice查看mysql编译参数&#xff1a;cat /usr/local/mysql/bin/mysqlbug | grep CONFIGURE_LINE查看php编…

Mac启动elasticsearch并用代码创建索引

一&#xff1a;启动ElasticSearch ES后台启动 bi目录下执行如下命令 ./elasticsearch -d 二&#xff1a;验证启动是否成功 浏览器输入&#xff0c;返回如下表示启动成功 三&#xff1a;添加es依赖 <dependency><groupId>org.elasticsearch</groupId><…

什么是 I2C

什么是 I2C I2C(Inter&#xff0d;Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线&#xff0c;用于连接微控制器及其外围设备。I2C总线产生于在80年代&#xff0c;最初为音频和视频设备开发&#xff0c;如今主要在服务器管理中使用&#xff0c;其中包括单个组…

阅读笔记一之《软件需求与分析》

关于我们怎样做需求分析&#xff1a; 本学期《软件需求与分析》需要掌握需求调研、需求分析和需求确认三大基本内容。以下为针对每一个内容的自己的理解。 一、需求调研 初识&#xff1a;刚开始与客户接触的时候&#xff0c;一定要建立良好的职业微信。在对需求进行分析时&…

java代码删除ElasticSearch索引

用java代码删除ElasticSearch索引 public class ElasticsearchDeleteIndexTest {public static void main(String[] args) throws IOException {RestHighLevelClient restHighLevelClient new RestHighLevelClient(RestClient.builder(new HttpHost("localhost", 9…

今天

微博一篇。 今天,发烧了,冬天第一次 今天,上海下雪了&#xff0c;冬天第一次 今天,听说是我生日.一年也一次

java代码查询elasticsearch索引

用java代码查询ES索引 public class ElasticsearchSearchTest {public static void main(String[] args) throws IOException {RestHighLevelClient restHighLevelClient new RestHighLevelClient(RestClient.builder(new HttpHost("localhost", 9200, "http&…

强制修改上网本分辨率

强制修改上网本分辨率&#xff0c;上网本分辨率修改工具这个方法可以让上网本实现更高的分辨率&#xff0c;而且不需要装任何软件&#xff0c;对任何显示器都有效哦&#xff01;不用装任何软件&#xff0c;轻松实现上网本虚拟分辨率(新方法)众所周知&#xff0c;上网本的屏幕分…

什么是全局锁?它的应用场景有哪些?

全局锁 顾名思义&#xff0c;全局锁就是对整个数据库实例加锁。MySQL提供了一个加全局读锁的方法&#xff0c;命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候&#xff0c;可以使用这个命令&#xff0c;之后其他线程的以下语句会被阻塞&…

67 个JavaScript和CSS实用工具、库与资源

在这篇文章中&#xff0c;我不会与大家谈论大型的前端框架&#xff0c;如 React、Angular、Vue 等&#xff0c;也没有涉及那些流行的代码编辑器&#xff0c;如 Atom、VS Code、Sublime&#xff0c;我只想与大家分享一个有助于提升开发人员效率的工具列表合集。 或许&#xff0c…

NGINX生命周期-转

转载于:https://www.cnblogs.com/justart/p/7611427.html

ARP防治攻略————服务器防护

根据ARP***的原理&#xff0c;以下介绍全面的防治解决方法&#xff0c;采用下面的解决方法二加方法三&#xff0c;效果就不错了&#xff0c;当然交换机性能许可情况下&#xff0c;最好还是加上交换机绑定MAC地址、服务器端绑定IP MAC。本文是转载网上的资料&#xff0c;在此感…

Flush tables with read lock (FTWRL)全局锁就是对整个数据库实例加锁

一&#xff1a;加全局读锁命令 FLUSH TABLE WITH READ LOCK; 二&#xff1a;执行新增语句 报错了 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near VALUES3,"语文&qu…

阅读笔记,软件需求分析

从头读下来&#xff0c;第一眼看到&#xff0c;成功的软件都是一样的&#xff0c;失败的软件却各有各的失败处&#xff0c;我们编写程序的最终目的是什么&#xff0c;不是让别人知道自己编程能力有多厉害&#xff0c;只要能卖钱就好了&#xff0c;就算你使用的语言已经跟不上版…

深入研究Servlet线程安全性问题

Servlet/JSP技术和ASP、PHP等相比&#xff0c;由于其多线程运行而具有很高的执行效率。由于Servlet/JSP默认是以多线程模式执行的&#xff0c;所以&#xff0c;在编写代码时需要非常细致地考虑多线程的安全性问题。然而&#xff0c;很多人编写Servlet/JSP程序时并没有注意到多线…

查看当前数据库存储引擎

一&#xff1a;查看当前数据库支持的存储引擎 show ENGINES; 二:查看指定数据库所有表使用的存储引擎 使用 show table status from dbname;命令&#xff0c;可以查看指定数据库所有表使用的存储引擎&#xff0c;其中“dbname”为数据库名。 show table status from 库名; 三…

HDU 4857 拓扑排序 优先队列

n个数&#xff0c;已经有大小关系&#xff0c;现给m个约束&#xff0c;规定a在b之前&#xff0c;剩下的数要尽可能往前移。输出序列 大小关系显然使用拓扑结构&#xff0c;关键在于n个数本身就有大小关系&#xff0c;那么考虑反向建图&#xff0c;优先选择值最大的入度为零的点…

很难找齐的常识

【三教】儒教、道教、佛教 【九流】儒家、道家、阴阳家、法家、名家、墨家、纵横家、杂家、农家 【三皇】伏羲、女娲、神农 【五帝】太皞、炎帝、黄帝、少皞、颛顼 【三山】安徽黄山、江西庐山、浙江雁荡山 【五岳】〖中岳〗河南嵩山、〖东岳〗山东泰山、〖西岳〗陕西华山、〖…