Интеграция Студии машинного обучения (классическая версия) в Stream Analytics
Внимание
Поддержка Машинное обучение Azure Studio (классическая) завершится 31 августа 2024 г. Мы рекомендуем перейти на Машинное обучение Azure по этой дате.
По состоянию на 1 декабря 2021 г. нельзя создавать новые ресурсы Машинное обучение Studio (классический) (рабочая область и план веб-службы). До 31 августа 2024 г. вы можете продолжать использовать существующие эксперименты Машинное обучение Studio (классические) и веб-службы. Дополнительные сведения см. в разделе:
- Миграция на Машинное обучение Azure из студии Машинное обучение (классическая версия)
- Что такое Машинное обучение Azure?
Машинное обучение Studio (классическая) документация не обновляется и может не обновляться в будущем.
Azure Stream Analytics поддерживает определяемые пользователем функции ,которые вызывают конечные точки Машинное обучение Azure Studio (классическая модель). Библиотека REST API Stream Analytics описывает поддержку REST API для этой функции.
В этой статье содержатся дополнительные сведения, необходимые для успешной реализации этой возможности в Stream Analytics. Также доступен учебник .
Общие сведения. Терминология Студии машинного обучения (классическая версия)
Машинное обучение Studio (классическая модель) предоставляет средство совместной работы, перетаскивания, которое можно использовать для создания, тестирования и развертывания решений прогнозной аналитики в данных. Для взаимодействия с этими ресурсами машинного обучения можно использовать Машинное обучение Studio (классическая модель):
- Рабочая область: контейнер, содержащий все другие ресурсы машинного обучения вместе для управления и управления.
- Эксперимент. Проверка того, что специалисты по обработке и анализу данных создаются для использования наборов данных и обучения модели машинного обучения.
- Конечная точка: объект, который используется для ввода функций, применяет указанную модель машинного обучения и возвращает результат оценки.
- Веб-служба оценки: коллекция конечных точек.
Каждая конечная точка имеет API для пакетного выполнения и синхронного выполнения. В Stream Analytics используется синхронное выполнение. Конкретная служба называется службой запроса и ответа в Машинное обучение Studio (классическая).
ресурсы Машинное обучение Studio (классическая версия), необходимые для заданий Stream Analytics
Для обработки заданий Stream Analytics, конечной точки запроса и ответа, ключа API и определения Swagger все необходимы для успешного выполнения. Stream Analytics имеет дополнительную конечную точку, которая создает URL-адрес для конечной точки Swagger, ищет интерфейс и возвращает определение UDF по умолчанию пользователю.
Настройка Stream Analytics и Машинное обучение Studio (классической) UDF с помощью REST API
С помощью REST API можно настроить задание для вызова функций Машинное обучение Studio (классическая модель):
- Создание задания Stream Analytics.
- Определите входные данные.
- Определите выходные данные.
- Создайте UDF.
- Напишите преобразование Stream Analytics, которое вызывает UDF.
- Запустите задание.
Создание UDF с основными свойствами
Например, в следующем примере кода создается скалярный UDF с именем newudf, который привязывается к конечной точке Машинное обучение Studio (классической). Вы можете найти endpoint
значение (URI службы) на странице справки API для выбранной службы. Значение можно найти apiKey
на главной странице службы.
PUT : /subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.StreamAnalytics/streamingjobs/<streamingjobName>/functions/<udfName>?api-version=<apiVersion>
Пример тела запроса:
{
"name": "newudf",
"properties": {
"type": "Scalar",
"properties": {
"binding": {
"type": "Microsoft.MachineLearning/WebService",
"properties": {
"endpoint": "https://ussouthcentral.services.azureml.net/workspaces/f80d5d7a77fb4b46bf2a30c63c078dca/services/b7be5e40fd194258796fb402c1958eaf/execute ",
"apiKey": "replacekeyhere"
}
}
}
}
}
Вызов конечной точки RetrieveDefaultDefinition для UDF по умолчанию
После создания скелета UDF вам потребуется полное определение UDF. Конечная RetrieveDefaultDefinition
точка помогает получить определение по умолчанию для скалярной функции, привязанной к конечной точке Машинное обучение Studio (классической).
Для следующей полезных данных необходимо получить определение UDF по умолчанию для скалярной функции, привязанной к конечной точке Студии (классической). Он не указывает фактическую конечную точку, так как PUT
запрос уже предоставил его.
Stream Analytics вызывает конечную точку из запроса, если запрос явно предоставил конечную точку. В противном случае Stream Analytics использует конечную точку, на которую первоначально ссылается ссылка. Здесь UDF принимает один строковый параметр (предложение) и возвращает один выход типа string
, указывающий Sentiment
метку для этого предложения.
POST : /subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.StreamAnalytics/streamingjobs/<streamingjobName>/functions/<udfName>/RetrieveDefaultDefinition?api-version=<apiVersion>
Пример тела запроса:
{
"bindingType": "Microsoft.MachineLearning/WebService",
"bindingRetrievalProperties": {
"executeEndpoint": null,
"udfType": "Scalar"
}
}
Выходные данные этого запроса выглядят примерно так:
{
"name": "newudf",
"properties": {
"type": "Scalar",
"properties": {
"inputs": [{
"dataType": "nvarchar(max)",
"isConfigurationParameter": null
}],
"output": {
"dataType": "nvarchar(max)"
},
"binding": {
"type": "Microsoft.MachineLearning/WebService",
"properties": {
"endpoint": "https://ussouthcentral.services.azureml.net/workspaces/f80d5d7a77ga4a4bbf2a30c63c078dca/services/b7be5e40fd194258896fb602c1858eaf/execute",
"apiKey": null,
"inputs": {
"name": "input1",
"columnNames": [{
"name": "tweet",
"dataType": "string",
"mapTo": 0
}]
},
"outputs": [{
"name": "Sentiment",
"dataType": "string"
}],
"batchSize": 10
}
}
}
}
}
Исправление UDF с ответом
Теперь необходимо исправить UDF с предыдущим ответом.
PATCH : /subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.StreamAnalytics/streamingjobs/<streamingjobName>/functions/<udfName>?api-version=<apiVersion>
Текст запроса (выходные данные из RetrieveDefaultDefinition
):
{
"name": "newudf",
"properties": {
"type": "Scalar",
"properties": {
"inputs": [{
"dataType": "nvarchar(max)",
"isConfigurationParameter": null
}],
"output": {
"dataType": "nvarchar(max)"
},
"binding": {
"type": "Microsoft.MachineLearning/WebService",
"properties": {
"endpoint": "https://ussouthcentral.services.azureml.net/workspaces/f80d5d7a77ga4a4bbf2a30c63c078dca/services/b7be5e40fd194258896fb602c1858eaf/execute",
"apiKey": null,
"inputs": {
"name": "input1",
"columnNames": [{
"name": "tweet",
"dataType": "string",
"mapTo": 0
}]
},
"outputs": [{
"name": "Sentiment",
"dataType": "string"
}],
"batchSize": 10
}
}
}
}
}
Реализация преобразования Stream Analytics для вызова UDF
Запросите UDF (здесь с именем scoreTweet
) для каждого входного события и напишите ответ для этого события в выходные данные:
{
"name": "transformation",
"properties": {
"streamingUnits": null,
"query": "select *,scoreTweet(Tweet) TweetSentiment into blobOutput from blobInput"
}
}
Получить помощь
Дополнительные сведения см. на странице Microsoft Q&A для Azure Stream Analytics.
Следующие шаги
- Введение в Azure Stream Analytics
- Анализ мошеннических данных звонков с помощью Stream Analytics и визуализация результатов на панели мониторинга Power BI
- Масштабирование задания Azure Stream Analytics для повышения пропускной способности базы данных
- Справочник по языку запросов Azure Stream Analytics
- REST API управления Azure Stream Analytics