Я использовал следующий код для регистрации фреймов данных Pandas в Azure ML:
workspace = Workspace(<subscription_id>, <resource_group>, <workspace_name>)
from azureml.core import Dataset
datastore = workspace.get_default_datastore()
ds = Dataset.Tabular.register_pandas_dataframe(df, datastore, "output_dataset_name", "description")
Однако, начиная с сегодняшнего дня, я получаю сообщение об ошибке устаревания:
Message: [NOT_SUPPORTED_API_USE_ATTEMPT] The [read_pandas_dataframe] API has been deprecated and is no longer supported
Payload: {"rslex_version": "2.22.2", "api_name": "read_pandas_dataframe", "version": "5.1.6"}
ActivityCompleted: Activity=register_pandas_dataframe, HowEnded=Failure, Duration=14.09 [ms], Info = {'activity_name': 'register_pandas_dataframe', 'activity_type': 'PublicApi', 'app_name': 'TabularDataset', 'source': 'azureml.dataset', 'version': '1.51.0.post1', 'dataprepVersion': '5.1.6', 'completionStatus': 'Failure', 'durationMs': 1.7}, Exception=NotImplementedError; read_pandas_dataframe is no longer supported. Write dataframe out as Parquet or csv and use read_parquet or read_csv instead..
Может ли кто-нибудь порекомендовать лучший способ зарегистрировать фреймы данных Pandas как наборы данных AML после прекращения поддержки? Спасибо!
Ошибка связана с использованием последних пакетов azureml-dataset-runtime
и azureml-dataprep
.
Вы можете либо установить версии пакетов azureml-dataset-runtime
и azureml-dataprep
, совместимые с большинством операций, либо, как предложено в ошибке, записать в CSV или Parquet и создать набор данных, используя последнюю версию SDK v2.
Для первого решения установите azureml-dataset-runtime
с помощью команды ниже и зарегистрируйте набор данных.
pip install azureml-dataset-runtime==1.51.0
Запишите в файл CSV, используя приведенный ниже код.
df.to_csv("./tmp/csv/tmp.csv")
Создайте набор данных, используя любую из версий SDK, упомянутых в документации, но я рекомендую использовать SDK v2, где вам нужно создать yaml
файл для табличного набора данных.
ЯМЛ
type: mltable
paths:
- pattern: ./*.csv
transformations:
- read_delimited:
delimiter: ,
encoding: ascii
header: all_files_same_headers
Используйте код ниже:
from azure.ai.ml.entities import Data
from azure.ai.ml.constants import AssetTypes
my_path = './tmp/csv/'
my_data = Data(
path=my_path,
type=AssetTypes.MLTABLE,
description = "<description>",
name = "<name>",
version='<version>'
)
ml_client.data.create_or_update(my_data)
Рад, что хотя бы одно решение сработало.
Первое решение (установка конкретной версии azureml-dataset-runtime) решило проблему. Спасибо!