Google Cloud 中 Vertex AI 自定义作业中的 Python StudySpec 参数

问题描述 投票:0回答:0

我必须在 Python 中指定超参数调整变量,以便在谷歌云中的 Vertex AI 中进行自定义作业。

https://cloud.google.com/vertex-ai/docs/training/using-hyperparameter-tuning?hl=en

from google.cloud import aiplatform

from google.cloud.aiplatform import hyperparameter_tuning as hpt


def create_hyperparameter_tuning_job_sample(
    project: str,
    location: str,
    staging_bucket: str,
    display_name: str,
    container_uri: str, ):

   aiplatform.init(project=project, location=location, staging_bucket=staging_bucket)

    worker_pool_specs = [
       {
        "machine_spec": {
            "machine_type": "n1-standard-4",
            "accelerator_type": "NVIDIA_TESLA_K80",
            "accelerator_count": 1,
        },
        "replica_count": 1,
        "container_spec": {
            "image_uri": container_uri,
            "command": [],
            "args": [],
        },
    }
]

custom_job = aiplatform.CustomJob(
    display_name='custom_job',
    worker_pool_specs=worker_pool_specs,
)

hpt_job = aiplatform.HyperparameterTuningJob(
    display_name=display_name,
    custom_job=custom_job,
    metric_spec={
        'loss': 'minimize',
    },
    parameter_spec={
        'lr': hpt.DoubleParameterSpec(min=0.001, max=0.1, scale='log'),
        'units': hpt.IntegerParameterSpec(min=4, max=128, scale='linear'),
        'activation': hpt.CategoricalParameterSpec(values=['relu', 'selu']),
        'batch_size': hpt.DiscreteParameterSpec(values=[128, 256], scale='linear')
    },
    max_trial_count=128,
    parallel_trial_count=8,
    labels={'my_key': 'my_value'},
)

hpt_job.run()

print(hpt_job.resource_name)
return hpt_job

示例中的此作业正在创建超参数调整作业。

如何指定StudySpec?

StudySpec 包含您要使用的算法的规范。 请参阅此页面:https://cloud.google.com/vertex-ai/docs/reference/rest/v1/StudySpec?hl=en

只要看这个截图就可以更好地理解,这是在谷歌云中创建超参数的时候。

另见下拉菜单选项:

python google-cloud-platform hyperparameters google-cloud-vertex-ai vertex-ai-pipeline
© www.soinside.com 2019 - 2024. All rights reserved.