Как переобучить классификатор изображений Inception в среде Hadoop

Недавно я попробовал классификатор изображений Google Inception на своем ПК с операционной системой Win10. По сути, я прошел через это учебник/руководство.

Вкратце шаги были такими:

  1. Установить Докер
  2. Установить Тензорфлоу
  3. Получить фотографии
  4. Получить обучающий код (retrain.py)
  5. Переобучить начало (запустить retrain.py)
  6. Используйте классификатор на ваших изображениях

Моя проблема в том, что я хочу сделать то же самое, но в среде Hadoop, и, к сожалению, я понятия не имею, как это сделать, потому что я новичок в Hadoop. Я пытался погуглить эту тему, но не нашел полезного результата.

Мой кластер Hadoop содержит 4 Raspberry Pi с Hadoop, Hive и Spark. Если я прав, есть как минимум два способа переобучения в Hadoop:

  1. Создайте потоковую передачу Hadoop для запуска кода phyton.
  2. Установите pySpark и сделайте «волшебство», используя это

Выбирая первый вариант, я предполагаю, что шаги могут быть такими:

(Python предустановлен на NOOB)

  1. Поместите изображения в hdfs
  2. Установите библиотеку и инструменты Tensorflow.
  3. Получите обучающий код и полный набор образцов Tensorflow.
  4. Создайте потоковую передачу Hadoop для запуска процесса переобучения.

    $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 **)
    
  5. Используйте классификатор на ваших изображениях

    ** = $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)
    

Идем вторым путем... понятия не имею


Если бы кто-нибудь мог дать совет, подробные шаги или просто показать мне какое-то направление, я был бы очень признателен.


person v0rp3x    schedule 15.11.2016    source источник


Ответы (1)


Вам нужно будет настроить вашу среду для HDFS. Вы также можете запустить свою программу в докере с файлом докера: https://github.com/tensorflow/ecosystem/blob/master/docker/Dockerfile.hdfs . Возможно, вам потребуется скопировать программу тренировок в образ.

Затем, после того как вы скопируете данные в HDFS, вы можете просто указать "hdfs://namenode/file/path" в качестве входных данных модели. Модуль gfile TensorFlow может распознавать URI HDFS.

person yuefengz    schedule 16.11.2016