Как применить пакет dprep к входящим данным в Score.py Azure Workbench

Мне было интересно, можно ли применить файлы "подготовки данных" (.dprep) к входящим данным в Score.py, подобно тому, как можно применять объекты конвейера. Это было бы очень полезно для развертывания модели. Чтобы выяснить это, я задал этот вопрос на форумах MSDN и получил ответ, подтверждающий, что это возможно, но мало объяснений о том, как на самом деле это сделать. Ответ был:

в вашем файле Score.py вы можете вызвать пакет dprep из Python SDK, чтобы применить то же преобразование к входящим данным скоринга. убедитесь, что вы связываете ваш файл.dprep с изображением, которое вы создаете.

Итак, мои вопросы:

  • Какую функцию я применяю, чтобы вызвать этот пакет dprep?

    • Это: run_on_data(user_config, package_path, dataflow_idx=0, secrets=None, spark=None)?
  • Как связать его в образ при создании веб-сервиса из CLI?

    • Есть ли переключатель в -f для файлов оценки?

Я просмотрел всю документацию и репозиторий Workbench, но, похоже, не могу найти никаких примеров.

Любые предложения будут высоко ценится!

Спасибо!

РЕДАКТИРОВАТЬ:

Сценарий:

  1. Я импортирую свои данные из действующей базы данных, и скажем, этот набор данных имеет 10 столбцов.

  2. Затем я использую этот набор данных (.dsource) с помощью Workbench, в результате чего получается файл.dprep, который может иметь 13 столбцов.

  3. Этот набор данных.dprep затем импортируется как pandas DataFrame и используется для обучения и тестирования моей модели.

  4. Теперь у меня есть модель, готовая к развертыванию.

  5. Эта модель развернута через управление моделями в службе контейнеров и будет получать данные из действующей базы данных, которая снова будет иметь исходный формат (10 столбцов).

  6. Очевидно, что эта модель была обучена на преобразованных данных (13 столбцов) и не сможет сделать прогноз для набора данных из 10 столбцов.

Какую функцию я могу использовать в файле Score.py, чтобы применить то же преобразование, которое я создал в верстаке?

2 ответа

Мне кажется, это может быть достигнуто с помощью run_on_data(user_config, package_path, dataflow_idx=0, secrets=None, spark=None) метод из azureml.dataprep.package модуль.

Из документации:

run_on_data(user_config, package_path, dataflow_idx=0, secrets=None, spark=None) запускает указанный поток данных на основе источника данных в памяти и возвращает результаты в виде кадра данных. user_config Аргумент - это словарь, который отображает абсолютный путь источника данных (файл.dsource) в источник данных в памяти, представленный в виде списка списков.

Я полагаю, я мог найти то, что вам нужно.

Из этой документации вы бы импортировали из azureml.dataprep пакет.

Там нет никаких примеров, но, выполняя поиск на GitHub, я нашел этот файл, который содержит следующее для запуска подготовки данных.

from azureml.dataprep import package

df = package.run('Data analysis.dprep', dataflow_idx=0)

Надеюсь, это поможет!

Другие вопросы по тегам