Начало работы со службой «Машинное обучение Azure» с использованием пакета SDK для Python
В рамках этой статьи будет использоваться пакет SDK для Машинного обучения Azure для Python 3 для создания и применения рабочей области Службы машинного обучения Azure. Эта рабочая область — основной блок в облаке для экспериментов, обучения и развертывания моделей машинного обучения с помощью Машинного обучения Azure.
Вы начнете с настройки собственного окружения Python и сервера Jupyter Notebook. Сведения о запуске без установки см. в статье Краткое руководство. Начало работы со Службой машинного обучения Azure с помощью портала Azure.
В этом кратком руководстве вы:
Вы создаете рабочую область и ее файл конфигурации, которые можно использовать как необходимые компоненты для работы с другими руководствами и статьями с инструкциями по Машинному обучению. Как в случае с другими службами Azure, со службой «Машинное обучение Azure» связаны определенные ограничения и квоты. Узнайте больше о квотах и способах отправки запросов на получение дополнительных квот.
Следующие ресурсы Azure добавляются автоматически в рабочую область, если они доступны в вашем регионе:
Для выполнения кода из этой статьи требуется пакет SDK для Машинного обучения Azure 1.0.2 или более поздней версии. Код был протестирован с версией 1.0.8.
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу. Опробуйте бесплатную или платную версию Службы машинного обучения Azure.
Установка пакета SDK
Пропустите этот раздел, если вы используете Виртуальную машину для обработки и анализа данных Azure или Azure Databricks.
Прежде чем устанавливать пакет SDK, сначала рекомендуется создать изолированную среду Python. Хотя в этой статье используется Miniconda, также можно использовать полностью установленное средство Anaconda или Python virtualenv.
Установка Miniconda
Скачайте и установите Miniconda. Выберите Python 3.7 или более поздней версии для установки. Не выбирайте версию Python 2.x.
Создание изолированной среды Python
Откройте окно командной строки, а затем создайте среду conda с именем myenv и установите Python 3.6. Пакет SDK для Машинного обучения Azure будет работать с Python 3.5.2 или более поздней версии, но автоматические компоненты машинного обучения не полностью функциональны на Python 3.7.
Установка пакета SDK
В активированной среде conda установите основные компоненты пакета SDK для Машинного обучения Azure с возможностями записной книжки Jupyter. Установка занимает несколько минут в зависимости от конфигурации компьютера.
Установите сервер Jupyter Notebook в среде conda.
Чтобы использовать эту среду для учебников по Машинному обучению Azure, установите следующие пакеты.
Чтобы использовать эту среду для учебников по Машинному обучению Azure, установите автоматические компоненты машинного обучения.
Создание рабочей области
Создайте рабочую область в Jupyter Notebook с помощью пакета SDK для Python.
Создайте каталог, который вы хотите использовать для краткого руководства и учебников, или перейдите к нему.
Чтобы запустить Jupyter Notebook, введите эту команду:
Чтобы просмотреть версию пакета SDK, введите следующий код Python в ячейку записной книжки и выполните его.
Найдите значение для параметра в списке подписок на портале Azure. Используйте любую подписку, в которой вам предоставлена роль владельца или участника.
При выполнении кода вам может быть предложено войти в учетную запись Azure. Когда вы войдете в систему, маркер проверки подлинности будет кэширован локально.
Чтобы просмотреть сведения о рабочей области, например связанное хранилище, реестр контейнеров и хранилище ключей, введите следующий код.
Запись файла конфигурации
Сохраните сведения рабочей области в файле конфигурации в текущем каталоге. Этот файл называется aml_config\config.json.
Этот файл конфигурации рабочей области упрощает дальнейшую загрузку этой же рабочей области. Вы можете загрузить ее с помощью других записных книжек и скриптов в том же каталоге или подкаталоге.
Этот вызов API write_config() позволяет создать файл конфигурации в текущем каталоге. Файл config.json содержит следующее:
Используйте рабочую область
Запустите код, использующий базовые интерфейсы API пакета SDK для отслеживания нескольких экспериментальных запусков.
Просмотр зарегистрированных результатов
После завершения выполнения сведения об экспериментальном запуске можно просмотреть на портале Azure. Чтобы вывести URL-адрес расположения с результатами последнего запуска, используйте следующий код.
Используйте ссылку, чтобы просмотреть в браузере зарегистрированные в журнале значения на портале Azure.
Очистка ресурсов
Созданные ресурсы могут использоваться в качестве необходимых компонентов при работе с другими руководствами по Машинному обучению Azure.
Если вы не планируете использовать ресурсы, созданные в этой статье, удалите их, чтобы плата не взималась.
Дополнительная информация
В этой статье вы создали ресурсы для экспериментирования и развертывания моделей. Кроме того, вы запускали код в записной книжке и изучали журнал выполнения из этого кода в вашей рабочей области в облаке.
Что такое IDE и SDK? «Страшные» термины простыми словами
Современному человеку нередко приходится сталкиваться с различными малопонятными терминами из мира компьютеров, даже если он никогда не занимался и не планирует заниматься программированием.
Пусть даже вы хотите сосредоточиться исключительно на вопросах бизнеса, взвалив всю нагрузку по созданию приложений для вашей компании на разработчиков, некоторое понимание совершаемых ими действий будет совсем не лишним. Ранее мы уже рассматривали такие понятия, как API и Webhook. На этот раз хотелось бы раскрыть тему SDK и IDE.
Что такое IDE?
Термин IDE расшифровывается как Integrated Development Environment или «интегрированная среда разработки» (в русском языке иногда используется аббревиатура ИСР). Это набор инструментов, позволяющих создавать приложения. Иными словами, если говорить очень просто, то IDE – это программа, в которой создаются другие программы.
Изначально, на заре развития компьютерной техники, программисты записывали код на бумаге, после чего его вводили в ЭВМ при помощи перфолент или перфокарт (кстати, и то и другое также изготовлялось из бумаги). Одна малейшая ошибка могла привести к неработоспособности программы. Со временем, когда вычислительная техника достигла определённого уровня развития, появилась возможность редактирования кода прямо на экране терминала. А несколько позже появились и средства, позволяющие набирать текст программы на экране, избегая «бумажной волокиты».
IDE – это не специализированные текстовый редактор!
На самом деле, это куда более сложный инструмент. Сама по себе среда разработки обычно включает в себя и специализированный текстовый редактор, «заточенный» для работы с кодом. Но для полноценного программирования этого, конечно же, недостаточно.
Требуется также наличие хотя бы компилятора и отладчика. Первый необходим для того, чтобы перевести текст программы, созданный с использованием команд, написанных на английском (обычно) языке, в машинные коды, понятные компьютеру. Отладчик же используется для нахождения и устранения ошибок, неизбежно возникающих при написании кода.
По факту же современные IDE включают в себя множество самых разнообразных инструментов, призванных решать те или иные задачи. Например, там могут присутствовать инструменты для визуальной разработки, позволяющие буквально «нарисовать» программу, используя для этого специальный графический редактор.
Самые первые IDE имели простой (даже скажем больше, примитивный) текстовый интерфейс. Затем появились и решения с графическим интерфейсом. Некоторые современные среды разработки отличаются высокой сложностью, и подчас просто чтобы разобраться в них, даже опытному разработчику необходимо сначала прочитать соответствующую документацию.
Какие сегодня существуют IDE
Современные IDE могут быть бесплатными или платными. Существуют также и условно бесплатные решения. В последнем случае среду разработки можно просто скачать в Сети и тут же начать использовать. Но при этом она будет иметь ряд ограничений. Например, в бесплатном варианте популярная среда разработки IntelliJ IDEA позволит работать только с Java, в то время как оформление подписки откроет доступ к ещё целому ряду языков программирования.
Тут уместно будет привести несколько примеров популярных IDE (в алфавитном порядке):
Естественно, что это только некоторые примеры. По факту же количество IDE в мире значительно больше.
Какой IDE самый лучший?
Сам по себе вопрос некорректный. На сегодняшний день в мире существует немало самых разнообразных IDE, предназначенных для решения самых разных задач. И выбор зависит от разных факторов, из которых самым главным является список стоящих перед программистом задач.
Например, если планируется создавать программные продукты для экосистемы Apple, то вполне логичным выглядит решение воспользоваться таким решением, как XCode. Разработчики под Windows нередко используют Visual Studio. А среди пишущих на языке программирования Python популярность завоевала среда разработки PyCharm. Список примеров можно продолжать.
Влияет также и то, насколько опытным является разработчик. Так, новичка вполне может удовлетворить среда разработки Code::Blocks – с открытым кодом, для разных платформ, простая и нетребовательная к ресурсам, предназначенная для тех, кто пишет на C, C++ или Fortran (да, этот динозавр всё ещё используется, причём довольно активно). Однако целый ряд ограничений делает невозможным применение данного решения в сложных проектах, профессионалам оно точно не подойдёт.
Немалую роль могут сыграть и личные предпочтения. Например, человеку может банально не понравиться внешний вид среды разработки. Иными словами, можно посоветовать разработчику использовать ту или иную IDE, в зависимости от стоящих перед ним задач, но назвать однозначно самую лучшую – невозможно.
Что такое SDK и чем он отличается от API
Как показывает практика, понять термин SDK новичку бывает несколько сложнее, нежели описанный выше IDE. Нередко также возникают сложности с пониманием различий между SDK и API. И действительно, эти термины часто используются вместе. Но синонимами они при этом не являются!
Простая расшифровка термина – Software Development Kit, набор средств разработки – мало что объясняет. Попробуем объяснить всё максимально простым языком (для начала рекомендуем ознакомиться с нашим материалом про API, если вы ещё не сделали этого ранее).
Итак, SDK – это набор средств, при помощи которого разработчики могут создавать программное обеспечение под самые разные платформы. Данный набор может включать в себя самые разнообразные инструменты (утилиты, библиотеки, драйверы, документацию, фрагменты готового кода и многое другое), позволяющие писать и внедрять приложения. При этом SDK включает в себя и API (а иногда и сразу несколько), который используется для взаимодействия с платформой, под которую и пишется софт.
Простыми словами про SDK
Представьте себе дом, к которому подведена электрическая проводка, для которой существует подробная спецификация (описание). Вот данная спецификация и является API. А SDK – это набор инструментов и комплектующих, позволяющий вам создавать самые разнообразные приборы, которые вы потом сможете подключать к этой электрической сети. То есть описание сети (платформы, для которой мы пишем приложения) важно, но одним только этим описанием для создания приборов не обойтись.
Приведём и другой, более «программистский» пример. Так, язык программирования, который используется при написании программы, можно представить себе как API. А в качестве SDK при этом будут выступать инструменты для написания и отладки кода.
Конечно же, оба этих примера очень поверхностны, их задача – лишь передать суть. По факту же, для глубокого понимания таких понятий, как SDK и API необходимо обладать специальными знаниями и опытом. Иначе говоря, быть разработчиком.
Откуда берётся SDK
Набор средств разработки предоставляется создателем платформы, заинтересованным в том, чтобы под неё создавались приложения. Обычно его можно просто скачать из интернета, нередко бывает и так, что SDK распространяется совершенно бесплатно. Это делается для того, чтобы заинтересовать сторонних разработчиков в использовании платформы, убедить их создавать приложения для неё.
Но SDK могут быть предназначены исключительно для внутреннего применения и недоступны для сторонних разработчиков. В таком случае программист получает доступ ко всему необходимому лишь после трудоустройства в контору, создавшую платформу.
Часто SDK имеют лицензию, с которой нужно считаться при написании приложений. Например, проприетарные наборы не подходят для создания программ с открытым кодом.
Порой первая буква в аббревиатуре SDK меняется для того, чтобы сделать название более близким к тому, для чего именно создавался данный набор. Например, DDK или Driver Development Kit – набор средств, предназначенный специально для написания драйверов устройств. Впоследствии компания Microsoft пошла ещё дальше, заменив термин DDK на WDK – Windows Driver Kit. Или другой пример – JDK или Java Development Kit. В данном случае речь идёт о наборе средств разработки для языка Java.
Apix-Drive — универсальный инструмент, который быстро упорядочит любой рабочий процесс, освободив вас от рутины и возможных денежных потерь. Опробуйте ApiX-Drive в действии и убедитесь, насколько он полезен лично для вас. А пока настраиваете связи между системами, подумайте, куда инвестируете свободное время, ведь теперь его у вас будет гораздо больше.
Русские Блоги
Использование OAS-Python SDK
Использование OAS-Python SDK
Когда количество файлов, для которых необходимо выполнить резервное копирование и архивирование в OAS, очень велико, его невозможно завершить с помощью веб-консоли и инструментов командной строки. В настоящее время необходимо использовать SDK, предоставленный OAS, для написания кода операции для реализации. SDK включает в себя Python SDK и Java SDK. Эта статья в основном объясняет Python SDK. Для использования Java SDK, пожалуйста, обратитесь к официальной документации.Инструменты разработчикаИ [лучшие практики] (https://docs.aliyun.com/?spm=5176.383338.201.102.NNmH36#/pub/oas/best_practice/java_sdk_demo
)。
Используйте требования
Обзор Python SDK
Низкоуровневый интерфейс является наиболее прямой инкапсуляцией API и должен сравниваться при использовании низкоуровневого интерфейса.Руководство пользователя APIДля разработки вам необходимо внимательно прочитать руководство по API. Необходимо четко понимать различные параметры, описанные в API, поэтому оно гибкое, но неэффективное.
Высокоуровневый интерфейс представляет собой инкапсуляцию низкоуровневого интерфейса, который уменьшает объем обучения пользователя, повышает эффективность разработки, а код более понятен, чем низкоуровневый интерфейс, поэтому официально рекомендуется, чтобы обычные пользователи использовали высокоуровневый интерфейс. В некоторых местах высокоуровневый интерфейс не является гибким. Используйте низкоуровневые интерфейсы.
Весь код в этой статье написан на основе высокоуровневого интерфейса Python SDK.
Препараты
В соответствии с требованиями использования, мне нужно подготовить файлы для загрузки и настройки.
Напишите функцию для генерации необходимых файлов:
Используйте простой файл конфигурации для хранения конфигурации, а затем прочитайте этот файл конфигурации:
Используйте следующий код для чтения конфигурации:
Использование Python SDK
Несколько важных объектов в Python SDK
Высокоуровневый интерфейс Python SDK абстрагирует несколько важных объектов: Vault, Uploader и Job. Использование этих трех объектов может в основном выполнять общие задачи. На самом деле, Vault является точкой входа для всех операций. Чтобы выразиться более прямо, нам нужно импортировать только два пакета при использовании Python SDK:
Объекты Uploader и Job генерируются в методе класса Vault.
Важный метод
Инициализировать многочастную загрузку
Далее используются эти объекты и методы для выполнения требуемой работы.
Код реализации
Примечание:
Информация метаданных OAS не обновляется в реальном времени, а планирование заданий является асинхронным, поэтому вся программа не возвращается немедленно и может блокироваться в течение длительного времени, поэтому рекомендуется писать программу как Damon.
Код содержит файл конфигурации (хост конфигурации, идентификатор, ключ и т. Д.), Сгенерированный код файла и код использования OAS SDK.Кроме того, предоставляется функция демона Python, которая демонтируется с помощью функции демона. Скрипт поместит промежуточную информацию в журнал.
Содержание журнала:
Загруженный файл:
резюме
После прочтения руководства по API и четкого понимания работы всей системы, обращаясь к образцу кода и документации SDK к официальному документу, очень легко начать использовать службы OAS.
AWS SDK для Python (boto3)
Начните работу с AWS в кратчайшие сроки, используя boto3 (AWS SDK для Python). Boto3 упрощает интеграцию приложений, библиотек и скриптов Python с такими сервисами AWS, как Amazon S3, Amazon EC2, Amazon DynamoDB и другие сервисы.
Install
Основные возможности
В boto3 есть два разных уровня API. Клиентские, или низкоуровневые, API обеспечивают привязку один-в-один к базовым операциям API HTTP. API ресурсов скрывают явные сетевые вызовы, предоставляя взамен ресурсные объекты и наборы объектов для доступа к атрибутам и выполнения действий. Пример
Современный и последовательный интерфейс
Как клиентский, так и ресурсный интерфейсы boto3 динамически генерируют классы на основе моделей JSON, описывающие API AWS. Это позволяет быстро предоставлять обновления с строгой непротиворечивостью для всех поддерживаемых сервисов.
Поддержка Python 2 и 3
В boto3 изначально предусмотрена поддержка Python версий 2.7+ и 3.4+.
В boto3 имеются функции waiter, которые автоматически выполняют опрос предопределенных изменений состояния ресурсов AWS. Например, вы можете запустить инстанс Amazon EC2 и, воспользовавшись функцией waiter, дождаться его перехода в рабочее состояние или создать новую таблицу Amazon DynamoDB и дождаться, когда она станет доступной для использования. В boto3 есть функции waiter как для клиентских, так и для ресурсных API.
Высокоуровневые функции для различных сервисов
В boto3 есть много функций для конкретных сервисов, такие как автоматическая многопотоковая передача для сервиса Amazon S3 или упрощенные условия запросов для Amazon DynamoDB.
Использование библиотек Azure (пакет SDK) для Python
Библиотеки Azure для Python с открытым кодом упрощают подготовку, администрирование и использование ресурсов Azure из кода приложения Python.
Основные сведения
Библиотеки Azure позволяют обмениваться данными со службами Azure из кода Python, который выполняется локально или в облаке. Возможность запуска кода Python в области действия отдельной службы зависит от того, поддерживает ли такая служба Python.
Библиотеки поддерживают Python 2.7 и Python 3.6 или последующих версий. Также тестировалась их работа с PyPy 5.4 и последующих версий.
В пакете Azure SDK содержится более 180 библиотек Python, которые предназначены для определенных служб Azure. В пакете SDK нет других средств.
При локальном выполнении кода для аутентификации с Azure используются переменные среды, описанные в статье Настройка локальной среды разработки.
команду using Names из conda install
В пакете есть библиотеки двух типов: библиотеки управления и клиентские библиотеки (также называются библиотеками «плоскости управления» и «плоскости данных»). Каждый тип имеет свое предназначение и используется с разными видами кода. Дополнительные сведения приведены в следующих разделах этой статьи:
Документация по библиотекам доступна в Справочнике по Azure для Python, который упорядочен по службам Azure, или в Обозревателе API Python, который упорядочен по именам пакетов. Чтобы найти сведения о нужных классах и методах, сейчас потребуется выполнить не один переход со страницы на страницу. Заранее приносим извинения за эти неудобства. Сейчас мы стараемся оптимизировать структуру документации.
Демонстрационные видео см. здесь: Introducing the Azure SDK for Python (Представляем Azure SDK для Python) (с конференции PyCon 2021) и Using Azure SDKs to interact with Azure resource (Использование Azure SDK для взаимодействия с ресурсами Azure) (с конференции PyCon 2020).
Дополнительные сведения
Поскольку интерфейс командной строки (CLI) Azure написан на языке Python с использованием библиотек управления, любые действия с командами Azure CLI можно также выполнить с помощью скрипта Python. С другой стороны, команды CLI обеспечивают ряд полезных возможностей, таких как одновременное выполнение нескольких задач, автоматическая обработка асинхронных операций, форматирование выходных данных, например строк подключения, и т. д. Следовательно, использование CLI (или его аналога — Azure PowerShell) для автоматизированной подготовки и администрирования скриптов может быть значительно удобнее, чем написание кода Python для выполнения этих функций, если только вам не требуется более строгий контроль над процессом.
Библиотеки Azure для Python построены поверх REST API Azure, что позволяет использовать эти API с помощью привычных парадигм Python. Но при необходимости вы всегда можете использовать REST API непосредственно из кода Python.
Исходный код библиотек Azure доступен по адресу https://github.com/Azure/azure-sdk-for-python. Так как это проект с открытым кодом, все желающие могут внести свой вклад.
Библиотеки можно использовать с интерпретаторами, такими как IronPython и Jython, с которыми они не тестировались, но при этом вы можете столкнуться с отдельными проблемами и несовместимостью.
Исходный репозиторий справочной документации по API библиотеки находится на https://github.com/MicrosoftDocs/azure-docs-sdk-python/.
Сейчас мы обновляем библиотеки, входящие в библиотеку Azure для Python, пополняя их облачными шаблонами для распространенных задач, таких как использование протоколов проверки подлинности, ведение журналов, трассировка, поддержка транспортных протоколов, буферизация ответов и выполнение повторных попыток.
Эта общая функциональная возможность содержится в библиотеке azure-core.
Библиотеки, которые сейчас используются с основной библиотекой, доступны на странице последних выпусков пакета Azure SDK для Python. Это в основном клиентские библиотеки, также известные как track 2.
Библиотеки управления и все другие библиотеки, которые известны как track 1, пока не обновлялись.
Дополнительные сведения о рекомендациях по библиотекам см. в Руководстве по Python: введение.
Подготовка и администрирование ресурсов Azure с помощью библиотек управления
С помощью библиотек управления можно создавать скрипты конфигурации и развертывания для выполнения тех же задач, которые можно реализовать на портале Azure или с помощью Azure CLI. (Как отмечалось ранее, интерфейс командной строки Azure написан на Python и использует библиотеки управления для реализации различных команд.)
В приведенных ниже примерах показано, как использовать некоторые основные библиотеки управления:
Дополнительные сведения о работе с каждой библиотекой управления см. в файле README.md или README.rst, расположенном в папке проекта библиотеки в репозитории GitHub пакета SDK. Дополнительные фрагменты кода также можно найти в справочной документации и в разделе с примерами для Azure.
Миграция из более ранних версий библиотек управления
Если выполняется перенос кода из более ранних версий библиотек управления, см. следующие сведения:
Подключение к ресурсам Azure и работа с ними с помощью клиентских библиотек
С помощью клиентских библиотек (или библиотеки «плоскости данных») из пакета SDK можно создавать код приложений Python для взаимодействия с уже подготовленными службами. Клиентские библиотеки доступны только для тех служб, которые поддерживают API клиента.
В статье с примером использования службы хранилища Azure дается базовая иллюстрация использования клиентской библиотеки.
Для разных служб Azure также представлены примеры использования этих библиотек. Дополнительные ссылки см. на следующих страницах индекса:
Дополнительные сведения о работе с каждой клиентской библиотекой см. в файле README.md или README.rst, расположенном в папке проекта библиотеки в репозитории GitHub пакета SDK. Дополнительные фрагменты кода также можно найти в справочной документации и в разделе с примерами для Azure.
Получение справки и связь с разработчиками SDK
Следующий шаг
Мы настоятельно рекомендуем выполнить однократную настройку локальной среды разработки, чтобы вы могли легко использовать любую из библиотек Azure для Python.










