Запускать модульные тесты в MLengine (возвращает нераспознанные аргументы: --job-dir) - PullRequest
0 голосов
/ 27 февраля 2019

Я постоянно использую [ml-engine] [1] в качестве своей производственной среды, и сейчас я хочу запустить в нем модульные тесты с использованием пакета unittest.

Вот мой запущенный скрипт (run_tests.py):

import unittest
from fruad_score_other_subpackage.fruad_score_globals import globals
logger = globals['logger']

class Test_all_flow(unittest.TestCase):

    def test_supervised_model_has_varianve_in_results(self):
        unique_prediction_count=2
        self.assert_(unique_prediction_count>0)

if __name__ == '__main__':
    logger.info('No Running:') #Just to make sure ml engine is running
    unittest.main()

А вот скрипт bash, который его запускает:

#!/usr/bin/env bash

   export GOOGLE_APPLICATION_CREDENTIALS=".......json"
    PROJECT_ID='.....'
    BUCKET_ID='machine_learning_datasets/fruad_score'
    now=$(date +"%Y%m%d_%H%M%S")
    JOB_NAME="fruad_score_testing__$now"
    JOB_DIR="gs://machine_learning_datasets/fruad_score"
    REGION="us-east1"
    PYTHON_VERSION='3.5'
    RUNTIME_VERSION='1.12'

    TRAINER_PACKAGE_PATH="./trainer/"
    PACKAGE_STAGING_PATH="gs://machine_learning_datasets/fruad_score"
    CLOUDSDK_PYTHON="/usr/bin/python"
    PACKAGES="globalclass-0.1.tar.gz"
    MAIN_TRAINER_MODULE="trainer.run_tests"

    gcloud ml-engine jobs submit training $JOB_NAME \
      --job-dir $JOB_DIR \
      --package-path $TRAINER_PACKAGE_PATH \
      --packages $PACKAGES \
      --module-name $MAIN_TRAINER_MODULE \
      --region $REGION \
      --runtime-version=$RUNTIME_VERSION \
      --python-version=$PYTHON_VERSION \
      --config trainer/config/config_train.json \

Просматривая журналы, я получаю следующую ошибку:

No Running:
.....
run_tests.py: error: unrecognized arguments: --job-dir 

Что указывает на то, что процесс запустился, но завершился сбоем при его активации unittest.main()

Почему он не запустил тест?почему он внезапно запрашивает каталог заданий (обратите внимание, что идентификатор задания передается в пределах флага --job-dir)?Есть ли другой способ запустить тесты на двигателе ML?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...