Google cloud machine learning engine описание

Новости в эти дни полны модных слов, таких как автоматизация, искусственный интеллект и машинное обучение. Вероятно, поэтому все больше и больше пользователей смартфонов начинают искать более умные приложения. Однако, как обычному разработчику приложений для Android, вам, вероятно, не хватает ресурсов, необходимых для создания таких приложений с нуля.

К счастью, Google недавно запустил платформу Cloud Machine Learning , которая предлагает нейронные сети, которые были предварительно подготовлены для выполнения различных задач. Большинство его моделей не только отличаются высокой точностью, но и постоянно совершенствуются. И угадайте, что? Вы можете использовать их, просто сделав несколько вызовов REST API!

В этом руководстве я познакомлю вас с платформой Cloud Machine Learning и покажу, как использовать ее для создания интеллектуального приложения для Android, которое может распознавать объекты реального мира и называть их на нескольких языках.

Предпосылки

Чтобы максимально использовать этот учебник, все что вам нужно это:

Знакомство с ML (на примере Google Cloud Datalab)

  • последняя версия Android Studio
  • устройство под управлением Android 4.4 или выше
  • и аккаунт Google Cloud Platform

1. Получение ключа API

Чтобы иметь возможность использовать службы машинного обучения Google в своем приложении для Android, вам нужен ключ API. Вы можете получить его, создав новый проект в консоли Google Cloud Platform.

Начните с входа в консоль и нажатия кнопки « Создать новый проект» . В появившемся диалоговом окне дайте значимое имя проекту.

Создать новый проект

После того, как проект будет создан, перейдите в « Диспетчер API»> «Панель инструментов» и нажмите кнопку « Включить API» .

На следующем экране под заголовком Google Cloud Machine Learning вы увидите все доступные API-интерфейсы машинного обучения. В этом руководстве мы будем использовать только API Vision и Translation .

Как вернуть Гугл по умолчанию

Библиотека машинного обучения

Чтобы включить Vision API, нажмите на его ссылку и нажмите кнопку « Включить» .

Включить Vision API

Аналогичным образом, чтобы включить API перевода, нажмите на его ссылку и нажмите кнопку « Включить» .

Вам понадобится всего один ключ, чтобы использовать оба API. Чтобы получить его, перейдите на вкладку « Учетные данные », нажмите кнопку « Создать учетные данные» и выберите ключ API .

Выберите ключ API

Теперь вы должны увидеть всплывающее окно, содержащее ваш секретный ключ API.

2. Создание нового проекта Android

Запустите Android Studio и создайте новый проект с пустым действием. Я предлагаю вам выбрать как минимум уровень API 19 для минимально поддерживаемого SDK.

Краткий обзор инструментов для решения AI/ML задач в облаке Google Cloud

Хотя вам и не нужно, всегда полезно использовать надежную сетевую библиотеку для взаимодействия с платформой Google Cloud Machine Learning. В этом уроке мы будем использовать одну такую ​​библиотеку под названием Fuel . Добавьте его как зависимость compile в файл build.gradle модуля app :

compile ‘com.github.kittinunf.fuel:fuel-android:1.5.0’

Нажмите Sync Now, чтобы обновить ваш проект.

Затем нашему приложению потребуется разрешение INTERNET для связи с серверами Google. Поэтому добавьте следующую строку в файл манифеста проекта:

Наконец, добавьте ваш ключ API в файл values ​​/ strings.xml :

ABCDEF12345-abcdef12345-123

3. Использование Vision API

API Vision помогает создавать приложения, которые могут видеть и понимать среду пользователя. Обнаружение лица, обнаружение эмоций, оптическое распознавание символов и аннотирование изображений — вот некоторые из его многочисленных функций. На данный момент мы сосредоточимся только на мощной функции аннотации изображений, также называемой обнаружением меток, которая, на мой взгляд, очень полезна.

Как и следовало ожидать, API ожидает изображение в качестве одного из своих входных данных. Поэтому давайте теперь создадим экран, на котором пользователь сможет делать снимки с помощью камеры устройства.

Шаг 1: создайте макет

Макет нашего экрана должен иметь виджет « Button пользователь может нажать, чтобы сделать снимок, виджет « ImageView для отображения изображения и виджет « TextView для отображения меток или аннотаций, сгенерированных API. Соответственно, добавьте следующий код в XML-файл макета вашей деятельности:

Как добавить Xiaomi в Google ассистент

Источник: coderlessons.com

Google cloud machine learning engine описание

