Приступая к работе с Azure Machine Learning for Visual Studio CodeGet started with Azure Machine Learning for Visual Studio Code

В этой статье вы узнаете, как использовать расширение для Машинное обучение Azure для Visual Studio Code обучения и развертывания моделей машинного обучения и глубокого обучения.In this article, you'll learn how to use the extension for Azure Machine Learning for Visual Studio Code to train and deploy machine learning and deep learning models.

Служба машинное обучение Azure обеспечивает поддержку экспериментов, выполняемых локально и на удаленных целевых объектах вычислений.The Azure Machine Learning service provides support for experiments that you run locally and on remote compute targets. Для каждого эксперимента вы можете отслеживать множество запусков, которые можно выполнять как угодно часто с целью итеративной проверки разных методик, гиперпараметров и т. п.For every experiment, you can keep track of multiple runs as often you need to iteratively try different techniques, hyperparameters, and more. Службу "Машинное обучение Azure" можно использовать для отслеживания пользовательских метрик и экспериментов, обеспечивая повторяемость и возможность проверки для задач обработки и анализа данных.You can use Azure Machine Learning to track custom metrics and experiment runs, enabling data science reproducibility and auditability.

Эти модели также можно развернуть для тестирования и потребностей в рабочей среде.You can also deploy these models for your testing and production needs.

предварительные требованияPrerequisites

Установите расширение для Машинное обучение Azure для Visual Studio CodeInstall the extension for Azure Machine Learning for Visual Studio Code

При установке расширения Машинное обучение Azure автоматически устанавливаются два расширения (при наличии доступа к Интернету).When you install the Azure Machine Learning extension, two more extensions are automatically installed (if you have internet access). Они являются расширением учетной записи Azure и расширением Microsoft Python.They're the Azure Account extension and the Microsoft Python extension.

Для работы с Машинное обучение Azure необходимо включить Visual Studio Code в интегрированную среду разработки (IDE) Python.To work with Azure Machine Learning, you need to turn Visual Studio Code into a Python-integrated development environment (IDE). Для использования Python в Visual Studio Codeтребуется расширение Microsoft Python.You need the Microsoft Python extension to use Python in Visual Studio Code. Это расширение устанавливается автоматически с расширением Машинное обучение Azure.This extension is automatically installed with the Azure Machine Learning extension. Расширение делает Visual Studio Code великолепной интегрированной средой разработки и работает в любой операционной системе с различными интерпретаторами Python.The extension makes Visual Studio Code an excellent IDE, and it works on any operating system with a variety of Python interpreters. Расширение Microsoft Python использует все возможности Visual Studio Code для обеспечения автозаполнения, IntelliSense, linting, отладки и модульного тестирования.The Microsoft Python extension uses all of the power of Visual Studio Code to provide autocomplete, IntelliSense, linting, debugging, and unit testing. Расширение также позволяет легко переключаться между средами Python, в том числе виртуальными и conda средами.The extension also allows you to easily switch between Python environments, including virtual and conda environments. Дополнительные сведения об изменении, выполнении и отладке кода Python см. в руководстве по работе со средой Python Hello-World.For more information about editing, running, and debugging Python code, see the Python hello-world tutorial.

Чтобы установить расширение Машинное обучение Azure, выполните следующие действия.To install the Azure Machine Learning extension:

  1. Откройте Visual Studio Code.Open Visual Studio Code.

  2. В веб-браузере перейдите в машинное обучение Azure для расширения Visual Studio Code (Предварительная версия).In a web browser, go to Azure Machine Learning for Visual Studio Code extension (preview).

  3. На этой веб-странице нажмите кнопку установить.On that web page, select Install.

  4. На вкладке расширение выберите установить.On the extension tab, select Install.

  5. Вкладка приветствие расширения открывается в Visual Studio Code, а символ Azure (показанный на следующем снимке экрана) добавляется на панель действий.A welcome tab for the extension opens in Visual Studio Code, and the Azure symbol (outlined in red in the following screenshot) is added to the activity bar.

    Значок Azure на панели действий Visual Studio Code

  6. В диалоговом окне выберите Вход и следуйте инструкциям на экране, чтобы пройти аутентификацию в Azure.In the dialog box, select Sign In and follow the prompts to authenticate with Azure.

    Расширение учетной записи Azure, которое было установлено вместе с Машинное обучение Azure для расширения Visual Studio Code, помогает выполнять аутентификацию с помощью учетной записи Azure.The Azure Account extension, which was installed along with the Azure Machine Learning for Visual Studio Code extension, helps you authenticate with your Azure account. Список команд см. на странице расширения учетной записи Azure.For a list of commands, see the page for the Azure Account extension.

