Azure 机器学习 - 使用 Visual Studio Code训练图像分类 TensorFlow 模型

简介: Azure 机器学习 - 使用 Visual Studio Code训练图像分类 TensorFlow 模型

了解如何使用 TensorFlow 和 Azure 机器学习 Visual Studio Code 扩展训练图像分类模型来识别手写数字。

一、环境准备

  • Azure 订阅。 如果没有订阅,注册之后即可试用 Azure 机器学习免费版或付费版。 如果使用的是免费订阅,则仅支持 CPU 群集。
  • 安装 Visual Studio Code,一种轻量型跨平台代码编辑器。
  • Azure 机器学习工作室 Visual Studio Code 扩展。 有关安装说明,请参阅 Azure 机器学习 Visual Studio Code 扩展指南
  • CLI (v2)。 有关安装说明,请参阅安装、设置和使用 CLI (v2)
  • 克隆社区主导的存储库
git clone https://github.com/Azure/azureml-examples.git

二、了解代码

I本教程的代码使用 TensorFlow 来训练可以对手写数字 0-9 进行分类的图像分类机器学习模型。 它通过创建一个神经网络来实现此目的。该神经网络将“28 像素 x 28 像素”图像的像素值作为输入,输出一个包含 10 个概率的列表,一个概率对应于要分类的一个数字。 下面是数据的外观示例。


三、创建工作区

若要在 Azure 机器学习中生成应用程序,第一件必须做的事是创建工作区。 工作区包含用于训练模型的资源以及已训练的模型本身。 有关详细信息,请参阅什么是工作区。

  1. 在 Visual Studio Code 中,从社区主导的存储库打开 azureml-examples/cli/jobs/single-step/tensorflow/mnist 目录。
  2. 在 Visual Studio Code 活动栏上选择 Azure 图标,打开“Azure 机器学习”视图。
  3. 在“Azure 机器学习”视图中,右键单击你的订阅节点,然后选择“创建工作区”。
  4. 此时会显示规范文件。 用以下选项配置规范文件。
$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json
    name: TeamWorkspace
    location: WestUS2
    display_name: team-ml-workspace
    description: A workspace for training machine learning models
    tags:
      purpose: training
      team: ml-team

规格文件将在 WestUS2 区域中创建名为 TeamWorkspace 的工作区。 规格文件中定义的其余选项为工作区提供友好的命名、说明和标记。

  1. 右键单击规范文件,然后选择“AzureML: 执行 YAML”。 创建资源时将使用 YAML 规范文件中定义的配置选项,并使用 CLI (v2) 提交一个作业。 此时,系统会向 Azure 发出请求,以便在你的帐户中创建新的工作区和相关资源。 几分钟后,新工作区会显示在订阅节点中。
  2. TeamWorkspace 设置为默认工作区。 这样会默认将你创建的资源和作业放入该工作区。 在 Visual Studio Code 状态栏上选择“设置 Azure 机器学习工作区”按钮,然后按照提示将 TeamWorkspace 设置为默认工作区。

有关工作区的详细信息,请参阅如何在 VS Code 中管理资源。


四、创建用于训练的 GPU 群集

计算目标是在其中运行训练作业的计算资源或环境。 有关详细信息,请参阅 Azure 机器学习计算目标文档。

  1. 在“Azure 机器学习”视图中,展开你的工作区节点。
  2. 右键单击工作区的“计算”节点内的“计算群集”节点,然后选择“创建计算”

  1. 此时会显示规范文件。 用以下选项配置规范文件。
$schema: https://azuremlschemas.azureedge.net/latest/compute.schema.json
name: gpu-cluster
type: amlcompute
size: Standard_NC12
min_instances: 0
max_instances: 3
idle_time_before_scale_down: 120
  1. 规格文件将创建名为 gpu-cluster 的 GPU 群集,其中最多包含 3 个 Standard_NC12 VM 节点,在处于非活动状态 120 秒后,该群集将自动纵向缩减为 0 个节点。
    有关 VM 大小的详细信息,请参阅 Azure 中的 Linux 虚拟机大小。
  2. 右键单击规范文件,然后选择“AzureML: 执行 YAML”。

几分钟后,新计算目标会出现在工作区的“计算”>“计算群集”节点中。


五、定型模型

在训练过程中训练 TensorFlow 模型的方式是这样的:针对要分类的每个相应的数字,处理在该模型中嵌入的训练数据和学习模式。

