Облако ML - это способ машинного обучения в Google Clouds.
Очень просто Начать и обучить пользовательский интерфейс, используя их документацию:
Разработайте и подтвердите ваше приложение для обучения на местном уровне
Прежде чем запускать учебное приложение в облаке, запустите его
на местном уровне. Местные условия обеспечивают эффективное развитие и
рабочий процесс проверки, так что вы можете быстро повторить. Вы также не будете
взимать плату за облачные ресурсы при отладке приложения
на местном уровне. Получить данные о тренировках
Соответствующие файлы данных, adult.data и adult.test, размещены на
общедоступное облачное хранилище. Для целей этого примера используйте
версии в облачном хранилище, которые прошли некоторую тривиальную очистку,
вместо оригинальных исходных данных. Смотрите ниже для получения дополнительной информации
о данных.
Вы можете читать файлы данных непосредственно из облачного хранилища или копировать их
в вашу местную среду. Для целей этого образца вы будете
загрузить образцы для местного обучения, а затем загрузить их на свой
Собственное хранилище Cloud Storage для обучения в облаке.
Загрузить данные в папку:
mkdir data
gsutil -m cp gs://cloud-samples-data/ml-engine/census/data/* data/
Затем просто установите переменные TRAIN_DATA AND EVAL_DATA в локальные пути к файлам. Например, следующие команды устанавливают переменные для локальных путей.
TRAIN_DATA=$(pwd)/data/adult.data.csv
EVAL_DATA=$(pwd)/data/adult.test.csv
Тогда у вас есть файл TSV, подобный этому:
39, State-gov, 77516, Bachelors, 13, Never-married, Adm-clerical, Not-in-family, White, Male, 2174, 0, 40, United-States, <=50K
50, Self-emp-not-inc, 83311, Bachelors, 13, Married-civ-spouse, Exec-managerial, Husband, White, Male, 0, 0, 13, United-States, <=50K
38, Private, 215646, HS-grad, 9, Divorced, Handlers-cleaners, Not-in-family, White, Male, 0, 0, 40, United-States, <=50K
53, Private, 234721, 11th, 7, Married-civ-spouse, Handlers-cleaners, Husband, Black, Male, 0, 0, 40, United-States, <=50K
Для запуска:
gcloud ml-engine local train \
--module-name trainer.task \
--package-path trainer/ \
--job-dir $MODEL_DIR \
-- \
--train-files $TRAIN_DATA \
--eval-files $EVAL_DATA \
--train-steps 1000 \
--eval-steps 100
Подробнее Учебные соображения , как ваш вопрос говорит:
Выполнение учебной работы
Cloud Machine Learning Engine обеспечивает обучение модели в качестве
асинхронный (пакетный) сервис. Эта страница описывает, как настроить и
отправить учебное задание, запустив gcloud ml-engine
из командной строки или отправив запрос в API по адресу
projects.jobs.create. Прежде чем начать
Прежде чем вы сможете отправить учебное задание, вы должны упаковать
приложение и загрузить его и любые необычные зависимости в облако
Ведро для хранения. Примечание. Если вы используете инструмент командной строки gcloud для
отправить свою работу, вы можете упаковать заявку и отправить работу в
тот же шаг. Настройка задания
Вы передаете свои параметры службе обучения, установив
члены ресурса Job, который включает в себя элементы в
Ресурс TrainingInput.
Если вы используете инструмент командной строки gcloud для отправки своих учебных заданий,
Вы можете:
Specify the most common training parameters as flags of the gcloud ml-engine jobs submit training command.
Pass the remaining parameters in a YAML configuration file, named config.yaml by convention. The configuration file mirrors the
структура JSON-представления ресурса Job. Вы передаете
путь к вашему файлу конфигурации во флаге --config gcloud
Задания ml-engine представляют учебную команду. Так что, если путь к вашему
Конфигурационный файл - config.yaml, вы должны установить --config = config.yaml.
Сбор данных конфигурации задания
Следующие свойства используются для определения вашей работы.
Имя работы (jobId)
Имя, используемое для работы (только буквы, цифры и символы подчеркивания, начинающиеся с буквы). Конфигурация кластера
(ScaleTier)
Уровень масштаба, указывающий тип кластера обработки, на котором будет выполняться ваше задание. Это может быть уровень CUSTOM, в этом случае вы также
явно укажите количество и тип машин для использования. Повышение квалификации
пакет приложений (packageUris)
Пакетное учебное приложение, размещенное в облачном хранилище. Если вы используете инструмент командной строки gcloud,
шаг упаковки приложения в значительной степени автоматизирован. Смотрите детали в
руководство по упаковке вашего приложения. Имя модуля (pythonModule)
Название основного модуля в вашей упаковке. Основной модуль - это файл Python, который вы вызываете для запуска приложения. Если вы используете
Команда gcloud для отправки вашей работы, укажите имя основного модуля в
флаг имени модуля. Смотрите руководство по упаковке вашего приложения. Регион (регион)Регион Compute Engine, в котором вы хотите запустить свою работу.Вы должны выполнять свою учебную работу в том же регионе, что и хранилище Cloud Storage, в котором хранятся ваши тренировочные данные.См. Доступные регионы для сервисов Cloud ML Engine.Каталог заданий (jobDir) Путь к облачному хранилищу, используемому для вывода задания.Большинство обучающих приложений сохраняют контрольные точки во время обучения и сохраняют обученную модель в файл в конце работы.Вам нужно место облачного хранилища, чтобы сохранить их.Ваш проект Google Cloud Platform должен иметь доступ для записи в этот сегмент.Служба обучения автоматически передает путь, заданный вами для каталога заданий, в ваше учебное приложение в качестве аргумента командной строки с именем job_dir.Вы можете проанализировать его вместе с другими аргументами вашего приложения и использовать в своем коде.Преимущество использования каталога заданий состоит в том, что служба обучения проверяет каталог перед запуском приложения.Runtime version (runtimeVersion)
The Cloud ML Engine version to use for the job. If you don't specify a runtime version, the training service uses the default Cloud
ML Engine runtime version 1.0.Версия Python (pythonVersion)
The Python version to use for the job. Python 3.5 is available with Cloud ML Engine runtime version 1.4 or greater. If you don't
укажите версию Python, служба обучения использует Python 2.7.
Форматирование параметров конфигурации
Способ задания параметров конфигурации зависит откак вы начинаете свое учебное задание: предоставьте подробные сведения о конфигурации задания в команду обучения gcloud ml-engine jobs submitВы можете сделать это двумя способами:
With command-line flags.
In a YAML file representing the Job resource. You can name this file whatever you want. By convention the name is config.yaml.
Даже если вы используете файл YAML, некоторые данные должны быть указаны в виде флагов командной строки.Например, вы должны предоставить флаг --module-name и хотя бы один из --package-path или --packages.Если вы используете --package-path, вы также должны включить --job-dir или --staging-bucket.Кроме того, вы должны либо указать флаг --region, либо установить регион по умолчанию для своего клиента gcloud.Эти параметры, а также любые другие, которые вы указываете в качестве флагов командной строки, будут переопределять значения этих параметров в файле конфигурации.
Пример 1. В этом примере вы выбираете предварительно сконфигурированный кластер компьютеров и предоставляете все необходимые данные в видефлаги командной строки при отправке задания.Файл конфигурации не требуется.См. Руководство по отправке задания в следующем разделе.
Пример 2. В следующем примере показано содержимое файла конфигурации для задания с настраиваемым кластером обработки.Файл конфигурации содержит некоторые, но не все сведения о конфигурации, при условии, что при отправке задания вы предоставляете другие необходимые данные в виде флагов командной строки.
trainingInput: scaleTier: CUSTOM masterType: complex_model_m
workerType:complex_model_m параметрServerType: large_model
workerCount: 9 parameterServerCount: 3 runtimeVersion: '1.13'
pythonVersion: '3.5'
В приведенном выше примере указывается версия 3.5 Python, доступная при использовании среды выполнения Cloud ML Engineверсия 1.4 или выше.
Отправка задания
При отправке обучающего задания вы указываете два набора флагов:
Job configuration parameters. Cloud ML Engine needs these values to set up resources in the cloud and deploy your application on each
узел вобрабатывающий кластер.Пользовательские аргументы или параметры приложения.Cloud ML Engine передает значение этих флагов в ваше приложение.
Отправьте учебное задание, используя команду gcloud ml-engine jobs submit обучающая команда.
Во-первых, полезно определить некоторые переменные средысодержащий ваши данные конфигурации.Чтобы создать имя задания, следующий код добавляет дату и время к названию модели:
TRAINER_PACKAGE_PATH="/path/to/your/application/sources"
now=$(date +"%Y%m%d_%H%M%S")
JOB_NAME="your_name_$now"
MAIN_TRAINER_MODULE="trainer.task"
JOB_DIR="gs://your/chosen/job/output/path"
PACKAGE_STAGING_PATH="gs://your/chosen/staging/path"
REGION="us-east1"
RUNTIME_VERSION="1.13"
Следующая отправка задания соответствует приведенному выше примеру конфигурации 1, где вы выбираете предварительно настроенный уровень масштаба (базовый) иВы решаете предоставить все детали конфигурации с помощью флагов командной строки.В файле config.yaml нет необходимости:
gcloud ml-engine jobs submit training $JOB_NAME \
--scale-tier basic \
--package-path $TRAINER_PACKAGE_PATH \
--module-name $MAIN_TRAINER_MODULE \
--job-dir $JOB_DIR \
--region $REGION \
-- \
--user_first_arg=first_arg_value \
--user_second_arg=second_arg_value
Следующая отправка задания соответствует примеру конфигурации 2 above, где часть конфигурации находится в файле, и вы предоставляете
другие подробности с помощью флагов командной строки:
gcloud ml-engine jobs submit training $JOB_NAME \
--package-path $TRAINER_PACKAGE_PATH \
--module-name $MAIN_TRAINER_MODULE \
--job-dir $JOB_DIR \
--region $REGION \
--config config.yaml \
-- \
--user_first_arg=first_arg_value \
--user_second_arg=second_arg_value
Примечания:
If you specify an option both in your configuration file (config.yaml) and as a command-line flag, the value on the command
строка переопределяет значение в файле конфигурации.
Пустой флаг отмечает окончание определенных флагов gcloud и начало USER_ARGS, который вы хотите передать своему приложению.
Флаги, специфичные для Cloud ML Engine, такие как --module-name, --runtime-version и --job-dir, должны стоять перед пустым флагом -. Сервис Cloud ML Engine интерпретирует эти флаги.
Флаг --job-dir, если он указан, должен стоять перед флагом пустого - потому что Cloud ML Engine использует --job-dir для проверки пути.
Ваше приложение должно также обрабатывать флаг --job-dir, если он указан. Несмотря на то, что флаг стоит перед пустым -, --job-dir также
передается вашему приложению в виде флага командной строки.
Вы можете определить столько USER_ARGS, сколько вам нужно. Cloud ML Engine передает --user_first_arg, --user_second_arg и т. Д. Через ваш
применение.