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

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

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

file

一、环境准备

  • 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
    

二、了解代码

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

file


三、创建工作区

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

  1. 在 Visual Studio Code 中,从社区主导的存储库打开 azureml-examples/cli/jobs/single-step/tensorflow/mnist 目录。

  2. 在 Visual Studio Code 活动栏上选择 Azure 图标,打开“Azure 机器学习”视图。

  3. 在“Azure 机器学习”视图中,右键单击你的订阅节点,然后选择“创建工作区”。
    file

  4. 此时会显示规范文件。 用以下选项配置规范文件。

    $schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.jsonname: TeamWorkspacelocation: WestUS2display_name: team-ml-workspacedescription: A workspace for training machine learning modelstags:purpose: trainingteam: 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. 右键单击工作区的“计算”节点内的“计算群集”节点,然后选择“创建计算”

file

  1. 此时会显示规范文件。 用以下选项配置规范文件。
   $schema: https://azuremlschemas.azureedge.net/latest/compute.schema.jsonname: gpu-clustertype: amlcomputesize: Standard_NC12min_instances: 0max_instances: 3idle_time_before_scale_down: 120
规格文件将创建名为 `gpu-cluster` 的 GPU 群集,其中最多包含 3 个 Standard\_NC12 VM 节点,在处于非活动状态 120 秒后,该群集将自动纵向缩减为 0 个节点。有关 VM 大小的详细信息,请参阅 [Azure 中的 Linux 虚拟机大小](https://learn.microsoft.com/zh-cn/azure/virtual-machines/sizes?view=azureml-api-2)。
  1. 右键单击规范文件,然后选择“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 门户中查看作业”。

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

file

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

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/179573.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

静态库的概念及影响

1、目标文件的生成: 由编译器针对源文件编译生成,生成的.o或者.so(动态库)或者.a(静态库)也可以看作是目标文件; 2、静态库的生成: 由给定的一堆目标文件以及链接选项,链接器可以生成两种库,分别是静态库…

学 Java 怎么进外企?

作者:**苍何,CSDN 2023 年 实力新星,前大厂高级 Java 工程师,阿里云专家博主,土木转码,现任部门技术 leader,专注于互联网技术分享,职场经验分享。 🔥热门文章推荐&#…

【教程】R语言生物群落(生态)数据统计分析与绘图

查看原文>>>R语言生物群落(生态)数据统计分析与绘图实践 暨融合《R语言基础》、《tidyverse数据清洗》、《多元统计分析》、《随机森林模型》、《回归及混合效应模型》、《结构方程模型》、《统计结果作图》七合一版本方案 R 语言作的开源、自…

httpclient工具类(支持泛型转换)

1、网上搜到的httpclient工具类的问题: 1.1、如下图我们都能够发现这种封装的问题: 代码繁杂、充斥了很多重复性代码返回值单一,无法拿到对应的Java Bean对象及List对象集合实际场景中会对接大量第三方的OPEN API,下述方法的扩展…

预处理详解(二)

1.宏和函数对比 宏通常被应用于执行简单的运算。 比如在两个数中找出较大的一个。 #define MAX(a, b) ((a)>(b)?(a):(b)) 那为什么不用函数来完成这个任务? 原因有二: 1. 用于调用函数和从函数返回的代码可能比实际执行这个小型计算工作所…

Hadoop相关知识点

文章目录 一、主要命令二、配置虚拟机2.1 设置静态ip2.2 修改主机名及映射2.3 修改映射2.4 单机模式2.5 伪分布式2.6 完全分布式 三、初识Hadoop四、三种模式的区别4.1、单机模式与伪分布式模式的区别4.2、特点4.3、配置文件的差异4.3.1、单机模式4.3.2、伪分布式模式4.3.3、完…

ChatGPT 被爆重大隐私泄露!在回答时突然蹦出陌生男子自拍照,你的数据都将被偷走训练模型!

ChatGPT 被爆重大隐私泄露 ! 一位用户在向 ChatGPT 询问 Python 中的代码格式化包 black 的用法时,没有一点点防备,ChatGPT 在回答中插入了一个陌生男子的自拍照(手动捂脸.jpg) 可以看到刚开始 ChatGPT 还相当正常&am…

CentOS停更沉寂,RHEL巨变限制源代:Docker容器化技术的兴起助力操作系统新格局

一、概述 操作系统是计算机系统的核心软件,它管理和控制着计算机的硬件和软件资源,为用户和应用程序提供了一个统一、高效、安全的运行环境。操作系统的发展历史也是计算机技术的发展历史的重要组成部分,它见证了计算机从单机到网络&#xf…

vue工程化开发和脚手架

工程化开发和脚手架 1.开发Vue的两种方式 核心包传统开发模式:基于html / css / js 文件,直接引入核心包,开发 Vue。工程化开发模式:基于构建工具(例如:webpack)的环境中开发Vue。 工程化开…

使用Nokogiri和OpenURI库进行HTTP爬虫

目录 一、Nokogiri库 二、OpenURI库 三、结合Nokogiri和OpenURI进行爬虫编程 四、高级爬虫编程 1、并发爬取 2、错误处理和异常处理 3、深度爬取 总结 在当今的数字化时代,网络爬虫已经成为收集和处理大量信息的重要工具。其中,Nokogiri和OpenUR…

web3 React dapp中编写balance组件从redux取出并展示用户资产

好啊 上文WEB3 在 React搭建的Dapp中通过redux全局获取并存储用户ETH与自定义token与交易所存储数量中 我们拿到了用户的一个本身 和 交易所token数量 并放进了redux中做了一个全局管理 然后 我们继续 先 起来ganache的一个模拟环境 ganache -d然后 我们启动自己的项目 顺手发…

Go语言集成开发环境(IDE):GoLand 2023中文

GoLand 2023是一款由JetBrains开发的现代化、功能丰富的Go语言集成开发环境(IDE)。它提供了智能代码提示和自动完成、强大的内置调试器以及代码重构工具,帮助开发者提高编码效率并确保代码质量。GoLand 2023还支持多种版本控制系统&#xff0…

python3 阿里云api进行巡检发送邮件

python3 脚本爬取阿里云进行巡检 不确定pip能不能安装上,使用时候可以百度一下,脚本是可以使用的,没有问题的 太长时间了,pip安装依赖忘记那些了,使用科大星火询问了下,给了下面的,看看能不能使…

【MATLAB源码-第67期】基于麻雀搜索算法(SSA)的无人机三维地图路径规划,输出最短路径和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 ​麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新颖的元启发式优化算法,它受到麻雀社会行为的启发。这种算法通过模拟麻雀的食物搜索行为和逃避天敌的策略来解决优化问题。SSA通过模…

世微 DC-DC平均电流双路降压恒流驱动器 LED车灯AP2813

产品描述 AP2813 是一款双路降压恒流驱动器,高效率、外 围简单、内置功率管,适用于 5-80V 输入的高精度降 压 LED 恒流驱动芯片。内置功率管输出最大功率可达 12W,最大电流 1.2A。 AP2813 一路直亮,另外一路通过 MODE1 切换 全亮&#xff0c…

Qt 使用QtXlsx操作Excel表

1.环境搭建 QtXlsx是一个用于读写Microsoft Excel文件(.xlsx)的Qt库。它提供了一组简单易用的API,可以方便地处理电子表格数据。 Github下载:GitHub - dbzhang800/QtXlsxWriter: .xlsx file reader and writer for Qt5 官方文档…

前端react入门day02-React中的事件绑定与组件

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 React中的事件绑定 React 基础事件绑定 使用事件对象参数 传递自定义参数 同时传递事件对象和自定义参…

致远OA wpsAssistServlet任意文件读取漏洞复现 [附POC]

文章目录 致远OA wpsAssistServlet任意文件读取漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 致远OA wpsAssistServlet任意文件读取漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用…

基于单片机的无线报警系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、整体设计方案二、 系统的总体方案论证与设计2.1系统的功能要求2.2 系统的技术要求2.3 系统的方案论证及设计2.3.…

K-edge 和逃逸问题

一 k-eage基本概念 1 k-edge概念 K-edge称为K边, 其物理意义是高原子序数物质原子内部K层自由电子, 易与特定能量下X射线光子发生光电吸收作用, 导致对该能量的X射线光子吸收特别大。 而K-edge特性表现为X射线与物质发生相互作用时, 其衰减系数随着能量的增加而逐渐减小, 但在…