Hi Dears,
I am building ML model using DeepAR Algorithm.
I faced this error while i reached to this point :
Error :
ClientError: An error occurred (UnknownOperationException) when calling the CreateHyperParameterTuningJob operation: The requested operation is not supported in the called region.
Code:
from sagemaker.tuner import (
IntegerParameter,
CategoricalParameter,
ContinuousParameter,
HyperparameterTuner,
)
from sagemaker import image_uris
container = image_uris.retrieve(region= 'af-south-1', framework="forecasting-deepar")
deepar = sagemaker.estimator.Estimator(
container,
role,
instance_count=1,
instance_type="ml.m5.2xlarge",
use_spot_instances=True, # use spot instances
max_run=1800, # max training time in seconds
max_wait=1800, # seconds to wait for spot instance
output_path="s3://{}/{}".format(bucket, output_path),
sagemaker_session=sess,
)
freq = "D"
context_length = 300
deepar.set_hyperparameters(
time_freq=freq, context_length=str(context_length), prediction_length=str(prediction_length)
)
Can you please help in solving the error?
I have to do that in af-south-1 region.
Thanks
Basem
hyperparameter_ranges = {
"mini_batch_size": IntegerParameter(100, 400),
"epochs": IntegerParameter(200, 400),
"num_cells": IntegerParameter(30, 100),
"likelihood": CategoricalParameter(["negative-binomial", "student-T"]),
"learning_rate": ContinuousParameter(0.0001, 0.1),
}
objective_metric_name = "test:RMSE"
tuner = HyperparameterTuner(
deepar,
objective_metric_name,
hyperparameter_ranges,
max_jobs=10,
strategy="Bayesian",
objective_type="Minimize",
max_parallel_jobs=10,
early_stopping_type="Auto",
)
s3_input_train = sagemaker.inputs.TrainingInput(
s3_data="s3://{}/{}/train/".format(bucket, prefix), content_type="json"
)
s3_input_test = sagemaker.inputs.TrainingInput(
s3_data="s3://{}/{}/test/".format(bucket, prefix), content_type="json"
)
tuner.fit({"train": s3_input_train, "test": s3_input_test}, include_cls_metadata=False)
tuner.wait()