Integrated

Google services are designed to work together. It works with Cloud Dataflow for feature processing, Cloud Storage for data storage andCloud Datalab for model creation.

Discover and Share Samples

Discover and share our Machine Learning Samples tailored to your industry use case.

HyperTune

Build better performing models faster by automatically tuning your hyperparameters with HyperTune, instead of spending many hours to manually discover values that work for your model.

Managed Service

Focus on model development and prediction without worrying about the infrastructure. Managed service automates all resource provisioning and monitoring.

Scalable Service

Build models of any data size or type using managed distributed training infrastructure that supports CPUs and GPUs. Accelerate model development, by training across many number of nodes, or running multiple experiments in parallel.

Notebook Developer Experience

Create and analyze models using the familiar Jupyter notebook development experience, with integration to Cloud Datalab.

Portable Models

Use the open source TensorFlow SDK to train models locally on sample data sets and use the Google Cloud Platform for training at scale. Models trained using Cloud Machine Learning Engine can be downloaded for local execution or mobile integration.

Источник: www.sites.google.com

Как использовать Google Cloud Platform с вашей любимой платформой машинного обучения

Вспомните времена, когда выполнение вашего алгоритма занимало несколько часов! Что делать, если вам нужно запустить его 10 (100?) Раз! В этом случае, возможно, стоит подумать о масштабировании, и в Google Cloud Platform есть множество вариантов, позволяющих запускать ваши любимые фреймворки / алгоритмы машинного обучения.

В типичном конвейере машинного обучения есть (как минимум) три ключевых этапа.

  1. Вы обучаете одну модель для оптимизации вашей целевой функции (своего рода функции потерь / ошибок).
  2. Затем вы можете изучить различные конфигурации модели (например, тип модели, количество слоев), чтобы увидеть, какая из них работает лучше всего: это часть настройки гиперпараметров.
  3. Наконец, как только вы найдете наилучшую конфигурацию и будете довольны своими результатами, вы хотите раскрыть свою модель, чтобы сделать ее доступной для выполнения прогнозов. Развертывание вашей модели как API — отличный способ представить ее производственным приложениям, поскольку этот интерфейс хорошо известен и широко используется разработчиками.
Как узнать регион Гугл аккаунта

В этом посте мы рассмотрим эти шаги и сосредоточимся на некоторых распространенных фреймворках:

  • TensorFlow: библиотека Google с открытым исходным кодом, в основном используется для приложений глубокого обучения с высокой масштабируемостью.
  • Scikit-learn: библиотека машинного обучения, в основном используется для приложений, не связанных с нейронными сетями, когда данные умещаются в памяти.
  • XGBoost: библиотека, реализующая одну модель (экстремально усиленные градиенты), популярная для структурированных данных с высокой масштабируемостью.
  • H2O: библиотека машинного обучения, в основном используется для приложений, не связанных с нейронными сетями, с высокой масштабируемостью.

Цель этого сообщения — дать некоторые рекомендации по передовому опыту и не служить руководством для объяснения каждого шага каждого процесса. Однако ссылки на соответствующие учебные пособия предоставляются, когда они доступны.

Cloud ML Engine — отличный инструмент для работы с библиотекой TensorFlow, который хорошо документирован на веб-сайте продукта. Поэтому этот пост будет посвящен трем другим библиотекам: Scikit-learn, XGBoost и H2O.

Обучение

Обучение модели в облаке дает два основных преимущества: горизонтальное масштабирование и доступ к высокопроизводительным ускорителям, таким как графические процессоры и TPU.

Масштабирование на GCE

Учебные модели в Google Compute Engine (GCE) или размещенных блокнотов Jupyter (например, ядра Kaggle или Datalab) — это простые способы масштабирования. Просто разверните экземпляр и обучите модель так же, как если бы вы это делали локально!

Этот метод дает вам следующие преимущества:

  • Вертикальное масштабирование с помощью произвольно мощного экземпляра GCE (изменение кода не требуется).
  • Ускорение графического процессора с помощью экземпляра GCE с включенным графическим процессором (невозможно для scikit-learn, но поддерживается xgboost и h2o).
  • Горизонтальное масштабирование с использованием многоядерных процессоров, когда базовая библиотека позволяет это (интересующие параметры горизонтального масштабирования: некоторые модели в scikit learn имеют параметр n_jobs, Xgboost имеет параметр ‘ nthreads », который будет обрабатывать многопоточность, а h2o.init () автоматически определит количество ядер).