Совет

Ознакомьтесь с расширением интелликоде для Visual Studio Code (Предварительная версия).Check out the IntelliCode extension for Visual Studio Code (preview). Интелликоде предоставляет набор возможностей, поддерживающих искусственный интеллект для IntelliSense в Python, таких как вывод наиболее релевантных автозаполнений на основе текущего контекста кода.IntelliCode provides a set of AI-assisted capabilities for IntelliSense in Python, such as inferring the most relevant autocompletions based on the current code context.

Установка пакета SDK для Машинное обучение AzureInstall the Azure Machine Learning SDK

  1. Убедитесь, что установлен Python 3,5 или более поздней версии и распознается Visual Studio Code.Make sure that Python 3.5 or later is installed and is recognized by Visual Studio Code. Если вы установите его сейчас, перезапустите Visual Studio Code и выберите интерпретатор Python.If you install it now, restart Visual Studio Code and select a Python interpreter.

  2. В окне встроенного терминала укажите интерпретатор Python для использования.In the integrated terminal window, specify the Python interpreter to use. Или нажмите клавишу ВВОД, чтобы использовать интерпретатор Python по умолчанию.Or select Enter to use your default Python interpreter.

    Выбор интерпретатора

  3. В правом нижнем углу окна появится уведомление о том, что пакет SDK машинное обучение Azure устанавливается автоматически.In the lower-right corner of the window, a notification appears, indicating that the Azure Machine Learning SDK is being automatically installed. Только что созданная среда Python является локальной и частной и имеет Visual Studio Code необходимые условия для работы со службой Машинное обучение Azure.The newly created Python environment is local and private, and it has the Visual Studio Code prerequisites for working with the Azure Machine Learning service.

    установить пакет SDK для Машинного обучения Azure для Python.

Начало работы со службой "Машинное обучение Azure"Get started with Azure Machine Learning

Перед началом обучения и развертыванием моделей машинного обучения в Visual Studio Code необходимо создать рабочую область машинное обучение Azure службы в облаке.Before you start training and deploying machine learning models in Visual Studio Code, you need to create an Azure Machine Learning service workspace in the cloud. Эта Рабочая область будет содержать ваши модели и ресурсы.This workspace will contain your models and resources.

