2016-11-23 2 views
1

Я с помощью этого кода Python для создания задачи Machine Learning:Как установить выходной каталог для задачи Google Machine Learning?

credentials = GoogleCredentials.get_application_default() 
ml = discovery.build('ml','v1beta1', credentials=credentials) 
projectID = 'projects/{}'.format('testtf') 
jobDict = { 'jobId': 'test_job_2', 'trainingInput': { 'scaleTier': 'BASIC', 'packageUris': [ 'gs://testtf-ml/cloudmldist/1479282298/trainer-0.0.0.tar.gz' ], 'pythonModule': 'trainer.task', 'region': 'us-central1' } } 
request = ml.projects().jobs().create(parent = projectID, body = jobDict) 
response = request.execute() 

Он создает задачу и успешно выполняется, но нет какой-либо выход на Google Cloud Storage.

Я пытаюсь повторить этот https://cloud.google.com/ml/docs/quickstarts/training учебник, но из кода, а не из консоли.

Существует такие команды поставить задачу из консоли:

JOB_NAME=mnist_${USER}_$(date +%Y%m%d_%H%M%S) 

PROJECT_ID=`gcloud config list project --format "value(core.project)"` 
TRAIN_BUCKET=gs://${PROJECT_ID}-ml 
TRAIN_PATH=${TRAIN_BUCKET}/${JOB_NAME} 
gsutil rm -rf ${TRAIN_PATH} 

gcloud beta ml jobs submit training ${JOB_NAME} \ 
    --package-path=trainer \ 
    --module-name=trainer.task \ 
    --staging-bucket="${TRAIN_BUCKET}" \ 
    --region=us-central1 \ 
    -- \ 
    --train_dir="${TRAIN_PATH}/train" 

Последняя строка задает выходной каталог. Я не понимаю, как я могу указать его из кода. я с помощью этого метода: https://cloud.google.com/ml/reference/rest/v1beta1/projects.jobs/create

И это входные поля описания: https://cloud.google.com/ml/reference/rest/v1beta1/projects.jobs

Единственное подозрительное поле я вижу там "args": [string] для TrainingInput, но я не понимаю, как использовать его. Я попытался указать их таким образом:

jobDict = { 'jobId': 'test_job_2', 'trainingInput': { 'scaleTier': 'BASIC', 'packageUris': [ 'gs://testtf-ml/cloudmldist/1479282298/trainer-0.0.0.tar.gz' ], 'pythonModule': 'trainer.task', 'args': [ 'train_dir="gs://testtf-ml/test_output"' ], 'region': 'us-central1' } } 

Но такой реж. Не создан. Каким образом я могу указать выходную папку для учебной задачи? Я использую этот пример: cloudml-samples-master\mnist\trainable

ответ

0

каталог Вывод должен быть установлен таким же образом, как в качестве аргументов командной строки:

jobDict = { 'jobId': 'test_job_2', 'trainingInput': { 'scaleTier': 'BASIC', 'packageUris': [ 'gs://testtf-ml/cloudmldist/1479282298/trainer-0.0.0.tar.gz' ], 'pythonModule': 'trainer.task', 'args': [ '--train_dir=gs://testtf-ml/test_output' ], 'region': 'us-central1' } } 

без дополнительных кавычек для пути и -- в начале.

Смежные вопросы