文档章节

如何在Hadoop上运行TensorFlow【部署】

片刻
 片刻
发布于 2017/06/14 10:04
字数 414
阅读 195
收藏 0
点赞 0
评论 0

原文链接 : https://www.tensorflow.org/deploy/hadoop

译文链接 : http://www.apache.wiki/pages/viewpage.action?pageId=10029530

贡献者 : 片刻 ApacheCN Apache中文网

本文档介绍如何在Hadoop上运行TensorFlow。它将扩展到描述在各种集群管理器上运行,但只描述在当前运行在HDFS上。

HDFS

我们假设您熟悉阅读数据

要使用具有TensorFlow的HDFS,请更改用于将数据读取和写入HDFS路径的文件路径。例如:

filename_queue = tf.train.string_input_producer([

    "hdfs://namenode:8020/path/to/file1.csv",

    "hdfs://namenode:8020/path/to/file2.csv",

]) 

如果要使用HDFS配置文件中指定的namenode,请将文件前缀更改为hdfs://default/

启动TensorFlow程序时,必须设置以下环境变量:

  • JAVA_HOME:Java安装的位置。
  • HADOOP_HDFS_HOME:HDFS安装的位置。您还可以通过运行以下设置此环境变量:

    shell source ${HADOOP_HOME}/libexec/hadoop-config.sh

  • LD_LIBRARY_PATH:要包含libjvm.so的路径,以及可选的libhdfs.so的路径,如果您的Hadoop分发版未安装libhdfs.so $HADOOP_HDFS_HOME/lib/native。在Linux上:

    shell export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${JAVA_HOME}/jre/lib/amd64/server

  • CLASSPATH:必须在运行TensorFlow程序之前添加Hadoop jar。CLASSPATH设置${HADOOP_HOME}/libexec/hadoop-config.sh不足。必须按照libhdfs文档中的描述扩展Globs:

    shell CLASSPATH=$($HADOOP_HDFS_HOME}/bin/hadoop classpath --glob) python your_script.py 对于旧版本的Hadoop / libhdfs(早于2.6.0),您必须手动扩展类路径通配符。有关详细信息,请参阅 HADOOP-10903

如果Hadoop集群处于安全模式,则必须设置以下环境变量:

  • KERB_TICKET_CACHE_PATH:Kerberos票证缓存文件的路径。例如:

    shell export KERB_TICKET_CACHE_PATH=/tmp/krb5cc_10002 

如果您正在运行分布式TensorFlow,则所有工作人员必须设置环境变量并安装Hadoop。

© 著作权归作者所有

共有 人打赏支持
片刻
粉丝 93
博文 268
码字总数 306559
作品 0
海淀
高级程序员
在阿里云Kubernetes容器服务上打造TensorFlow实验室

简介 TensorFLow是深度学习和机器学习最流行的开源框架,它最初是由Google研究团队开发的并致力于解决深度神经网络的机器学习研究,从2015年开源到现在得到了广泛的应用。特别是Tensorboard...

必嘫 ⋅ 04/20 ⋅ 0

Kubeflow实战系列: 利用TFJob运行分布式TensorFlow

介绍 本系列将介绍如何在阿里云容器服务上运行Kubeflow, 本文介绍如何使用运行分布式模型训练。 第一篇:阿里云上使用JupyterHub 第二篇:阿里云上小试TFJob 第三篇:利用TFJob运行分布式Ten...

Mr_zebra ⋅ 06/14 ⋅ 0

TensorFlow平台的搭建

一、TensorFlow介绍 TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数...

qq_39525832 ⋅ 05/28 ⋅ 0

第1章 TensorFlow简介

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任...

u013162035 ⋅ 05/24 ⋅ 0

Java调用Keras、Tensorflow模型

实现python离线训练模型,Java在线预测部署。查看原文 目前深度学习主流使用python训练自己的模型,有非常多的框架提供了能快速搭建神经网络的功能,其中Keras提供了high-level的语法,底层可...

ioiogoo ⋅ 04/03 ⋅ 0

机器学习者必知的5种深度学习框架

雷锋网按:本文为雷锋字幕组编译的技术博客,原标题The 5 Deep Learning Frameworks Every Serious Machine Learner Should Be Familiar With,作者为James Le。 翻译 | 杨恕权 张晓雪 陈明霏...