Чтобы создать рабочую область и добавить первый эксперимент, выполните следующие действия.To create a workspace and add your first experiment:

  1. На панели действий Visual Studio Code щелкните значок Azure.On the Visual Studio Code activity bar, select the Azure icon. Появится боковая панель "Машинное обучение Azure".The Azure Machine Learning sidebar appears.

    Создание рабочей областиCreate a workspace

  2. Щелкните правой кнопкой мыши подписку Azure и выберите Create Workspace (Создать рабочую область).Right-click your Azure subscription and select Create Workspace. Появится список.A list appears. В примере анимированного изображения имя подписки — Бесплатная пробная версия, а Рабочая область — теамворкспаце.In the example animated image, the subscription name is Free Trial, and the workspace is TeamWorkspace.

  3. Выберите группу ресурсов из списка или создайте новую с помощью мастера в палитре команд.Select a resource group from the list or create a new one by using the wizard in the command palette.

  4. В поле введите уникальное и понятное имя новой рабочей области.In the field, type a unique and clear name for your new workspace. В примере образа Рабочая область называется теамворкспаце.In the example image, the workspace is named TeamWorkspace.

  5. Нажмите клавишу ВВОД, чтобы создать новую рабочую область.Select Enter to create the new workspace. Он отображается в дереве под именем подписки.It appears in the tree, below the subscription name.

  6. Щелкните правой кнопкой мыши узел эксперимент и выберите команду создать эксперимент в контекстном меню.Right-click the Experiment node, and choose Create Experiment from the context menu. Эксперименты используются для отслеживания выполняемых операций в службе "Машинное обучение Azure".Experiments keep track of your runs using Azure Machine Learning.

  7. В поле введите имя эксперимента.In the field, enter a name for your experiment. На снимках экрана примера эксперимент называется MNIST.In the example screenshots, the experiment is named MNIST.

  8. Нажмите клавишу ВВОД, чтобы создать новый эксперимент.Select Enter to create the new experiment. Эксперимент отображается в дереве под именем рабочей области.The experiment appears in the tree, below the workspace name.

  9. В рабочей области можно щелкнуть эксперимент, чтобы установить его в качестве активного эксперимента.In a workspace, you can right-click an experiment to set it as the Active experiment. Активный эксперимент — это текущий эксперимент.The Active experiment is your current experiment. Открытая папка в Visual Studio Code будет связана с этим экспериментом в облаке.Your open folder in Visual Studio Code will be linked to this experiment in the cloud. В этой папке должны находиться локальные скрипты Python.This folder should contain your local Python scripts.

Теперь ключевые метрики будут храниться в истории экспериментов.Now your key metrics will be stored within the experiment history. Аналогично, модели, которые вы обучаете, будут автоматически загружены в Машинное обучение Azure и сохранены вместе с метриками и журналами экспериментов.Similarly, the models you train will be automatically uploaded to Azure Machine Learning and stored alongside your experiment metrics and logs.

Присоединение папки в Visual Studio CodeAttach a folder in Visual Studio Code

Создание целевых объектов вычислений и управление имиCreate and manage compute targets

С Машинное обучение Azure для Visual Studio Code можно подготавливать данные, обучать модели и развертывать их локально и на удаленных целевых объектах вычислений.With Azure Machine Learning for Visual Studio Code, you can prepare your data, train models, and deploy them both locally and on remote compute targets.

Расширение поддерживает несколько удаленных целевых объектов вычислений для Машинное обучение Azure.The extension supports several remote compute targets for Azure Machine Learning. Дополнительные сведения см. в полном списке поддерживаемых целевых объектов вычислений для машинное обучение Azure.For more information, see the full list of supported compute targets for Azure Machine Learning.

Создание целевых объектов вычислений для Машинное обучение Azure в Visual Studio CodeCreate compute targets for Azure Machine Learning in Visual Studio Code

Чтобы создать целевой объект вычислений, сделайте следующее:To create a compute target:

  1. На панели действий Visual Studio Code щелкните значок Azure.On the Visual Studio Code activity bar, select the Azure icon. Появится боковая панель "Машинное обучение Azure".The Azure Machine Learning sidebar appears.

  2. В представлении в виде дерева разверните подписку Azure и рабочую область службы "Машинное обучение Azure".In the tree view, expand your Azure subscription and Azure Machine Learning service workspace. В следующем примере образа имя подписки — Бесплатная пробная версия, а Рабочая область — теамворкспаце.In the following example image, the subscription name is Free Trial, and the workspace is TeamWorkspace.

  3. В узле рабочей области щелкните правой кнопкой мыши узел Compute (Вычисления) и выберите Create Compute (Создать вычислительный ресурс).Under the workspace node, right-click the Compute node and choose Create Compute.

  4. Выберите из списка тип целевого объекта вычислений.Choose the compute target type from the list.

  5. В палитре команд выберите размер виртуальной машины.On the command palette, select a virtual machine size.

  6. В палитре команд в поле введите имя целевого объекта вычислений.On the command palette, in the field, enter a name for the compute target.

  7. В файле JSON config, который открывается на новой вкладке, укажите любые дополнительные свойства.In the JSON config file that opens on a new tab, specify any advanced properties. Можно указать такие свойства, как максимальное число узлов.You can specify properties such as a maximum node count.

  8. После завершения настройки целевого объекта вычислений в правом нижнем углу окна выберите Отправить.When you finish configuring your compute target, in the lower-right corner of the window, select Submit.

