Ошибка ValidationException при вызове операции CreateTrainingJob: невозможно переопределить определения метрик для алгоритмов Amazon SageMaker - PullRequest
0 голосов
/ 30 сентября 2019

Я пытаюсь запустить функцию Lambda, чтобы создать учебное задание SageMaker, используя те же параметры, что и другое предыдущее учебное задание. Вот моя лямбда-функция:

def lambda_handler(event, context):
    training_job_name = os.environ['training_job_name']
    sm = boto3.client('sagemaker')
    job = sm.describe_training_job(TrainingJobName=training_job_name)

    training_job_prefix = 'new-randomcutforest-'
    training_job_name = training_job_prefix+str(datetime.datetime.today()).replace(' ', '-').replace(':', '-').rsplit('.')[0]

    print("Starting training job %s" % training_job_name)

    resp = sm.create_training_job(
            TrainingJobName=training_job_name, 
            AlgorithmSpecification=job['AlgorithmSpecification'], 
            RoleArn=job['RoleArn'],
            InputDataConfig=job['InputDataConfig'], 
            OutputDataConfig=job['OutputDataConfig'],
            ResourceConfig=job['ResourceConfig'], 
            StoppingCondition=job['StoppingCondition'], 
            VpcConfig=job['VpcConfig'],
            HyperParameters=job['HyperParameters'] if 'HyperParameters' in job else {},
            Tags=job['Tags'] if 'Tags' in job else [])
[...]

И я продолжаю получать следующее сообщение об ошибке:

Произошла ошибка (ValidationException) при вызове операции CreateTrainingJob: Вы не можете переопределитьопределения метрик для алгоритмов Amazon SageMaker. Повторите запрос, не задавая определения метрик .: Traceback ClientError (последний вызов был последним): файл «/var/task/lambda_function.py», строка 96, в lambda_handler StoppingCondition = job ['StoppingCondition']

, и я получаю ту же ошибку для гиперпараметров и тегов.

Я пытался удалить эти параметры, но они необходимы, поэтому это не решение:

Parameter validation failed:
Missing required parameter in input: "StoppingCondition": ParamValidationError

Я пыталсяжестко закодировать эти переменные, но это привело к той же ошибке.

Точно такая же функция, используемая для работы, но только для нескольких учебных заданий (около 5), и затем она выдала это сообщение об ошибке. Теперь он полностью перестал работать, и появляется то же сообщение об ошибке. Есть идеи почему?

1 Ответ

0 голосов
/ 27 октября 2019

Трудно точно сказать, что здесь происходит, и почему гиперпараметры вашей предыдущей работы не сработали. Возможно, вместо того, чтобы просто передать их на новую работу, вы могли бы распечатать их, чтобы иметь возможность проверить их?

Переходя по этой линии ...

    training_job_prefix = 'new-randomcutforest-'

... Iсобираюсь рискнуть предположить и предположить, что вы пытаетесь запустить RCF. Гиперпараметры, которые требуются этому алгоритму, документированы здесь: https://docs.aws.amazon.com/sagemaker/latest/dg/rcf_hyperparameters.html

...