Поделиться через


Рабочий процесс вывода модели глубокого обучения

Для вывода модели для приложений глубокого обучения Azure Databricks рекомендует использовать следующий рабочий процесс. Например, записные книжки, использующие TensorFlow и PyTorch, приведены в статье Примеры вывода модели глубокого обучения.

  1. Отправляйте данные в таблицы данных Spark. В зависимости от типа данных Azure Databricks рекомендует использовать следующие способы загрузки данных:

    • Файлы изображений (JPG, PNG): загрузите пути к изображениям в таблицу данных Spark. Загрузка изображений и предварительная обработка входных данных выполняется в пользовательских функциях Pandas.
    files_df = spark.createDataFrame(map(lambda path: (path,), file_paths), ["path"])
    
    df = spark.read.format("tfrecords").load(image_path)
    
    • Такие источники данных, как Parquet, CSV, JSON, JDBC и другие метаданные: загрузите данные с помощью источников данных Spark.
  2. Выполнение вывода модели с помощью определяемых пользователем pandas UDF. Пользовательские функции pandas используют Apache Arrow для передачи данных и pandas для работы с данными. Ниже приведены основные шаги рабочего процесса вывода модели с использованием пользовательских функций Pandas.

    1. Загрузка обученной модели: для повышения эффективности Azure Databricks рекомендует транслировать значения веса модели из драйвера и загрузить граф модели, чтобы получить значения веса из транслируемых переменных в пользовательской функции Pandas.
    2. Загрузка и предварительная обработка входных данных: чтобы загрузить данные в пакеты, Azure Databricks рекомендует использовать API tf.data для TensorFlow и класс DataLoader для PyTorch. Оба варианта также поддерживают предварительную выборку и многопотоковую загрузку, чтобы скрыть задержку при привязке операций ввода-вывода.
    3. Прогнозирование модели: выполнение вывода модели в пакете данных.
    4. Отправка прогнозов обратно Spark DataFrames: соберите результаты прогнозирования и верните их как pd.Series.

Примеры вывода модели глубокого обучения

Примеры в этом разделе соответствуют рекомендуемому рабочему процессу вывода при углубленном обучении. В этих примерах показано, как выполнить вывод модели с помощью предварительно обученной модели нейронной сети с глубокими остаточными сетями (ResNets).