Ниже приведен пример создания Машинное обучение Azure вычислений (Амлкомпуте).Here's an example of how to create an Azure Machine Learning compute (AMLCompute):

Создание вычислений AML в Visual Studio CodeCreate AML compute in Visual Studio Code

Файл конфигурации запускаThe run configuration file

Расширение Visual Studio Code автоматически создает локальный целевой объект вычислений и выполняет конфигурации для локальных и DOCKER сред на локальном компьютере.The Visual Studio Code extension automatically creates a local compute target and run configurations for your local and docker environments on your local computer. Файлы конфигурации запуска можно найти в связанном целевом узле вычислений.You can find the run configuration files under the associated compute target node.

Обучение и тонкая настройка моделейTrain and tune models

Используйте Машинное обучение Azure для Visual Studio Code (Предварительная версия) для быстрого прохода по коду, пошагового выполнения и отладки и использования решения для управления исходным кодом.Use Azure Machine Learning for Visual Studio Code (preview) to rapidly iterate on your code, step through and debug, and use your solution for source code control.

Чтобы запустить эксперимент локально с помощью Машинное обучение Azure:To run your experiment locally by using Azure Machine Learning:

  1. На панели действий Visual Studio Code щелкните значок Azure.On the Visual Studio Code activity bar, select the Azure icon. Появится боковая панель "Машинное обучение Azure".The Azure Machine Learning sidebar appears.

  2. В представлении в виде дерева разверните подписку Azure и рабочую область службы "Машинное обучение Azure".In the tree view, expand your Azure subscription and Azure Machine Learning service workspace.

  3. В узле Рабочая область разверните узел вычислений и щелкните правой кнопкой мыши файл конфигурации запуска для вычислений, который требуется использовать.Under the workspace node, expand the Compute node and right-click the Run Config of the compute you want to use.

  4. Щелкните Run Experiment (Выполнить эксперимент).Select Run Experiment.

  5. В проводнике выберите сценарий, который нужно запустить.From the File Explorer, select the script you want to run.

  6. Выберите Просмотреть эксперимент запуск , чтобы просмотреть встроенный портал машинное обучение Azure, чтобы отслеживать запуски и просматривать обученные модели.Select View Experiment Run to see the integrated Azure Machine Learning portal to monitor your runs and see your trained models.

Ниже приведен пример того, как запустить эксперимент локально:Here's an example of how to run an experiment locally:

Запуск эксперимента локальноRun an experiment locally

Использование удаленных вычислений для экспериментов в Visual Studio CodeUse remote computes for experiments in Visual Studio Code

Чтобы использовать удаленный целевой объект вычислений для обучения, необходимо создать файл конфигурации запуска.To use a remote compute target for training, you need to create a run configuration file. Этот файл указывает службе "Машинное обучение Azure" не только место выполнения эксперимента, но и метод подготовки среды.This file tells Azure Machine Learning not only where to run your experiment but also how to prepare the environment.

Файл зависимостей condaThe conda dependencies file

По умолчанию создается новая среда conda, и вы управляете зависимостями установки.By default, a new conda environment is created for you, and your installation dependencies are managed. Однако необходимо указать зависимости и их версии в файле aml_config/conda_dependencies. yml .However, you must specify your dependencies and their versions in the aml_config/conda_dependencies.yml file.

В следующем фрагменте кода из aml_config/conda_dependencies. yml по tensorflow=1.12.0умолчанию указывается.The following snippet from the default aml_config/conda_dependencies.yml specifies tensorflow=1.12.0. Если не указать версию зависимости, будет использоваться последняя версия.If you don't specify the version of the dependency, the latest version will be used. Вы можете добавить в файл конфигурации дополнительные зависимости.You can add additional dependencies in the config file.

# The dependencies defined in this file will be automatically provisioned for runs with userManagedDependencies=False.

