文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
如何在 Hadoop 上运行 Tensorflow
本文主要内容是如何在 Hadoop 上运行 Tensorflow。本文目前只写了 Tensorflow 在 Hadoop 分布式文件系统(HDFS)上如何运行,将来会扩充到在各种集群管理器上如何运行。
HDFS
Reading data
为了在 HDFS 上使用 Tensorflow,需要将读写数据的文件路径改为 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 安装路径。也可以通过运行以下代码来配置该环境变量:
source ${HADOOP_HOME}/libexec/hadoop-config.sh
- LD_LIBRARY_PATH :包括 libjvm.so 和 libhdfs.so(可选)的路径。如果你的 Hadoop 版本没有在
$HADOOP_HDFS_HOME/lib/natice
路径下安装 libhdfs.so,则需要在 Linux 上执行以下操作:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${JAVA_HOME}/jre/lib/amd64/server
- CLASSPATH :在运行 Tensoflow 项目之前不止需要添加 Hadoop 的 jar 包。通过
${HADOOP_HOME}/libexec/hadoop-config.sh
创建的 CLASSPATH 路径不满足条件,还需要在 libhdfs 文档中添加 glob:CLASSPATH=$(${HADOOP_HDFS_HOME}/bin/hadoop classpath --glob) python your_script.py
如果你使用的是比 Hadoop/libhdfs 2.6.0 更旧的版本,则应该自己添加 classpath 通配符。详情请见: HADOOP-10903 .
如果 Hadoop 集群在安全模式下,要配置以下环境变量:
- KRB5CCNAME :Kerberos 票据缓存文件路径。例如:
export KRB5CCNAME=/tmp/krb5cc_10002
分布式 TensorFlow
如果您发现本页面存在错误或可以改进,请 点击此处 帮助我们改进。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论