Google ML Engine: отправьте учебное задание через REST API - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь начать учебную работу через запрос REST API, используя пример проекта Census от Googles github.Я могу отправить задание, но оно всегда дает сбой, поскольку я не могу указать, где хранятся файлы обучения и оценки (тестирования), и документации по этому вопросу действительно не хватает - просто указано args[].Когда я проверяю журналы в Google ML, появляются следующие ошибки:

task.py: error: the following arguments are required: --train-files, --eval-files

The replica master 0 exited with a non-zero status of 2.

Это мой сформулированный REST-запрос:

{
    "jobId": "training_12",
    "trainingInput": {
        "scaleTier": "BASIC",
        "packageUris": ["gs://MY_BUCKET/census.tar.gz"],
        "pythonModule": "trainer.task",
        "args": ["--train_files gs://MY_BUCKET/adult.data.csv", "--eval_files gs://MY_BUCKET/adult.test.csv"],
        "region": "europe-west1",
        "jobDir": "gs://MY_BUCKET/",
        "runtimeVersion": "1.4",
        "pythonVersion": "3.5"
    }
}

В рамках args я пробовал много разных способов указать, где находятся файлы train и eval, но я не смог заставить его работать.Просто для пояснения, я должен использовать REST API для этого варианта использования, а не CLI.

Спасибо

- Обновление -

Я пытался получитьаргументы как --train-files и --eval-files, это все еще не работает.

- Обновление 2 - я смог решить эту проблему, сформулировав аргументы как:

"args": [
          "--train-files", 
          "gs://MY_BUCKET/adult.data.csv", 
          "--eval-files", 
          "gs://MY_BUCKET/adult.test.csv", 
          "--train-steps",
          "100",
          "--eval-steps",
          "10"],

Теперь, я получаю новую ошибку, и журналы, кажется, больше не дают информации: "The replica master 0 exited with a non-zero status of 1."

Журналы фактически провели некоторое обучение, и я подозреваю, что это связано ссохранение работы, но я не уверен.

1 Ответ

0 голосов
/ 31 мая 2018

Я вижу, что вы уже нашли решение своей проблемы с помощью args при отправке учебного задания в Google Cloud ML Engine.Однако, позвольте мне поделиться с вами некоторыми страницами документации, где вы найдете всю необходимую информацию по этой теме.

На этой первой странице о форматировании параметров конфигурации (под Python tab), вы можете видеть, что поле args заполняется следующим образом:

'args': ['--arg1', 'value1', '--arg2', 'value2'],

Следовательно, правильный подход для определения args записывает их как значение ключа пары как независимые строки.

Кроме того, на этой другой странице, содержащей общую информацию о заданиях по обучению , объясняется, что служба обучения принимает аргументы в виде списка строк в формате:

['--my_first_arg', 'first_arg_value', '--my_second_arg', 'second_arg_value']

По этой причине последнее форматированное вами видео (ниже) является правильным:

"args": [
          "--train-files", 
          "gs://BUCKET/FILE", 
          "--eval-files", 
          "gs://BUCKET/FILE_2", 
          "--train-steps",
          "100",
          "--eval-steps",
          "10"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...