name: project_environment
dependencies:
  # The python interpreter version.

  # Currently Azure ML only supports 3.5.2 and later.

- python=3.6.2
- tensorflow=1.12.0

- pip:
    # Required packages for AzureML execution, history, and data preparation.

  - --index-url https://azuremlsdktestpypi.azureedge.net/sdk-release/Preview/E7501C02541B433786111FE8E140CAA1
  - --extra-index-url https://pypi.python.org/simple
  - azureml-defaults

Чтобы запустить эксперимент с Машинное обучение Azure на удаленном целевом объекте вычислений:To run your experiment with Azure Machine Learning on a remote compute target:

  1. На панели действий Visual Studio Code щелкните значок Azure.On the Visual Studio Code activity bar, select the Azure icon. Появится боковая панель "Машинное обучение Azure".The Azure Machine Learning sidebar appears.

  2. В представлении в виде дерева разверните подписку Azure и рабочую область службы "Машинное обучение Azure".In the tree view, expand your Azure subscription and Azure Machine Learning service workspace.

  3. В окне редактора щелкните правой кнопкой мыши скрипт Python и выберите AML: Run as Experiment in Azure (AML: Выполнение эксперимента в Azure).In the editor window, right-click your Python script, and select AML: Run as Experiment in Azure.

  4. В палитре команд выберите целевой объект вычислений.On the command palette, select the compute target.

  5. В палитре команд в поле введите имя конфигурации запуска.On the command palette, in the field, enter the run configuration name.

  6. Измените файл conda_dependencies. yml , чтобы указать зависимости среды выполнения эксперимента.Edit the conda_dependencies.yml file to specify the experiment's runtime dependencies. Затем в правом нижнем углу окна выберите Отправить.Then in the lower-right corner of the window, select Submit.

  7. Выберите Просмотреть эксперимент запуск , чтобы просмотреть встроенный портал машинное обучение Azure, чтобы отслеживать запуски и просматривать обученные модели.Select View Experiment Run to see the integrated Azure Machine Learning portal to monitor your runs and see your trained models.

Ниже приведен пример того, как запустить эксперимент на удаленном целевом объекте вычислений.Here's an example of how to run an experiment on a remote compute target:

Запуск эксперимента на удаленном целевом объектеRun an experiment on a remote target

Развертывание моделей и управление имиDeploy and manage models

В Машинное обучение Azure можно развертывать модели машинного обучения и управлять ими в облаке и на границе.In Azure Machine Learning, you can deploy and manage your machine learning models in the cloud and at the edge.

Зарегистрируйте модель для Машинное обучение Azure из Visual Studio CodeRegister your model to Azure Machine Learning from Visual Studio Code

Теперь, когда модель обучена, вы можете зарегистрировать ее в рабочей области.Now that you've trained your model, you can register it in your workspace. Вы можете отслеживание и развертывание зарегистрированных моделей.You can track and deploy registered models.

Чтобы зарегистрировать модель, выполните следующие действия.To register your model:

  1. На панели действий Visual Studio Code щелкните значок Azure.On the Visual Studio Code activity bar, select the Azure icon. Появится боковая панель "Машинное обучение Azure".The Azure Machine Learning sidebar appears.

  2. В представлении в виде дерева разверните подписку Azure и рабочую область службы "Машинное обучение Azure".In the tree view, expand your Azure subscription and Azure Machine Learning service workspace.

  3. В узле рабочей области щелкните правой кнопкой мыши Models (Модели) и выберите Register Model (Зарегистрировать модель).Under the workspace node, right-click Models and choose Register Model.

  4. В палитре команд в поле введите имя модели.On the command palette, in the field, enter a model name.

  5. В списке выберите, следует ли передать файл модели (для отдельных моделей) или папку модели (для моделей с несколькими файлами, например TensorFlow).From the list, choose whether to upload a model file (for single models) or a model folder (for models with multiple files, such as TensorFlow).

  6. Выберите папку или файл.Select your folder or file.

  7. После завершения настройки свойств модели в правом нижнем углу окна выберите Отправить.When you finish configuring your model properties, in the lower-right corner of the window, select Submit.