雷锋字幕组 ⋅ 05/03 ⋅ 0

如何部署tensorflow训练的模型

最近深度学习算法被广泛研究和应用,而tensorflow则是被应用最为广泛的工具。tensorflow训练的模型被应用在线上时,主要有3种方式(本文主要讨论java方向的应用): 1:java代码重写预测代码(...

lirainbow0 ⋅ 05/29 ⋅ 0

13- 深度学习之神经网络核心原理与算法-TensorFlow介绍与框架挑选

TensorFlow以及TensorFlow的应用 支持深度学习的框架。torch caffe TensorFlow 简介 使用图(Graph)来表示计算任务 图中的节点被称为op(operation) 一个op获取0个或多个tensor,执行计算,产生...

天涯明月笙 ⋅ 06/01 ⋅ 0

入门 | TensorFlow的动态图工具Eager怎么用?这是一篇极简教程

  选自Github   作者:Madalina Buzau   机器之心编译   参与:王淑婷、泽南      去年 11 月,Google Brain 团队发布了 Eager Execution,一个由运行定义的新接口,为 TensorFl...

机器之心 ⋅ 06/14 ⋅ 0

斯坦福tensorflow教程(二) tensorflow相关运算

1.认识下TensorBoard TensorFlow不仅是一个软件库,而是一整套包括TensorFlow、TensorBoard、Tensor Serving在内的软件包。为了更大程度地利用TensorFlow,我们应该了解如何将它们串联起来应...

致Great ⋅ 05/09 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

005. 深入JVM学习—Java堆内存参数调整

1. JVM整体内存调整图解(调优关键) 实际上每一块子内存区域都会存在一部分可变伸缩区域,其基本流程:如果内存空间不足,则在可变的范围之内扩大内存空间,当一段时间之后,内存空间不紧张...

影狼 ⋅ 15分钟前 ⋅ 0

内存障碍: 软件黑客的硬件视图

此文为笔者近日有幸看到的一则关于计算机底层内存障碍的学术论文,并翻译(机译)而来[自认为翻译的还行],若读者想要英文原版的论文话,给我留言,我发给你。 内存障碍: 软件黑客的硬件视图...

Romane ⋅ 48分钟前 ⋅ 0

SpringCloud 微服务 (七) 服务通信 Feign

壹 继续第(六)篇RestTemplate篇 做到现在,本机上已经有注册中心: eureka, 服务:client、order、product 继续在order中实现通信向product服务,使用Feign方式 下面记录学习和遇到的问题 贰 or...

___大侠 ⋅ 今天 ⋅ 0

gitee、github上issue标签方案

目录 [TOC] issue生命周期 st=>start: 开始e=>end: 结束op0=>operation: 新建issueop1=>operation: 评审issueop2=>operation: 任务负责人执行任务cond1=>condition: 是否通过?op3=>o......

lovewinner ⋅ 今天 ⋅ 0

浅谈mysql的索引设计原则以及常见索引的区别

索引定义:是一个单独的,存储在磁盘上的数据库结构,其包含着对数据表里所有记录的引用指针. 数据库索引的设计原则: 为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索...

屌丝男神 ⋅ 今天 ⋅ 0

String,StringBuilder,StringBuffer三者的区别

这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。 首先说运行速度,或者说是, 1.执行速度 在这方面运行速度快慢为:StringBuilder(线程不安全,可变) > StringBuffer...

时刻在奔跑 ⋅ 今天 ⋅ 0

java以太坊开发 - web3j使用钱包进行转账

首先载入钱包,然后利用账户凭证操作受控交易Transfer进行转账: Web3j web3 = Web3j.build(new HttpService()); // defaults to http://localhost:8545/Credentials credentials = Wallet......

以太坊教程 ⋅ 今天 ⋅ 0

Oracle全文检索配置与实践

Oracle全文检索配置与实践

微小宝 ⋅ 今天 ⋅ 0

mysql的分区和分表

1,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一...

梦梦阁 ⋅ 今天 ⋅ 0

exception.ZuulException: Forwarding error

错误日志 com.netflix.zuul.exception.ZuulException: Forwarding error Caused by: com.netflix.hystrix.exception.HystrixRuntimeException: xxx timed-out and no fallback available. Ca......

jack_peng ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部