python - 如何在 Hadoop 环境中重新训练 Inception 图像分类器

标签 python hadoop tensorflow pyspark hadoop-streaming

最近我在装有 Win10 操作系统的 PC 上试用了 Google 的 Inception 图像分类器。基本上我经历了这个tutorial/manual .

简而言之,这些步骤是:

  • 安装 Docker
  • 安装 TensorFlow
  • 获取图片
  • 检索训练代码 (retrain.py)
  • 重新训练 Inception(运行 retrain.py)
  • 在图像上使用分类器

  • 我的问题是我想在 Hadoop 环境中做同样的事情,不幸的是我不知道该怎么做,因为我是 Hadoop 的新手。我试图用谷歌搜索这个主题,但没有找到任何有用的结果。

    我的 Hadoop 集群包含 4 个带有 Hadoop、Hive 和 Spark 的 Raspberry Pi。如果我是对的,至少有两种方法可以在 Hadoop 上进行再培训:
  • 创建 Hadoop 流以运行 phyton 代码
  • 安装 pySpark 并使用
  • 执行“魔术”


    与第一选择一起,我想这些步骤可能是这些:

    (Python 预装在 NOOB 上)
  • 将图像放入 hdfs
  • 安装 Tensorflow 库和工具
  • 检索 Tensorflow 的训练代码和完整样本集
  • 创建 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)
    


  • 采用第二种方式...我不知道

    如果有人可以提供一些建议,详细的步骤或只是告诉我一些方向,我将不胜感激。

    最佳答案

    您需要为 HDFS 配置环境。您还可以使用 docker 文件在 docker 中运行您的程序:https://github.com/tensorflow/ecosystem/blob/master/docker/Dockerfile.hdfs .您可能需要将您的训练计划复制到图像中。

    然后,将数据复制到 HDFS 后,只需指定 "hdfs://namenode/file/path"作为您的模型输入。 TensorFlow 的 gfile 模块可以识别 HDFS URI。

    关于python - 如何在 Hadoop 环境中重新训练 Inception 图像分类器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40610958/

    相关文章:

    python - 从带有 'Show More' 按钮的网站上抓取信息

    hadoop - pig : get data from hive table and add partition as column

    apache-spark - TIMESTAMP 在 hive 中与 Parquet 的行为不符

    hadoop - Hadoop的JobClient中的submitJob方法抛出空指针

    python - 如何在例如上部署经过训练的 tensorflow 网络树莓派

    tensorflow - 为什么卷积神经网络的张量维度是给定的? - TensorFlow

    python - 无法从 linux、c++ 执行 "main(filename)"python 脚本的 "my_script"函数; pModule = PyImport_Import(pName);返回空

    python - 无法读取 DBF 文件(dbf 库)

    python - 即使使用种子值,tensorflow tf.data.experimental.rejection_resample 也无法实现目标分布

    python - 来自 Pandas 中两个不同来源的堆叠条形图