Ниже приведен пример регистрации модели для Машинное обучение Azure.Here's an example of how to register your model to Azure Machine Learning:

Регистрация модели в AMLRegistering a Model to AML

Развертывание службы из Visual Studio CodeDeploy your service from Visual Studio Code

В Visual Studio Code можно развернуть веб-службу, чтобы:In Visual Studio Code, you can deploy your web service to:

  • Экземпляры контейнеров Azure (ACI) для тестирования.Azure Container Instances (ACI) for testing.
  • Служба Azure Kubernetes (AKS) для рабочей среды.Azure Kubernetes Service (AKS) for production.

Вам не нужно создавать контейнер ACI для предварительного тестирования, так как контейнеры ACI создаются в режиме реального времени.You don't need to create an ACI container to test in advance, because ACI containers are created on the fly. Тем не менее, необходимо заранее настроить кластеры AKS.However, you do need to configure AKS clusters in advance. Дополнительные сведения см. в статье Развертывание моделей со службой машинное обучение Azure.For more information, see Deploy models with the Azure Machine Learning service.

Для развертывания веб-службы выполните следующие действия.To deploy a web service:

  1. На панели действий Visual Studio Code щелкните значок Azure.On the Visual Studio Code activity bar, select the Azure icon. Появится боковая панель "Машинное обучение Azure".The Azure Machine Learning sidebar appears.

  2. В представлении дерева разверните подписку Azure и рабочую область службы "Машинное обучение Azure".In the tree view, expand your Azure subscription and your Azure Machine Learning service workspace.

  3. В узле рабочей области, разверните узел Models (Модели).Under the workspace node, expand the Models node.

  4. Щелкните правой кнопкой мыши модель, которую необходимо развернуть, и выберите в контекстном меню пункт развернуть службу из зарегистрированной модели .Right-click the model you want to deploy, and choose Deploy Service from Registered Model from the context menu.

  5. В палитре команд выберите целевой объект вычислений, в который требуется выполнить развертывание.On the command palette, choose the compute target you want to deploy to.

  6. В палитре команд в поле введите имя для этой службы.On the command palette, in the field, enter a name for this service.

  7. В палитре команд нажмите клавишу ВВОД на клавиатуре, чтобы найти и выбрать файл скрипта.On the command palette, select the Enter key on your keyboard to browse for and select the script file.

  8. В палитре команд нажмите клавишу ВВОД на клавиатуре, чтобы найти и выбрать файл зависимостей conda.On the command palette, select the Enter key on your keyboard to browse for and select the conda dependency file.

  9. Завершив настройку свойств службы, в правом нижнем углу окна выберите Отправить для развертывания.When you finish configuring your service properties, in the lower-right corner of the window, select Submit to deploy. В файле свойств службы можно указать локальный файл DOCKER или файл Schema. JSON.In the service properties file, you can specify a local docker file or a schema.json file.

Теперь веб-служба развернута.The web service is now deployed.

Ниже приведен пример развертывания веб-службы.Here's an example of how to deploy a web service:

Развертывание веб-службыDeploy a web service

Использование сочетаний клавишUse keyboard shortcuts

С помощью клавиатуры можно получить доступ к Машинное обучение Azure функциям в Visual Studio Code.You can use the keyboard to access Azure Machine Learning features in Visual Studio Code. Наиболее важным сочетанием клавиш является Ctrl + Shift + P, которое отображает палитру команд.The most important keyboard shortcut to know is Ctrl+Shift+P, which displays the command palette. Из палитры команд у вас есть доступ ко всем функциональным возможностям Visual Studio Code, включая сочетания клавиш для наиболее распространенных операций.From the command palette, you have access to all of the functionality of Visual Studio Code, including keyboard shortcuts for the most common operations.

Сочетания клавиш для Машинное обучение Azure Visual Studio CodeKeyboard shortcuts for Azure Machine Learning for Visual Studio Code

Следующие шагиNext steps