DLFlow — это набор инструментов для работы с данными глубокого обучения, который объединяет возможности Spark для обработки больших объёмов данных и Tensorflow для построения моделей. С помощью DLFlow можно быстро обрабатывать исходные данные, обучать модели и выполнять крупномасштабное распределённое прогнозирование, что делает его идеальным решением для производственных задач в офлайн-среде. Используя DLFlow, пользователи могут сосредоточиться на разработке моделей, не заботясь о предварительной обработке данных, построении конвейеров и развёртывании в производственной среде.
Конфигурационное управление: DLFlow позволяет легко изменять конфигурации, такие как параметры моделей, параметры предварительной обработки данных и рабочие процессы, что значительно повышает эффективность работы.
Модульная структура: Задачи и модели представлены в виде плагинов, что упрощает их использование и разработку. Пользователи могут легко регистрировать и использовать собственные задачи и модели в рамках фреймворка.
Самоорганизация задач: Встроенный Workflow-фреймворк автоматически решает зависимости между задачами на основе выходных меток, упрощая построение конвейеров глубокого обучения.
Лучшие практики: Интеграция лучших практик из опыта команды глубокого обучения DIDI для решения различных проблем в офлайн-производстве. Объединение Tensorflow и Spark обеспечивает более эффективное решение задач глубокого обучения в офлайн-режиме.
Перед началом работы убедитесь, что в вашей среде установлены и настроены Hadoop и Spark, а также заданы основные переменные окружения.
Доступ Tensorflow к HDFS:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${JAVA_HOME}/jre/lib/amd64/server
export CLASSPATH=${CLASSPATH}:$(hadoop classpath --glob)
Для получения дополнительной информации о доступе Tensorflow к HDFS см. TensorFlow on Hadoop.
Spark читает и записывает TFRecords:
git clone https://github.com/tensorflow/ecosystem.git
cd ecosystem/spark/spark-tensorflow-connector/
mvn versions:set -DnewVersion=1.14.0
mvn clean install
Дополнительную информацию о чтении и записи TFRecords с помощью Spark см. в spark-tensorflow-connector.
Вы можете установить DLFlow через pip или из исходного кода:
pip install dlflow
git clone https://github.com/didi/dlflow.git
cd dlflow
python setup.py install
Конфигурационные файлы: Используйте файлы конфигурации в каталоге conf для настройки работы DLFlow. Подробные инструкции см. в разделе CONFIGURATION.md.
Запуск в качестве модуля: Запустите DLFlow как модуль Python:
python -m dlflow.main --config <CONFIGURATION FILE>.conf
Запуск как скрипт: Убедитесь, что каталог bin вашей среды Python добавлен в переменную окружения PATH:
export PATH=$PATH:/usr/local/python/bin
Затем запустите DLFlow следующим образом:
dlflow --config <CONFIGURATION FILE>.conf
Более подробную информацию об использовании см. в разделе USAGE.md.
Предопределённая задача | Описание |
---|---|
Merge | Задача слияния признаков, см. раздел 特征融合 |
Encode | Разбор исходных признаков, кодирование и предварительная обработка признаков для непосредственного ввода в модель |
Train | Задача обучения модели |
Evaluate | Задача оценки модели |
Predict | Задача прогнозирования модели, использует Spark для распределённого прогнозирования и обладает способностью обрабатывать большие объёмы данных |
Общая архитектура DLFlow:
Pipeline DLFLow:
Приглашаем вас использовать и участвовать в развитии этого проекта. Более подробную информацию см. в руководстве по вкладу CONTRIBUTING.md.
DLFlow распространяется и используется на условиях лицензии Apache-2.0. Дополнительную информацию см. в файле LICENSE.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )