你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
如何使用工作区诊断
Azure 机器学习提供诊断 API,可用于标识工作区的问题。 诊断报告中返回的错误包括有关如何解决问题的信息。
可使用 Azure 机器学习工作室或 Python SDK 中的工作区诊断。
先决条件
在按照本文中的步骤操作之前,请确保满足以下先决条件:
Azure 机器学习工作区。 如果没有,请使用快速入门:创建工作区资源一文中的步骤创建一个。
若要安装 Python SDK v2,请使用以下命令:
pip install azure-ai-ml azure-identity
要将 SDK 的现有安装更新到最新版本,请使用以下命令:
pip install --upgrade azure-ai-ml azure-identity
有关详细信息,请参阅安装适用于 Azure 机器学习的 Python SDK v2。
- Azure 机器学习工作区。 如果还未拥有工作区,请参阅创建工作区。
- 适用于 Python 的 Azure 机器学习 SDK v1。
来自工作室的诊断
在 Azure 机器学习工作室中,可以在工作区运行诊断以检查设置。 若要运行诊断,请选择页面右上角的“?”图标。 然后选择“运行工作区诊断”。
运行诊断后,将返回检测到的任何问题的列表。 此列表包含指向可能的解决方案的链接。
来自 Python 的诊断
以下代码片段演示如何使用 Python 中的工作区诊断。
适用范围:Python SDK azure-ai-ml v2(最新版)
from azure.ai.ml import MLClient
from azure.ai.ml.entities import Workspace
from azure.identity import DefaultAzureCredential
subscription_id = '<your-subscription-id>'
resource_group = '<your-resource-group-name>'
workspace = '<your-workspace-name>'
ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group)
resp = ml_client.workspaces.begin_diagnose(workspace).result()
# Inspect the attributes of the response you are interested in
for result in resp.application_insights_results:
print(f"Diagnostic result: {result.code}, {result.level}, {result.message}")
响应是一个 DiagnoseResponseResultValue 对象,其中包含有关检测到的工作区问题的信息。
from azureml.core import Workspace
ws = Workspace.from_config()
diag_param = {
"value": {
}
}
resp = ws.diagnose_workspace(diag_param)
print(resp)
响应是一个 JSON 文档,其中包含有关工作区检测到的任何问题的信息。 以下 JSON 是一个示例响应:
{
"value": {
"user_defined_route_results": [],
"network_security_rule_results": [],
"resource_lock_results": [],
"dns_resolution_results": [{
"code": "CustomDnsInUse",
"level": "Warning",
"message": "It is detected VNet '/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<virtual-network-name>' of private endpoint '/subscriptions/<subscription-id>/resourceGroups/<myresourcegroup>/providers/Microsoft.Network/privateEndpoints/<workspace-private-endpoint>' is not using Azure default DNS. You need to configure your DNS server and check https://learn.microsoft.com/azure/machine-learning/how-to-custom-dns to make sure the custom DNS is set up correctly."
}],
"storage_account_results": [],
"key_vault_results": [],
"container_registry_results": [],
"application_insights_results": [],
"other_results": []
}
}
如果未检测到任何问题,则返回空的 JSON 文档。
有关详细信息,请参阅工作区参考。
有关详细信息,请参阅 Workspace.diagnose_workspace() 参考。