Ошибка настройки гиперпараметра Amazon SageMaker для встроенного алгоритма с использованием Python SDK - PullRequest
0 голосов
/ 30 января 2019

При использовании Python SDK для запуска задания настройки гиперпараметра SageMaker с использованием одного из встроенных алгоритмов (в данном случае, классификатора изображений) со следующим кодом:

# [...] Some lines elided for brevity

from sagemaker.tuner import HyperparameterTuner, IntegerParameter, CategoricalParameter, ContinuousParameter
hyperparameter_ranges = {'optimizer': CategoricalParameter(['sgd', 'adam']),
                         'learning_rate': ContinuousParameter(0.0001, 0.2),
                         'mini_batch_size': IntegerParameter(2, 30),}

objective_metric_name = 'validation:accuracy'

tuner = HyperparameterTuner(image_classifier,
                            objective_metric_name,
                            hyperparameter_ranges,

                            max_jobs=50,
                            max_parallel_jobs=3)

tuner.fit(inputs=data_channels, logs=True)

Задание не выполняется иЯ получаю эту ошибку при проверке состояния задания в веб-консоли SageMaker:

ClientError: Additional hyperparameters are not allowed (u'sagemaker_estimator_module', u'sagemaker_estimator_class_name' were unexpected) (caused by ValidationError) 

Caused by: Additional properties are not allowed (u'sagemaker_estimator_module', u'sagemaker_estimator_class_name' were unexpected) 

Failed validating u'additionalProperties' in schema: {u'$schema': u'http://json-schema.org/schema#', u'additionalProperties': False, u'definitions': {u'boolean_0_1': {u'oneOf': [{u'enum': [u'0', u'1'], u'type': u'string'}, {u'enum': [0, 1], u'type': u'number'}]}, u'boolean_true_false_0_1': {u'oneOf': [{u'enum': [u'true', u'false',

Я нигде явно не передаю свойства sagemaker_estimator_module или sagemaker_estimator_class_name, поэтому я не уверен, почему этовозвращая эту ошибку.

Как правильно начать эту настройку?

1 Ответ

0 голосов
/ 30 января 2019

Я нашел ответ через это сообщение, переведенное с японского .

При запуске заданий по настройке гиперпараметра с использованием встроенных алгоритмов в Python SDK, вам необходимо явно передатьinclude_cls_metadata=False в качестве аргумента ключевого слова для tuner.fit(), например:

tuner.fit(inputs=data_channels, logs=True, include_cls_metadata=False)

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