与工作区和计算目标一样,训练作业是使用资源模板定义的。 对于本示例,规格文件在 job.yml 文件中定义,如下所示:

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json code: src command: > python train.py environment: azureml:AzureML-tensorflow-2.4-ubuntu18.04-py37-cuda11-gpu:48 compute: azureml:gpu-cluster experiment_name: tensorflow-mnist-example description: Train a basic neural network with TensorFlow on the MNIST dataset.

此规格文件将名为 tensorflow-mnist-example 的、用于运行 train.py Python 脚本中的代码的训练作业提交到最近创建的 gpu-cluster 计算机目标。 使用的环境是 Azure 机器学习提供的特选环境之一,其中包含 TensorFlow 以及运行训练脚本所需的其他软件依赖项。 有关特选环境的详细信息,请参阅 Azure 机器学习特选环境。

若要提交训练作业,请执行以下操作:

  1. 打开“job.yml”文件。
  2. 在文本编辑器中右键单击该文件,然后选择“AzureML: 执行 YAML”。

此时系统会向 Azure 发送请求,以便在工作区中所选的计算目标上运行试验。 此过程需要几分钟。 运行训练作业的时间长度受多种因素(如计算类型和训练数据大小)的影响。 若要跟踪试验进度,请右键单击当前的运行节点,然后选择“在 Azure 门户中查看作业”。

出现请求打开外部网站的对话框时,请选择“打开”。

训练完模型后,运行节点旁边的状态标签会更新为“已完成”。

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
目录
相关文章
|
数据采集 TensorFlow 算法框架/工具
【大作业-03】手把手教你用tensorflow2.3训练自己的分类数据集
本教程详细介绍了如何使用TensorFlow 2.3训练自定义图像分类数据集,涵盖数据集收集、整理、划分及模型训练与测试全过程。提供完整代码示例及图形界面应用开发指导,适合初学者快速上手。[教程链接](https://www.bilibili.com/video/BV1rX4y1A7N8/),配套视频更易理解。
535 0
【大作业-03】手把手教你用tensorflow2.3训练自己的分类数据集
|
9月前
|
机器学习/深度学习 分布式计算 Java
Java 大视界 -- Java 大数据机器学习模型在遥感图像土地利用分类中的优化与应用(199)
本文探讨了Java大数据与机器学习模型在遥感图像土地利用分类中的优化与应用。面对传统方法效率低、精度差的问题,结合Hadoop、Spark与深度学习框架,实现了高效、精准的分类。通过实际案例展示了Java在数据处理、模型融合与参数调优中的强大能力,推动遥感图像分类迈向新高度。
|
人工智能 编解码 算法
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
562 0
|
机器学习/深度学习 人工智能 自然语言处理
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
阿里云人工智能平台 PAI 团队发表的图像编辑算法论文在 MM2024 上正式亮相发表。ACM MM(ACM国际多媒体会议)是国际多媒体领域的顶级会议,旨在为研究人员、工程师和行业专家提供一个交流平台,以展示在多媒体领域的最新研究成果、技术进展和应用案例。其主题涵盖了图像处理、视频分析、音频处理、社交媒体和多媒体系统等广泛领域。此次入选标志着阿里云人工智能平台 PAI 在图像编辑算法方面的研究获得了学术界的充分认可。
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
831 7
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
机器学习/深度学习 人工智能 TensorFlow
基于TensorFlow的深度学习模型训练与优化实战
基于TensorFlow的深度学习模型训练与优化实战
740 3
|
机器学习/深度学习 TensorFlow 算法框架/工具
利用Python和TensorFlow构建简单神经网络进行图像分类
利用Python和TensorFlow构建简单神经网络进行图像分类
428 3
|
机器学习/深度学习 TensorFlow API
机器学习实战:TensorFlow在图像识别中的应用探索
【10月更文挑战第28天】随着深度学习技术的发展,图像识别取得了显著进步。TensorFlow作为Google开源的机器学习框架,凭借其强大的功能和灵活的API,在图像识别任务中广泛应用。本文通过实战案例,探讨TensorFlow在图像识别中的优势与挑战,展示如何使用TensorFlow构建和训练卷积神经网络(CNN),并评估模型的性能。尽管面临学习曲线和资源消耗等挑战,TensorFlow仍展现出广阔的应用前景。
460 5
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
812 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
机器学习/深度学习
如何用贝叶斯方法来解决机器学习中的分类问题?
【10月更文挑战第5天】如何用贝叶斯方法来解决机器学习中的分类问题?

热门文章

最新文章