作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在本地训练 EAST 没有任何问题:
https://github.com/foamliu/EAST
但问题是,我需要在云/Azure 机器学习上训练它,而我只能看到“笔记本”。有没有一种方法可以直接访问azure SDK,以便我可以访问云上的数据集并将模型保存为作业输出,而无需使用任何jupyter笔记本?如何在 Azure 机器学习上运行 Pytorch?
最佳答案
您可以按照以下方法进行操作。
首先,在您的 ML 工作区中创建一个计算集群。我已经创建了 GPU 集群,如下所示。
接下来,连接到机器学习工作区并获取客户端对象。
from azure.identity import DefaultAzureCredential, InteractiveBrowserCredential
from azure.ai.ml import MLClient, Input
credential = DefaultAzureCredential()
ml_client = None
try:
ml_client = MLClient.from_config(credential)
except Exception as ex:
print(ex)
subscription_id = "your_sub_id"
resource_group = "You_resource_grp"
workspace = "your_workspace_name"
ml_client = MLClient(credential, subscription_id, resource_group, workspace)
接下来,通过提供如下参数和输入来提交命令作业。
from azure.ai.ml import command
inputs = {
"network":"r50",
"pretrain":True,
"epoch": 10,
"batch_size": 64,
"weight_decay":0.1,
"optim": 'adam',
"lr": 0.001,
"mom": 0.9
}
job = command(
code="./",
command="python train.py --network ${{inputs.network}} --end-epoch ${{inputs.epoch}} --pretrained ${{inputs.pretrain}} --batch-size ${{inputs.batch_size}} --weight-decay ${{inputs.weight_decay}} --lr ${{inputs.lr}} --mom ${{inputs.mom}} --optimizer ${{inputs.optim}}",
inputs=inputs,
environment="azureml:AzureML-pytorch-1.9-ubuntu18.04-py37-cuda11-gpu:6",
compute="gpu-cluster",
instance_count=2,
distribution={
"type": "PyTorch",
"process_count_per_instance": 1,
},
)
在这里,在代码参数中给出所有脚本的源目录。就我而言,它是当前目录本身。接下来根据您的要求在命令参数中给出上述参数。然后是您创建的计算集群的名称。
下一步提交作业。
ml_client.jobs.create_or_update(job)
您将得到如下输出。所有必需的代码均已上传并开始运行。
输出:
在这里您可以看到在实验 EAST
下创建了作业。根据训练脚本,为每个时期保存检查点。
关于azure - 如何在 Azure 机器学习上运行 EAST/自定义 pytorch 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76662131/
我是一名优秀的程序员,十分优秀!