Что такое Гугл ноу

Масштабирование на Spark через Dataproc

H2O и XGBoost можно запускать на Spark, поэтому можно использовать Dataproc для масштабирования Spark на нескольких рабочих процессах. Scikit-learn также имеет версию Spark, которую вы можете использовать. Хотя масштабирование в Spark с помощью Dataproc позволяет использовать более крупные наборы данных и обеспечивает лучшее горизонтальное масштабирование, для его настройки требуется больше времени.

Настройка гиперпараметров

Выполнение настройки гиперпараметров в облаке дает вам преимущество горизонтального масштабирования. Есть несколько возможных способов сделать это.

Если вы используете GCE для обучения одной модели, вы можете продолжить использование этой обучающей среды для настройки гиперпараметров, но ваше горизонтальное масштабирование будет ограничено количеством ядер вашего компьютера.

Если вы уже используете Spark через Dataproc для обучения одной модели, естественной идеей будет продолжать использовать ту же среду. Во все библиотеки машинного обучения включены функции, позволяющие выполнять поиск по сетке, который будет обрабатывать масштабирование за вас, поэтому дополнительных настроек не требуется.

TPOT также может быть удобным способом настройки вашей модели. Он очень похож на scikit-learn и помогает вам протестировать лучшую модель. Он ищет лучшую комбинацию модели и параметров, чтобы выжать лишний процент из вашего решения! Используя параметр n_jobs, вы можете масштабировать этот поиск на экземпляре GCE.

Развертывание модели

Cloud ML Engine может сэкономить вам много времени, когда дело доходит до развертывания. Вместо того, чтобы думать о создании инфраструктуры с правильными компонентами (например, балансировкой нагрузки, контролем версий), вы можете развернуть свои обученные модели scikit-learn и XGBoost в качестве API всего за пару шагов (пример, см. Дополнительные ссылки ниже).

Для H2O по-прежнему нет готового решения, поэтому необходимо выполнить некоторую работу с использованием Flask (только для разработки) / App Engine / Google Cloud Endpoints. Некоторые примеры можно найти здесь (часть 6) или здесь.

Какой браузер лучше Google

Резюме по фреймворку

Cloud ML EngineTensorFlow

  • Обучение: Cloud MLE ускоряет вашу модель за счет использования ускорителей (GPU) и кластеров (несколько рабочих).
  • Гиперпараметр: Cloud MLE позволяет настраивать параметры с помощью байесовской оптимизации.
  • Развертывание: Cloud MLE развертывает вашу модель как API.

Scikit-learn

  • Обучение: вы можете обучить свою модель на GCE и масштабировать экземпляр. Масштабирование будет зависеть от самой модели, в частности от наличия параметра n_jobs (пример).
  • Гиперпараметр: GCE (например, n_jobs в функциях GridSearch). Вы также можете масштабировать Dataproc с помощью библиотеки Spark spark sklearn.
  • Развертывание: Cloud MLE развертывает вашу модель как API (пример в блокноте).

XGBoost

  • Обучение: вы можете обучить свою модель на GCE и использовать параметр n_threads для масштабирования. Вы также можете использовать Spark версию и обучить свою модель на Dataproc.
  • Гиперпараметр: масштабирование обрабатывается встроенной функцией xgboost gridsearch.
  • Развертывание: Cloud MLE развертывает вашу модель как API (пример в блокноте).

H2O

  • Обучение: Вы можете обучить свою модель на GCE и масштабировать экземпляр. Вы также можете использовать Spark версию и обучить свою модель на Dataproc. Для пользователей R вы можете запустить R-Studio на GCP и использовать соответствующий пакет h2o.
  • Гиперпараметр: масштабирование осуществляется с помощью встроенного поиска по водной сетке.
  • Развертывание. Для развертывания можно использовать такие инструменты, как Flask / App Engine / Cloud Endpoints (некоторые примеры можно найти здесь и здесь).

Глоссарий:

  • Google Compute Engine (GCE): масштабируемые виртуальные машины в Google Cloud.
  • Cloud Machine Learning Engine (Cloud MLE): управляемая инфраструктура Google Cloud для приложений машинного обучения.
  • Dataproc: управляемый сервис для запуска Apache Spark или Hadoop в Google Cloud.

Я надеюсь, что этот пост помог вам прояснить различные варианты! Также, если у вас есть другие идеи, поделитесь в комментариях!

Спасибо, что прочитали!

Источник: questu.ru

Рейтинг
Загрузка ...