centos 6.5 安裝tensorflowOnspark及測試例子
已有環境: spark 2.1, hadoop 2.7, jdk 1.8,scala 2.1
A 安裝python環境
1. 下載anaconda https://mirrors.tuna.tsinghua.edu.cn 找到 Anaconda3-4.2.0-Linux-x86_64.sh
2. 執行命令:bash Anaconda3-4.2.0-Linux-x86_64.sh,對應python3.5,並選擇將anaconda安裝在某個文件夾下,不要裝在根目錄下。
3. 安裝完後,按提示將anaconda3的binary路徑加到.bashrc,這樣以後輸入python命令會自動使用anaconda3的環境。
4. 安裝tensorflow,使用清華鏡像中地址安裝
執行命令:pip install https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/cpu/tensorflow-1.3.0rc2-cp35-cp35m-linux_x86_64.whl
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple protobuf
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-tensorboard
5. Centos 6.5下glibc版本比較低,需升級glibc。這一步需要特別注意,出錯的話系統會啟動不了。參考http://www.cnblogs.com/coyu/p/5744901.html
具體如下:
從http://mirror.bjtu.edu.cn/gnu/glibc/ 下載最新版本,目前是19
tar -zxvf glibc-2.19.tar.gz
mkdir glibc-2.19-build
cd glibc-2.19-build
../glibc-2.19/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make
make install
以上步驟已安裝好tensorflow。
B tensorflowONspark
1 安裝tensorflowOnspark
pip install tensorflowonspark 或者使用鏡像安裝
2. 更改/etc/hosts里的IP地址。便於windows進行訪問操作。
參考:http://www.powerxing.com/install-hadoop-in-centos/
3. 在/../spark2.1/conf/spark-env.sh 添加
export PYSPARK_PYTHON=/path/to/python3.5
export HADOOP_HDFS_HOME=/path to /hadoop-2.7.3
測試例子:(自己測試時需改對應的路徑)
啟動hadoop
啟動spark
數據準備
從http://download.csdn.net/detail/fishseeker/9779536下載數據
需要先將mnist_setup.py中的數據存放地址改為自己數據的地址。
/spark2.1/bin/spark-submit
--master spark://spark1:7077
/TensorFlowOnSpark/examples/mnist/mnist_setup.py
--output examples/mnist/csv
--format csv
可在50070埠的hdfs查看到文件
訓練準備
先創建一個可讀寫的文件夾/TensorFlowOnSpark/model,模型日誌會保存在此文件夾下。
hadoop fs -mkdir 777 /TensorFlowOnSpark/model
hadoop fs -chmod 777 /TensorFlowOnSpark/model
在tensorflowonspark安裝目錄下執行zip -r tfspark.zip tensorflowonspark/*得到tfspark.zip
執行訓練命令
/spark2.1/bin/spark-submit
--master spark://spark1:7077
--conf spark.executorEnv.LD_LIBRARY_PATH="/cloud/jdk1.8/jre/lib/amd64/server"
--conf spark.executorEnv.CLASSPATH="$(/cloud/hadoop-2.7.3/bin/hadoop classpath --glob):${CLASSPATH}"
--py-files /tfspark.zip,/TensorFlowOnSpark/examples/mnist/spark/mnist_dist.py
--conf spark.cores.max=2
--conf spark.task.cpus=1
--conf spark.executorEnv.JAVA_HOME="/cloud/jdk1.8"
/TensorFlowOnSpark/examples/mnist/spark/mnist_spark.py
--cluster_size 2
--images /TensorFlowOnSpark/examples/mnist/csv/train0/images
--labels /TensorFlowOnSpark/examples/mnist/csv/train0/labels
--format csv
--mode train
--model /TensorFlowOnSpark/model/mnist_model
預測
/spark2.1/bin/spark-submit
--master spark://spark1:7077
--conf spark.executorEnv.LD_LIBRARY_PATH="/jdk1.8/jre/lib/amd64/server"
--conf spark.executorEnv.CLASSPATH="$(/hadoop-2.7.3/bin/hadoop classpath --glob):${CLASSPATH}"
--py-files /tfspark.zip,/TensorFlowOnSpark/examples/mnist/spark/mnist_dist.py
--conf spark.cores.max=2
--conf spark.task.cpus=1
--conf spark.executorEnv.JAVA_HOME="/cloud/jdk1.8"
/TensorFlowOnSpark/examples/mnist/spark/mnist_spark.py
--cluster_size 2
--images /TensorFlowOnSpark/examples/mnist/csv/test0/images
--labels /TensorFlowOnSpark/examples/mnist/csv/test0/labels
--format csv
--mode inference
--model /TensorFlowOnSpark/model/mnist_model
--output predictions1
查看
hadoop fs -cat /user/root/predictions/part-00000
關閉
/spark2.1/sbin/stop-slave.sh
/spark2.1/sbin/stop-master.sh
推薦閱讀:
※「人工智慧」下的「失業焦慮」
※《好奇心漫遊》S01E01:走近亞馬遜,AI來了人類會失業嗎?
※一個關於意識的實驗
※中國智能製造行業市場前瞻與投資戰略規劃分析
※人工智慧時代 我們該如何生存