最近,我在使用Win10操作系统的PC上试用了Google的Inception图像分类器。基本上我经历过tutorial/manual。
简而言之,步骤如下:
我的问题是我想要在Hadoop环境中做同样的事情,不幸的是我不知道如何做到这一点,因为我在Hadoop中是新手。我试图谷歌这个话题,但我没有找到任何有用的结果。
我的Hadoop集群包含4个带有Hadoop,Hive和Spark的Raspberry Pi。如果我是对的,至少有两种方法可以在Hadoop上进行再培训:
选择第一个选项我想象的步骤可能是:
(Python预安装在NOOB上)
创建Hadoop Streaming以运行再培训过程
$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-streaming.jar \
-input myInputDirs \
-output myOutputDir \
-mapper org.apache.hadoop.mapred.lib.IdentityMapper \
-reducer /bin/wc
-file (a python file which executes **)
在图片上使用分类器
** = $python tensorflow/examples/image_retraining/retrain.py \
--bottleneck_dir=/tf_files/bottlenecks \
--how_many_training_steps 500 \
--model_dir=/tf_files/inception \
--output_graph=/tf_files/retrained_graph.pb \
--output_labels=/tf_files/retrained_labels.txt \
--image_dir /tf_files/(myImages)
第二种方式......我不知道
如果有人可以提供一些建议,详细步骤或只是告诉我一些方向,我会非常感激。
答案 0 :(得分:0)
您需要为HDFS配置环境。您还可以使用docker文件在docker中运行程序:https://github.com/tensorflow/ecosystem/blob/master/docker/Dockerfile.hdfs。您可能需要将培训计划复制到图像中。
然后,在将数据复制到HDFS之后,您只需指定"hdfs://namenode/file/path"
作为模型输入。 TensorFlow的gfile模块可以识别HDFS URI。