TensorFlowOnSpark安装教程
来源:互联网 发布:金域名苑 编辑:程序博客网 时间:2024/06/04 17:53
各个环境版本
OS:Ubuntu16.04 LTS
java:jdk 1.8
scala:2.10.4
hadoop:2.7.3
spark:2.1.0
TensorFlowOnSpark:0.12.1安装Hadoop
需要配置3台虚拟机,分别为master,slave,slave2。先配置主节点master,别的slave节点的虚拟机可copy master。安装SSH并配置无密码登录
sudo apt-get install openssh-servercd ~/.ssh/ssh-keygen -t rsacat ./id_rsa.pub >> ./authorized_keys
安装java环境下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html配置环境变量
vim .bashrc
添加export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
source .bashrc
输入java -version,检验是否配置成功
zangtt@master:~$ java -versionopenjdk version "1.8.0_121"OpenJDK Runtime Environment (build 1.8.0_121-8u121-b13-0ubuntu1.16.04.2-b13)OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)
HADOOP下载:http://hadoop.apache.org/releases.html,解压到指定目录
Hadoop集群配置:
1.core-site.xml
2.slaves
3.hdfs-site.xml
- 安装spark(standalone)
安装scala环境
下载:http://www.scala-lang.org/download/
配置环境变量
vim /etc/profile
添加
export SCALA_HOME=/usr/local/share/scalaexport PATH=$PATH:/usr/local/share/scala/bin
保存并退出,输入scala测试是否安装成功
下载spark:http://spark.apache.org/downloads.html ,解压到相应目录
配置环境变量(.bashrc)
spark集群配置
1.spark-env.sh
2.同hadoop中的slaves文件
复制两台虚拟机,修改hostname为slave,slave2
修改3台虚拟机的hosts文件
sudo vim /etc/hosts
- 启动集群
启动hadoop
sbin/start-all.sh
启动spark
sbin/start-all.sh
查看各项服务是否启动,主要NameNode,Master,Worker,DataNode
在master:8080可查看worker
Cores,Memory可在配置文件自行配置,worker数量至少为2,否则之后执行TensorFlowOnSpark会出现问题
- 安装TensorFlowOnSpark
1.下载TensorFlowOnSpark
pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.21.1-cp27-none-linux_x86_64.whl
打包测试代码,便于提交到spark集群
cd TensorFlowOnSpark export TFoS_HOME=$(pwd)pushd srczip -r ../tfspark.zip *popd
2.下载mnist测试数据集,放到TensorFlowOnSpark的目录
3.原始数据集转换为csv格式
cd ${TFoS_HOME}rm -rf examples/mnist/csv${SPARK_HOME}/bin/spark-submit \--master ${MASTER} \${TFoS_HOME}/examples/mnist/mnist_data_setup.py \--output examples/mnist/csv \--format csv
在HDFS上可查看到生成的文件
master:50070
4.训练
先将example/mnist/spark/mnist_dist.py文件中的109行logdir=TFNode.hdfs_path(ctx, args.model)改为logdir=None
${SPARK_HOME}/bin/spark-submit \--master spark://master:7077 \--py-files ${TFoS_HOME}/tfspark.zip,${TFoS_HOME}/examples/mnist/spark/mnist_dist.py \--conf spark.cores.max=4 \--conf spark.task.cpus=2 \--conf spark.executorEnv.JAVA_HOME="$JAVA_HOME" \${TFoS_HOME}/examples/mnist/spark/mnist_spark.py \--cluster_size 2 \--images examples/mnist/csv/train/images \--labels examples/mnist/csv/train/labels \--format csv \--mode train \--model mnist_model
spark.cores.max,spark.cores.cpus,–cluster_size这些参数可根据集群实际情况进行配置。
这一步不生成文件(但在伪分布模式下会在本地生成mnist_model文件,不是很明白),但不影响下一步执行。
5.预测
${SPARK_HOME}/bin/spark-submit \--master ${MASTER} \--py-files ${TFoS_HOME}/tfspark.zip,${TFoS_HOME}/examples/mnist/spark/mnist_dist.py \--conf spark.cores.max=${TOTAL_CORES} \--conf spark.task.cpus=${CORES_PER_WORKER} \--conf spark.executorEnv.JAVA_HOME="$JAVA_HOME" \${TFoS_HOME}/examples/mnist/spark/mnist_spark.py \--cluster_size ${SPARK_WORKER_INSTANCES} \--images examples/mnist/csv/test/images \--labels examples/mnist/csv/test/labels \--mode inference \--format csv \--model mnist_model \--output predictions
解决训练之后找不到mnist_model的问题:
将mnist_dist.py文件中的logdir改为本地路径,如logdir=’/tmp/’+args.model
参考链接:
1.Hadoop完全分布式安装
2.Spark完全分布式安装
3.TensorFlowOnSpark-Github-standalone
4.http://blog.csdn.net/fishseeker/article/details/61918138?utm_source=tuicool&utm_medium=referral
5.https://github.com/yahoo/TensorFlowOnSpark/issues/33
- TensorFlowOnSpark安装教程
- TensorflowOnSpark 安装
- 如何安装Spark & TensorflowOnSpark
- 如何安装Spark & TensorflowOnSpark
- 如何安装Spark & TensorflowOnSpark
- Tensorflowonspark standalone安装
- TensorFlowOnSpark
- Centos6安装TensorFlow及TensorFlowOnSpark
- 雅虎开源TensorflowOnSpark,Ubuntu配置安装TensorflowOnSpark
- <转>雅虎开源TensorflowOnSpark,Ubuntu配置安装TensorflowOnSpark
- 雅虎开源TensorflowOnSpark,Ubuntu配置安装TensorflowOnSpark
- TensorFlowOnSpark stuck
- TensorFlowOnSpark 初体验
- TensorflowOnSpark 介绍与搭建
- TensorflowOnSpark-单机版
- TensorflowOnSpark-集群版
- TensorFlowOnSpark 源码解析
- 学习笔记TF065:TensorFlowOnSpark
- java入门(数组)
- java接口
- 欢迎使用CSDN-markdown编辑器
- Python变量命名用法(一般变量、常量、私有变量、内置变量)
- 四种会话跟踪技术
- TensorFlowOnSpark安装教程
- selenium和Firefox版本不兼容
- 索引的概念和B树
- Mybatis入门--一对多查询
- linux 中特殊符号用法详解
- LightOJ 1074 O
- 四大组件之内容提供者——ContentProvider
- 在 PLSQL 中调试 存储过程和存储函数
- 最近的心情