diff options
| author | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
|---|---|---|
| committer | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
| commit | 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch) | |
| tree | 5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/zh_cn/paiautoml/2022-08-28/api-docs.php | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/zh_cn/paiautoml/2022-08-28/api-docs.php')
| -rw-r--r-- | data/zh_cn/paiautoml/2022-08-28/api-docs.php | 4296 |
1 files changed, 1518 insertions, 2778 deletions
diff --git a/data/zh_cn/paiautoml/2022-08-28/api-docs.php b/data/zh_cn/paiautoml/2022-08-28/api-docs.php index b5fb5eb..5e2f9a6 100644 --- a/data/zh_cn/paiautoml/2022-08-28/api-docs.php +++ b/data/zh_cn/paiautoml/2022-08-28/api-docs.php @@ -1,49 +1,24 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'ROA', - 'product' => 'paiAutoML', - 'version' => '2022-08-28', - ], + 'info' => ['style' => 'ROA', 'product' => 'paiAutoML', 'version' => '2022-08-28'], 'directories' => [ [ - 'id' => 267710, - 'title' => '服务关联角色', + 'children' => ['CreateHpoExperiment', 'ListHpoExperiments', 'GetHpoExperiment', 'UpdateHpoExperiment', 'StopHpoExperiment', 'DeleteHpoExperiment', 'ListHpoExperimentLogs', 'ListHpoTrials', 'GetHpoTrial', 'StopHpoTrials', 'RestartHpoTrials', 'ListHpoTrialLogNames', 'ListHpoTrialLogs', 'ListHpoTrialCommands'], 'type' => 'directory', - 'children' => [ - 'GetServiceIdentityRole', - 'CreateServiceIdentityRole', - ], + 'title' => 'HPO', + 'id' => 139659, ], [ - 'id' => 190161, - 'title' => 'HPO', + 'children' => ['CreateAutofeExperiment', 'GetAutofeExperiment'], 'type' => 'directory', - 'children' => [ - 'CreateHpoExperiment', - 'ListHpoExperiments', - 'GetHpoExperiment', - 'UpdateHpoExperiment', - 'StopHpoExperiment', - 'DeleteHpoExperiment', - 'ListHpoExperimentLogs', - 'ListHpoTrials', - 'GetHpoTrial', - 'StopHpoTrials', - 'RestartHpoTrials', - 'ListHpoTrialLogNames', - 'ListHpoTrialLogs', - 'ListHpoTrialCommands', - ], + 'title' => 'AutoFE', + 'id' => 139656, ], [ - 'id' => 267707, - 'title' => 'AutoFE', + 'children' => ['CreateServiceIdentityRole', 'GetServiceIdentityRole'], 'type' => 'directory', - 'children' => [ - 'CreateAutofeExperiment', - 'GetAutofeExperiment', - ], + 'title' => '其他', + 'id' => 457111, ], ], 'components' => [ @@ -51,878 +26,383 @@ 'AutofeExperimentConfiguration' => [ 'title' => 'A short description of struct', 'description' => 'AutoFE实验配置信息', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'oss_config' => [ 'title' => 'oss_config', 'description' => 'oss配置', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'oss_bucket' => [ - 'title' => 'oss_bucket', - 'description' => 'oss_bucket名称', - 'type' => 'string', - 'required' => true, - 'example' => 'autofe-service', - ], - 'oss_access_id' => [ - 'title' => 'oss_access_id', - 'description' => 'oss access id', - 'type' => 'string', - 'required' => false, - 'example' => 'Ltx***yw', - ], - 'oss_access_key' => [ - 'title' => 'oss_access_key', - 'description' => 'oss access key', - 'type' => 'string', - 'required' => false, - 'example' => 'Tc***Mu', - ], - 'oss_role_arn' => [ - 'title' => 'oss_role_arn', - 'description' => 'PAIAutoML服务关联角色。填写该值后,可不提供ak/sk。', - 'type' => 'string', - 'required' => false, - 'example' => 'acs:ram::xxx:role/aliyunserviceroleforpaiautoml'."\n", - ], - 'oss_endpoint' => [ - 'title' => 'oss_endpoint', - 'description' => 'oss endpoint', - 'type' => 'string', - 'required' => true, - 'example' => 'oss-cn-beijing.aliyuncs.com', - ], + 'oss_bucket' => ['title' => 'oss_bucket', 'description' => 'oss_bucket名称', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'autofe-service', 'backendName' => 'oss_bucket'], + 'oss_access_id' => ['title' => 'oss_access_id', 'description' => 'oss access id', 'visibility' => 'Public', 'type' => 'string', 'required' => false, 'example' => 'Ltx***yw', 'backendName' => 'oss_access_id'], + 'oss_access_key' => ['title' => 'oss_access_key', 'description' => 'oss access key', 'visibility' => 'Public', 'type' => 'string', 'required' => false, 'example' => 'Tc***Mu', 'backendName' => 'oss_access_key', 'sensitive' => true], + 'oss_role_arn' => ['title' => 'oss_role_arn', 'description' => 'PAIAutoML服务关联角色。填写该值后,可不提供ak/sk。', 'visibility' => 'Public', 'type' => 'string', 'required' => false, 'example' => 'acs:ram::xxx:role/aliyunserviceroleforpaiautoml'."\n", 'backendName' => 'oss_role_arn'], + 'oss_endpoint' => ['title' => 'oss_endpoint', 'description' => 'oss endpoint', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'oss-cn-beijing.aliyuncs.com', 'backendName' => 'oss_endpoint'], ], 'required' => true, + 'backendName' => 'oss_config', ], 'odps_config' => [ 'title' => 'odps_config', 'description' => 'MaxCompute配置', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'odps_region_id' => [ - 'title' => 'odps_region_id', - 'description' => 'odps区域id', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing', - ], - 'odps_project_name' => [ - 'title' => 'odps_project_name', - 'description' => 'odps项目名称', - 'type' => 'string', - 'required' => true, - 'example' => 'pai_rec', - ], - 'odps_endpoint' => [ - 'title' => 'odps_endpoint', - 'description' => 'odps endpoint', - 'type' => 'string', - 'required' => true, - 'example' => 'http://service.cn-beijing.maxcompute.aliyun.com/api', - ], - 'odps_access_id' => [ - 'title' => 'odps_access_id', - 'description' => 'odps access id', - 'type' => 'string', - 'example' => 'Ltx***yw'."\n", - ], - 'odps_access_key' => [ - 'title' => 'odps_access_key', - 'description' => 'odps access key', - 'type' => 'string', - 'example' => 'Tc***Mu'."\n", - ], - 'odps_role_arn' => [ - 'title' => 'odps_role_arn', - 'description' => 'PAIAutoML服务关联角色。填写该值后,可不提供ak/sk。', - 'type' => 'string', - 'example' => 'acs:ram::xxx:role/aliyunserviceroleforpaiautoml'."\n", - ], + 'odps_region_id' => ['title' => 'odps_region_id', 'description' => 'odps区域id', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing', 'backendName' => 'odps_region_id'], + 'odps_project_name' => ['title' => 'odps_project_name', 'description' => 'odps项目名称', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'pai_rec', 'backendName' => 'odps_project_name'], + 'odps_endpoint' => ['title' => 'odps_endpoint', 'description' => 'odps endpoint', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'http://service.cn-beijing.maxcompute.aliyun.com/api', 'backendName' => 'odps_endpoint'], + 'odps_access_id' => ['title' => 'odps_access_id', 'description' => 'odps access id', 'visibility' => 'Public', 'type' => 'string', 'example' => 'Ltx***yw'."\n", 'backendName' => 'odps_access_id'], + 'odps_access_key' => ['title' => 'odps_access_key', 'description' => 'odps access key', 'visibility' => 'Public', 'type' => 'string', 'example' => 'Tc***Mu'."\n", 'backendName' => 'odps_access_key', 'sensitive' => true], + 'odps_role_arn' => ['title' => 'odps_role_arn', 'description' => 'PAIAutoML服务关联角色。填写该值后,可不提供ak/sk。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'acs:ram::xxx:role/aliyunserviceroleforpaiautoml'."\n", 'backendName' => 'odps_role_arn'], ], 'required' => true, + 'backendName' => 'odps_config', ], 'yml_config' => [ 'title' => 'yml_config', 'description' => 'AutoFE运行时配置', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'workspace_name' => [ - 'title' => 'workspace_name', - 'description' => '工作空间名称', - 'type' => 'string', - 'required' => true, - 'example' => 'my_workspace_1', - ], - 'output_config_oss_dir' => [ - 'title' => 'output_config_oss_dir', - 'description' => '运行任务时动态配置的输出路径', - 'type' => 'string', - 'required' => true, - 'example' => 'oss://bucket_name/folder/', - ], - 'label' => [ - 'title' => 'label', - 'description' => '输入数据的label列名称', - 'type' => 'string', - 'required' => true, - 'example' => 'label列名称,如is_click', - ], - 'data_source' => [ - 'title' => 'data_source', - 'description' => '数据源名称', - 'type' => 'string', - 'required' => true, - 'example' => 'MaxCompute表名,如ad_click_table_name', - ], - 'data_type' => [ - 'title' => 'data_type', - 'description' => '数据类型', - 'type' => 'string', - 'example' => 'odps / oss', - ], - 'aggregate_only' => [ - 'title' => 'aggregate_only', - 'description' => '是否只进行统计类的特征加工及选择。如选择False,则同时会进行四则运算类的特征加工及选择。', - 'type' => 'string', - 'example' => 'true / false', - ], - 'reuse_results' => [ - 'title' => 'reuse_results', - 'description' => '是否重用中间结果', - 'type' => 'string', - 'example' => 'false', - ], - 'workers' => [ - 'title' => 'workers', - 'description' => '自动特征工程中需要使用的worker数量', - 'type' => 'string', - 'example' => '10', - ], - 'memory' => [ - 'title' => 'memory', - 'description' => '特征工程中每个Worker内存使用量', - 'type' => 'string', - 'example' => '4000', - ], - 'cpu' => [ - 'title' => 'cpu', - 'description' => '特征工程中每个Worker cpu使用量', - 'type' => 'string', - 'example' => '2', - ], - 'debug_mode' => [ - 'title' => 'debug_mode', - 'description' => '是否启用debug模式', - 'type' => 'string', - 'example' => 'false', - ], - 'action' => [ - 'title' => 'action', - 'description' => '实验进行的操作,可选值包括:`fs_train`,`train`, `analyze`, `pipeline`, `selection`, `transform`。', - 'type' => 'string', - 'example' => 'fs_train', - ], - 'sample_size' => [ - 'title' => 'sample_size', - 'description' => '当输入数据量过大时,需要提供采样数据量', - 'type' => 'string', - 'example' => 'e.g., 5000000,表示对数据采样5000000行,作为自动特征工程的输入。', - ], - 'analyze_exp_id' => [ - 'title' => 'analyze_exp_id', - 'description' => '特征分析实验的id。该id仅在已经进行过数据分析的场景下使用,如果是首次进行自动特征工程,不需要提供该参数。', - 'type' => 'string', - 'example' => '特征分析实验id, 如sRudaBC', - ], - 'data_partition' => [ - 'title' => 'data_partition', - 'description' => '数据分区', - 'type' => 'string', - 'example' => 'ds=20230720', - ], - 'exclude_columns' => [ - 'title' => 'exclude_columns', - 'description' => '需要忽略的列名称。有某些id列,某些不需要参与特征工程的列。', - 'type' => 'string', - 'example' => 'c1,c2,c3', - ], - 'feature_selection' => [ - 'title' => 'feature_selection', - 'description' => '是否利用特征选择结果做特征分析', - 'type' => 'string', - 'example' => 'true', - ], - 'selection_exp_id' => [ - 'title' => 'selection_exp_id', - 'description' => '特征选择实验id', - 'type' => 'string', - 'example' => '特征选择实验id, 如sRudaBC', - ], - 'pipeline_exp_id' => [ - 'title' => 'pipeline_exp_id', - 'description' => 'pipeline训练实验id', - 'type' => 'string', - 'example' => 'pipeline训练实验id,如sRudaBC', - ], - 'sample_ratio' => [ - 'title' => 'sample_ratio', - 'description' => '当输入数据量过大时,可以提供采样比例。', - 'type' => 'string', - 'example' => '0~1之间的小数,采样比例。sample_size / sample_ratio 提供一个即可。', - ], - 'filter_thresh' => [ - 'title' => 'filter_thresh', - 'description' => '低频特征过滤阈值', - 'type' => 'string', - 'example' => '10', - ], - 'skip_select' => [ - 'title' => 'skip_select', - 'description' => '输出特征是否包含全部原始特征', - 'type' => 'string', - 'example' => 'true', - ], - 'iv_thresh' => [ - 'title' => 'iv_thresh', - 'description' => '在特征选择过程中使用了Information value作为,特征过滤依据。iv_thresh为information value的阈值,低于该值,则特征会标过滤掉。推荐使用0.02。', - 'type' => 'string', - 'example' => '0.02', - ], + 'workspace_name' => ['title' => 'workspace_name', 'description' => '工作空间名称', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'my_workspace_1', 'backendName' => 'workspace_name'], + 'output_config_oss_dir' => ['title' => 'output_config_oss_dir', 'description' => '运行任务时动态配置的输出路径', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'oss://bucket_name/folder/', 'backendName' => 'output_config_oss_dir'], + 'label' => ['title' => 'label', 'description' => '输入数据的label列名称', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'label列名称,如is_click', 'backendName' => 'label'], + 'data_source' => ['title' => 'data_source', 'description' => '数据源名称', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'MaxCompute表名,如ad_click_table_name', 'backendName' => 'data_source'], + 'data_type' => ['title' => 'data_type', 'description' => '数据类型', 'visibility' => 'Public', 'type' => 'string', 'example' => 'odps / oss', 'backendName' => 'data_type'], + 'aggregate_only' => ['title' => 'aggregate_only', 'description' => '是否只进行统计类的特征加工及选择。如选择False,则同时会进行四则运算类的特征加工及选择。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'true / false', 'backendName' => 'aggregate_only'], + 'reuse_results' => ['title' => 'reuse_results', 'description' => '是否重用中间结果', 'visibility' => 'Public', 'type' => 'string', 'example' => 'false', 'backendName' => 'reuse_results'], + 'workers' => ['title' => 'workers', 'description' => '自动特征工程中需要使用的worker数量', 'visibility' => 'Public', 'type' => 'string', 'example' => '10', 'backendName' => 'workers'], + 'memory' => ['title' => 'memory', 'description' => '特征工程中每个Worker内存使用量', 'visibility' => 'Public', 'type' => 'string', 'example' => '4000', 'backendName' => 'memory'], + 'cpu' => ['title' => 'cpu', 'description' => '特征工程中每个Worker cpu使用量', 'visibility' => 'Public', 'type' => 'string', 'example' => '2', 'backendName' => 'cpu'], + 'debug_mode' => ['title' => 'debug_mode', 'description' => '是否启用debug模式', 'visibility' => 'Public', 'type' => 'string', 'example' => 'false', 'backendName' => 'debug_mode'], + 'action' => ['title' => 'action', 'description' => '实验进行的操作,可选值包括:`fs_train`,`train`, `analyze`, `pipeline`, `selection`, `transform`。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'fs_train', 'backendName' => 'action'], + 'sample_size' => ['title' => 'sample_size', 'description' => '当输入数据量过大时,需要提供采样数据量', 'visibility' => 'Public', 'type' => 'string', 'example' => 'e.g., 5000000,表示对数据采样5000000行,作为自动特征工程的输入。', 'backendName' => 'sample_size'], + 'analyze_exp_id' => ['title' => 'analyze_exp_id', 'description' => '特征分析实验的id。该id仅在已经进行过数据分析的场景下使用,如果是首次进行自动特征工程,不需要提供该参数。', 'visibility' => 'Public', 'type' => 'string', 'example' => '特征分析实验id, 如sRudaBC', 'backendName' => 'analyze_exp_id'], + 'data_partition' => ['title' => 'data_partition', 'description' => '数据分区', 'visibility' => 'Public', 'type' => 'string', 'example' => 'ds=20230720', 'backendName' => 'data_partition'], + 'exclude_columns' => ['title' => 'exclude_columns', 'description' => '需要忽略的列名称。有某些id列,某些不需要参与特征工程的列。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'c1,c2,c3', 'backendName' => 'exclude_columns'], + 'feature_selection' => ['title' => 'feature_selection', 'description' => '是否利用特征选择结果做特征分析', 'visibility' => 'Public', 'type' => 'string', 'example' => 'true', 'backendName' => 'feature_selection'], + 'selection_exp_id' => ['title' => 'selection_exp_id', 'description' => '特征选择实验id', 'visibility' => 'Public', 'type' => 'string', 'example' => '特征选择实验id, 如sRudaBC', 'backendName' => 'selection_exp_id'], + 'pipeline_exp_id' => ['title' => 'pipeline_exp_id', 'description' => 'pipeline训练实验id', 'visibility' => 'Public', 'type' => 'string', 'example' => 'pipeline训练实验id,如sRudaBC', 'backendName' => 'pipeline_exp_id'], + 'sample_ratio' => ['title' => 'sample_ratio', 'description' => '当输入数据量过大时,可以提供采样比例。', 'visibility' => 'Public', 'type' => 'string', 'example' => '0~1之间的小数,采样比例。sample_size / sample_ratio 提供一个即可。', 'backendName' => 'sample_ratio'], + 'filter_thresh' => ['title' => 'filter_thresh', 'description' => '低频特征过滤阈值', 'visibility' => 'Public', 'type' => 'string', 'example' => '10', 'backendName' => 'filter_thresh'], + 'skip_select' => ['title' => 'skip_select', 'description' => '输出特征是否包含全部原始特征', 'visibility' => 'Public', 'type' => 'string', 'example' => 'true', 'backendName' => 'skip_select'], + 'iv_thresh' => ['title' => 'iv_thresh', 'description' => '在特征选择过程中使用了Information value作为,特征过滤依据。iv_thresh为information value的阈值,低于该值,则特征会标过滤掉。推荐使用0.02。', 'visibility' => 'Public', 'type' => 'string', 'example' => '0.02', 'backendName' => 'iv_thresh'], ], 'required' => true, + 'backendName' => 'yml_config', ], ], ], 'HpoExperimentConfig' => [ 'title' => 'A short description of struct', 'description' => 'CreateHpoExperiment API的入参', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'params_config' => [ 'title' => 'params_config', 'description' => 'params_config', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'params_src_dst_filepath' => [ 'title' => 'params_src_dst_filepath', 'description' => '参数配置的源头路径和最终输出路径', + 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'src和dst路径字符串,用逗号隔开。', - 'type' => 'string', - 'example' => './local/path/foo.config,oss://bucket/remote/path/bar.config', - ], + 'items' => ['description' => 'src和dst路径字符串,用逗号隔开。', 'visibility' => 'Public', 'type' => 'string', 'example' => './local/path/foo.config,oss://bucket/remote/path/bar.config', 'extendType' => 'true'], 'example' => 'src_path,dst_file_path', + 'backendName' => 'params_src_dst_filepath', + 'itemName' => 'params_src_dst_filepath', ], ], + 'backendName' => 'params_config', ], 'platform_config' => [ 'title' => 'platform_config', 'description' => 'platform_config', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'name' => [ - 'title' => 'name of the computation platform', - 'description' => '用于标记任务执行的平台', - 'type' => 'string', - 'required' => true, - 'example' => 'DLC, MaxCompute,paiflow, etc', - ], + 'name' => ['title' => 'name of the computation platform', 'description' => '用于标记任务执行的平台', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'DLC, MaxCompute,paiflow, etc', 'backendName' => 'name'], 'cmd' => [ 'title' => 'a list of commands to be executed', 'description' => '在后台计算平台上需要执行的命令列表', + 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => '用于标记执行的命令', - 'type' => 'string', - 'required' => true, - 'example' => 'pai -name kmeans -project foo -Dseed 1', - ], + 'items' => ['description' => '用于标记执行的命令', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'pai -name kmeans -project foo -Dseed 1', 'extendType' => 'true'], 'required' => true, + 'backendName' => 'cmd', + 'itemName' => 'commands', ], - 'resume' => [ - 'title' => 'resume', - 'description' => '用于用户一次运行时,比如说第一行任务成功,第二行由于资源不足失败,可以开启续跑,从第二行命令开始运行', - 'type' => 'string', - 'example' => '0/1。'."\n" - .'1表示启用。不填写不启用', - ], + 'resume' => ['title' => 'resume', 'description' => '用于用户一次运行时,比如说第一行任务成功,第二行由于资源不足失败,可以开启续跑,从第二行命令开始运行', 'visibility' => 'Public', 'type' => 'string', 'example' => '0/1。'."\n" + .'1表示启用。不填写不启用', 'backendName' => 'resume'], ], 'required' => true, + 'backendName' => 'platform_config', ], 'metric_config' => [ 'title' => 'metric_config', 'description' => 'metric_config', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'metric_type' => [ - 'title' => 'metric_type', - 'description' => '用户评价trial的指标类型,必须为summary/table/json/stdout之一。', - 'type' => 'string', - 'required' => true, - 'example' => 'table, summary, stdout或者json', - ], + 'metric_type' => ['title' => 'metric_type', 'description' => '用户评价trial的指标类型,必须为summary/table/json/stdout之一。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'table, summary, stdout或者json', 'backendName' => 'metric_type'], 'metric_source' => [ 'title' => 'metric_source', 'description' => 'metric_source', + 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => '指标的来源,对于oss源,可以是一个文件路径;对于MaxCompute表格,需要是一个获取具体结果的sql语句。', - 'type' => 'string', - 'example' => '对于table类型,为从Table获取metric的MaxCompute语句,如:select count(*) as cnt from nni_test1_${exp_id}_${trial_id};'."\n" - .'对于summary类型,为summary所在路径,如:oss://test-nni/examples/search/pai/metric/metric_${exp_id}_${trial_id}/'."\n" - .'对于stdout类型,为从那一条cmd抽取metric,如:cmd1 (序号从1开始)', - ], - 'required' => true, - ], - 'final_mode' => [ - 'title' => 'final_mode', - 'description' => '如任务运行过程中,存在很多中间metric,那么需要确定最终metric的计算方式,取值必须为final/best/avg之一。', - 'type' => 'string', + 'items' => ['description' => '指标的来源,对于oss源,可以是一个文件路径;对于MaxCompute表格,需要是一个获取具体结果的sql语句。', 'visibility' => 'Public', 'type' => 'string', 'example' => '对于table类型,为从Table获取metric的MaxCompute语句,如:select count(*) as cnt from nni_test1_${exp_id}_${trial_id};'."\n" + .'对于summary类型,为summary所在路径,如:oss://test-nni/examples/search/pai/metric/metric_${exp_id}_${trial_id}/'."\n" + .'对于stdout类型,为从那一条cmd抽取metric,如:cmd1 (序号从1开始)', 'extendType' => 'true'], 'required' => true, - 'example' => 'final, best, avg', - ], - 'metric_dict' => [ - 'title' => 'metric_dict', - 'description' => '当有多只指标需要同时考虑时,可以通过配置指标名称及对应权重的方式实现。注:权重可以为负值,权重之和可以不为1,用户自定义。', - 'type' => 'object', - 'required' => true, - 'example' => '{\'auc\':0.25, \'recall\':0.5, \'precision\':0.25}', - ], - 'source_list_final_mode' => [ - 'title' => 'source_list_final_mode', - 'description' => '可选,默认值为final_mode,可选值为final/best/avg,用于有多个metric_source时最终metric如何计算', - 'type' => 'string', - 'example' => 'avg', + 'backendName' => 'metric_source', ], + 'final_mode' => ['title' => 'final_mode', 'description' => '如任务运行过程中,存在很多中间metric,那么需要确定最终metric的计算方式,取值必须为final/best/avg之一。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'final, best, avg', 'backendName' => 'final_mode'], + 'metric_dict' => ['title' => 'metric_dict', 'description' => '当有多只指标需要同时考虑时,可以通过配置指标名称及对应权重的方式实现。注:权重可以为负值,权重之和可以不为1,用户自定义。', 'visibility' => 'Public', 'type' => 'object', 'required' => true, 'example' => '{\'auc\':0.25, \'recall\':0.5, \'precision\':0.25}', 'backendName' => 'metric_dict'], + 'source_list_final_mode' => ['title' => 'source_list_final_mode', 'description' => '可选,默认值为final_mode,可选值为final/best/avg,用于有多个metric_source时最终metric如何计算', 'visibility' => 'Public', 'type' => 'string', 'example' => 'avg', 'backendName' => 'source_list_final_mode'], ], 'required' => true, + 'backendName' => 'metric_config', ], 'oss_config' => [ 'title' => 'oss_config', 'description' => 'oss配置', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'endpoint' => [ - 'title' => 'endpoint', - 'description' => 'endpoint', - 'type' => 'string', - 'example' => 'http://oss-cn-beijing.aliyuncs.com', - ], - 'accessKeyID' => [ - 'title' => 'accessKeyID', - 'description' => 'accessKeyID', - 'type' => 'string', - 'example' => 'ak字符串', - ], - 'accessKeySecret' => [ - 'title' => 'accessKeySecret', - 'description' => 'accessKeySecret', - 'type' => 'string', - 'example' => 'sk字符串', - ], - 'role_arn' => [ - 'title' => 'role_arn', - 'description' => 'PAIAutoML服务关联角色。填写该值后,可不提供ak/sk。', - 'type' => 'string', - 'example' => 'acs:ram::xxx:role/aliyunserviceroleforpaiautoml', - ], + 'endpoint' => ['title' => 'endpoint', 'description' => 'endpoint', 'visibility' => 'Public', 'type' => 'string', 'example' => 'http://oss-cn-beijing.aliyuncs.com', 'backendName' => 'endpoint'], + 'accessKeyID' => ['title' => 'accessKeyID', 'description' => 'accessKeyID', 'visibility' => 'Public', 'type' => 'string', 'example' => 'ak字符串', 'backendName' => 'accessKeyID'], + 'accessKeySecret' => ['title' => 'accessKeySecret', 'description' => 'accessKeySecret', 'visibility' => 'Public', 'type' => 'string', 'example' => 'sk字符串', 'backendName' => 'accessKeySecret', 'sensitive' => true], + 'role_arn' => ['title' => 'role_arn', 'description' => 'PAIAutoML服务关联角色。填写该值后,可不提供ak/sk。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'acs:ram::xxx:role/aliyunserviceroleforpaiautoml', 'backendName' => 'role_arn'], ], + 'backendName' => 'oss_config', ], 'odps_config' => [ 'title' => 'odps_config', 'description' => 'MaxCompute相关配置', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'access_id' => [ - 'title' => 'access_id', - 'description' => 'access_id', - 'type' => 'string', - 'example' => 'ak字符串', - ], - 'access_key' => [ - 'title' => 'access_key', - 'description' => 'access_key', - 'type' => 'string', - 'example' => 'sk字符串', - ], - 'project_name' => [ - 'title' => 'project_name', - 'description' => 'maxcompute 项目名称', - 'type' => 'string', - 'example' => 'my_project_x', - ], - 'end_point' => [ - 'title' => 'end_point', - 'description' => 'end_point', - 'type' => 'string', - 'example' => 'http://service.cn-beijing.maxcompute.aliyun.com/api', - ], - 'log_view_host' => [ - 'title' => 'log_view_host', - 'description' => 'log_view_host', - 'type' => 'string', - 'example' => 'http://logview.odps.aliyun.com', - ], - 'region' => [ - 'title' => 'region', - 'description' => 'region', - 'type' => 'string', - 'example' => 'cn-hangzhou / cn-beijing / cn-shanghai / cn-shenzhen / cn-hongkong', - ], - 'role_arn' => [ - 'title' => 'role_arn', - 'description' => 'PAIAutoML服务关联角色。填写该值后,可不提供ak/sk。', - 'type' => 'string', - 'example' => 'acs:ram::xxx:role/aliyunserviceroleforpaiautoml'."\n", - ], + 'access_id' => ['title' => 'access_id', 'description' => 'access_id', 'visibility' => 'Public', 'type' => 'string', 'example' => 'ak字符串', 'backendName' => 'access_id'], + 'access_key' => ['title' => 'access_key', 'description' => 'access_key', 'visibility' => 'Public', 'type' => 'string', 'example' => 'sk字符串', 'backendName' => 'access_key', 'sensitive' => true], + 'project_name' => ['title' => 'project_name', 'description' => 'maxcompute 项目名称', 'visibility' => 'Public', 'type' => 'string', 'example' => 'my_project_x', 'backendName' => 'project_name'], + 'end_point' => ['title' => 'end_point', 'description' => 'end_point', 'visibility' => 'Public', 'type' => 'string', 'example' => 'http://service.cn-beijing.maxcompute.aliyun.com/api', 'backendName' => 'end_point'], + 'log_view_host' => ['title' => 'log_view_host', 'description' => 'log_view_host', 'visibility' => 'Public', 'type' => 'string', 'example' => 'http://logview.odps.aliyun.com', 'backendName' => 'log_view_host'], + 'region' => ['title' => 'region', 'description' => 'region', 'visibility' => 'Public', 'type' => 'string', 'example' => 'cn-hangzhou / cn-beijing / cn-shanghai / cn-shenzhen / cn-hongkong', 'backendName' => 'region'], + 'role_arn' => ['title' => 'role_arn', 'description' => 'PAIAutoML服务关联角色。填写该值后,可不提供ak/sk。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'acs:ram::xxx:role/aliyunserviceroleforpaiautoml'."\n", 'backendName' => 'role_arn'], ], + 'backendName' => 'odps_config', ], 'ts_config' => [ 'title' => 'ts_config', 'description' => 'ts_config', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'access_key_id' => [ - 'title' => 'access_key_id', - 'description' => 'access_key_id', - 'type' => 'string', - 'example' => 'ak字符串', - ], - 'access_key_secret' => [ - 'title' => 'access_key_secret', - 'description' => 'access_key_secret', - 'type' => 'string', - 'example' => 'sk字符串', - ], - 'region_id' => [ - 'title' => 'region_id', - 'description' => 'region_id', - 'type' => 'string', - 'example' => 'cn-hangzhou / cn-beijing / cn-shanghai / cn-shenzhen / cn-hongkong'."\n", - ], - 'endpoint' => [ - 'title' => 'endpoint', - 'description' => 'endpoint', - 'type' => 'string', - 'example' => 'pai.cn-shanghai.aliyuncs.com', - ], + 'access_key_id' => ['title' => 'access_key_id', 'description' => 'access_key_id', 'visibility' => 'Public', 'type' => 'string', 'example' => 'ak字符串', 'backendName' => 'access_key_id'], + 'access_key_secret' => ['title' => 'access_key_secret', 'description' => 'access_key_secret', 'visibility' => 'Public', 'type' => 'string', 'example' => 'sk字符串', 'backendName' => 'access_key_secret', 'sensitive' => true], + 'region_id' => ['title' => 'region_id', 'description' => 'region_id', 'visibility' => 'Public', 'type' => 'string', 'example' => 'cn-hangzhou / cn-beijing / cn-shanghai / cn-shenzhen / cn-hongkong'."\n", 'backendName' => 'region_id'], + 'endpoint' => ['title' => 'endpoint', 'description' => 'endpoint', 'visibility' => 'Public', 'type' => 'string', 'example' => 'pai.cn-shanghai.aliyuncs.com', 'backendName' => 'endpoint'], ], + 'backendName' => 'ts_config', ], 'paiflow_config' => [ 'title' => 'paiflow_config', 'description' => 'paiflow_config', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'access_key_id' => [ - 'title' => 'access_key_id', - 'description' => 'access_key_id', - 'type' => 'string', - 'example' => 'ak字符串', - ], - 'access_key_secret' => [ - 'title' => 'access_key_secret', - 'description' => 'access_key_secret', - 'type' => 'string', - 'example' => 'sk字符串', - ], - 'region_id' => [ - 'title' => 'region_id', - 'description' => 'region_id', - 'type' => 'string', - 'example' => 'cn-hangzhou / cn-beijing / cn-shanghai / cn-shenzhen / cn-hongkong'."\n", - ], - 'workspace_id' => [ - 'title' => 'workspace_id', - 'description' => 'PAI工作空间workspace ID', - 'type' => 'string', - 'example' => '12345', - ], + 'access_key_id' => ['title' => 'access_key_id', 'description' => 'access_key_id', 'visibility' => 'Public', 'type' => 'string', 'example' => 'ak字符串', 'backendName' => 'access_key_id'], + 'access_key_secret' => ['title' => 'access_key_secret', 'description' => 'access_key_secret', 'visibility' => 'Public', 'type' => 'string', 'example' => 'sk字符串', 'backendName' => 'access_key_secret', 'sensitive' => true], + 'region_id' => ['title' => 'region_id', 'description' => 'region_id', 'visibility' => 'Public', 'type' => 'string', 'example' => 'cn-hangzhou / cn-beijing / cn-shanghai / cn-shenzhen / cn-hongkong'."\n", 'backendName' => 'region_id'], + 'workspace_id' => ['title' => 'workspace_id', 'description' => 'PAI工作空间workspace ID', 'visibility' => 'Public', 'type' => 'string', 'example' => '12345', 'backendName' => 'workspace_id'], ], + 'backendName' => 'paiflow_config', ], 'yml_config' => [ 'title' => 'yml_config', 'description' => 'HPO运行时配置', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'trial_concurrency' => [ - 'title' => 'trialConcurrency', - 'description' => '最大的trial并发数', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'max_trial_number' => [ - 'title' => 'maxTrialNumber', - 'description' => '一个实验最多可运行的trial数量。实验可能在还没运行到这么多trials时就结束了。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'experiment_name' => [ - 'title' => 'experiment_name', - 'description' => '实验名称', - 'type' => 'string', - 'example' => 'my_hpo_exp_3', - ], + 'trial_concurrency' => ['title' => 'trialConcurrency', 'description' => '最大的trial并发数', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'backendName' => 'trialConcurrency'], + 'max_trial_number' => ['title' => 'maxTrialNumber', 'description' => '一个实验最多可运行的trial数量。实验可能在还没运行到这么多trials时就结束了。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'backendName' => 'maxTrialNumber'], + 'experiment_name' => ['title' => 'experiment_name', 'description' => '实验名称', 'visibility' => 'Public', 'type' => 'string', 'example' => 'my_hpo_exp_3', 'backendName' => 'experiment_name'], 'tuner' => [ 'title' => 'tuner', 'description' => '超参调优使用的算法', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'name' => [ - 'title' => 'name', - 'description' => '超参调优使用的算法名称', - 'type' => 'string', - 'example' => 'TPE', - ], - 'class_args' => [ - 'title' => 'class_args', - 'description' => '超参调优算法使用到的参数', - 'type' => 'object', - ], + 'name' => ['title' => 'name', 'description' => '超参调优使用的算法名称', 'visibility' => 'Public', 'type' => 'string', 'example' => 'TPE', 'backendName' => 'name'], + 'class_args' => ['title' => 'class_args', 'description' => '超参调优算法使用到的参数', 'visibility' => 'Public', 'type' => 'object', 'backendName' => 'class_args'], ], + 'backendName' => 'tuner', ], - 'debug' => [ - 'title' => 'debug', - 'description' => 'debug开启标记', - 'type' => 'boolean', - 'example' => 'false/true', - ], - 'log_level' => [ - 'title' => 'log_level', - 'description' => '日志级别', - 'type' => 'string', - 'example' => 'debug', - ], + 'debug' => ['title' => 'debug', 'description' => 'debug开启标记', 'visibility' => 'Public', 'type' => 'boolean', 'example' => 'false/true', 'backendName' => 'debug'], + 'log_level' => ['title' => 'log_level', 'description' => '日志级别', 'visibility' => 'Public', 'type' => 'string', 'example' => 'debug', 'backendName' => 'log_level'], 'assessor' => [ 'title' => 'assessor', 'description' => 'assessor', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'name' => [ - 'title' => 'name', - 'description' => '评估使用的类名称。', - 'type' => 'string', - 'example' => 'PAIAssessor', - ], + 'name' => ['title' => 'name', 'description' => '评估使用的类名称。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'PAIAssessor', 'backendName' => 'name'], 'class_args' => [ 'title' => 'class_args', 'description' => 'class_args', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'proportion' => [ - 'title' => 'proportion', - 'description' => '本次超参搜索的最优值和历史记录的proportion值比较', - 'type' => 'number', - 'format' => 'float', - 'example' => '0.5', - ], - 'start_step' => [ - 'title' => 'start_step', - 'description' => '从第几步开始进行早停判定', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'moving_avg' => [ - 'title' => 'moving_avg', - 'description' => '早停判断时,采用所有历史的滑动平均值作为判断标准', - 'type' => 'string', - 'example' => 'true', - ], - 'optimize_mode' => [ - 'title' => 'optimize_mode', - 'description' => '优化的方向', - 'type' => 'string', - 'example' => 'maximize/minimize', - ], - 'earlystop' => [ - 'title' => 'earlystop', - 'description' => '是否开启earlystop', - 'type' => 'boolean', - 'example' => 'True, False', - ], + 'proportion' => ['title' => 'proportion', 'description' => '本次超参搜索的最优值和历史记录的proportion值比较', 'visibility' => 'Public', 'type' => 'number', 'format' => 'float', 'example' => '0.5', 'backendName' => 'proportion'], + 'start_step' => ['title' => 'start_step', 'description' => '从第几步开始进行早停判定', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'backendName' => 'start_step'], + 'moving_avg' => ['title' => 'moving_avg', 'description' => '早停判断时,采用所有历史的滑动平均值作为判断标准', 'visibility' => 'Public', 'type' => 'string', 'example' => 'true', 'backendName' => 'moving_avg'], + 'optimize_mode' => ['title' => 'optimize_mode', 'description' => '优化的方向', 'visibility' => 'Public', 'type' => 'string', 'example' => 'maximize/minimize', 'backendName' => 'optimize_mode'], + 'earlystop' => ['title' => 'earlystop', 'description' => '是否开启earlystop', 'visibility' => 'Public', 'type' => 'boolean', 'example' => 'True, False', 'backendName' => 'earlystop'], ], + 'backendName' => 'class_args', ], ], + 'backendName' => 'assessor', ], ], + 'backendName' => 'yml_config', ], - 'search_space' => [ - 'title' => 'search_space', - 'description' => '超参所搜空间,json字符串。', - 'type' => 'object', - 'example' => '{'."\n" - .' "${tree_count}":{"_type":"choice","_value":[5,10,3]},'."\n" - .' "${max_depth}":{"_type":"randint","_value":[3,6]}'."\n" - .'}', - ], + 'search_space' => ['title' => 'search_space', 'description' => '超参所搜空间,json字符串。', 'visibility' => 'Public', 'type' => 'object', 'example' => '{'."\n" + .' "${tree_count}":{"_type":"choice","_value":[5,10,3]},'."\n" + .' "${max_depth}":{"_type":"randint","_value":[3,6]}'."\n" + .'}', 'backendName' => 'search_space'], 'k8s_config' => [ 'title' => 'k8s_config', 'description' => '不需要配置', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'nni_container_requested_memory' => [ - 'title' => 'nni_container_requested_memory', - 'description' => 'nni_container_requested_memory', - 'type' => 'string', - 'example' => '不需要配置', - ], - 'nni_container_requested_cpu' => [ - 'title' => 'nni_container_requested_cpu', - 'description' => 'nni_container_requested_cpu', - 'type' => 'string', - 'example' => '不需要配置', - ], - 'nni_container_memory_limit' => [ - 'title' => 'nni_container_memory_limit', - 'description' => 'nni_container_memory_limit', - 'type' => 'string', - 'example' => '不需要配置', - ], - 'nni_container_cpu_limit' => [ - 'title' => 'nni_container_cpu_limit', - 'description' => 'nni_container_cpu_limit', - 'type' => 'string', - 'example' => '不需要配置', - ], + 'nni_container_requested_memory' => ['title' => 'nni_container_requested_memory', 'description' => 'nni_container_requested_memory', 'visibility' => 'Public', 'type' => 'string', 'example' => '不需要配置', 'backendName' => 'nni_container_requested_memory'], + 'nni_container_requested_cpu' => ['title' => 'nni_container_requested_cpu', 'description' => 'nni_container_requested_cpu', 'visibility' => 'Public', 'type' => 'string', 'example' => '不需要配置', 'backendName' => 'nni_container_requested_cpu'], + 'nni_container_memory_limit' => ['title' => 'nni_container_memory_limit', 'description' => 'nni_container_memory_limit', 'visibility' => 'Public', 'type' => 'string', 'example' => '不需要配置', 'backendName' => 'nni_container_memory_limit'], + 'nni_container_cpu_limit' => ['title' => 'nni_container_cpu_limit', 'description' => 'nni_container_cpu_limit', 'visibility' => 'Public', 'type' => 'string', 'example' => '不需要配置', 'backendName' => 'nni_container_cpu_limit'], ], + 'backendName' => 'k8s_config', ], 'dlc_config' => [ 'title' => 'dlc_config', 'description' => 'dlc_config', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'access_id' => [ - 'title' => 'access_id', - 'description' => 'access_id', - 'type' => 'string', - 'example' => 'ak字符串', - ], - 'access_key' => [ - 'title' => 'access_key', - 'description' => 'access_key', - 'type' => 'string', - 'example' => 'sk字符串', - ], - 'endpoint' => [ - 'title' => 'endpoint', - 'description' => 'endpoint', - 'type' => 'string', - 'example' => 'pai-dlc.cn-shanghai.aliyuncs.com', - ], - 'region' => [ - 'title' => 'region', - 'description' => 'region', - 'type' => 'string', - 'example' => 'cn-hangzhou / cn-beijing / cn-shanghai / cn-shenzhen / cn-hongkong'."\n", - ], - 'protocol' => [ - 'title' => 'protocol', - 'description' => 'protocol', - 'type' => 'string', - 'example' => 'https', - ], + 'access_id' => ['title' => 'access_id', 'description' => 'access_id', 'visibility' => 'Public', 'type' => 'string', 'example' => 'ak字符串', 'backendName' => 'access_id'], + 'access_key' => ['title' => 'access_key', 'description' => 'access_key', 'visibility' => 'Public', 'type' => 'string', 'example' => 'sk字符串', 'backendName' => 'access_key', 'sensitive' => true], + 'endpoint' => ['title' => 'endpoint', 'description' => 'endpoint', 'visibility' => 'Public', 'type' => 'string', 'example' => 'pai-dlc.cn-shanghai.aliyuncs.com', 'backendName' => 'endpoint'], + 'region' => ['title' => 'region', 'description' => 'region', 'visibility' => 'Public', 'type' => 'string', 'example' => 'cn-hangzhou / cn-beijing / cn-shanghai / cn-shenzhen / cn-hongkong'."\n", 'backendName' => 'region'], + 'protocol' => ['title' => 'protocol', 'description' => 'protocol', 'visibility' => 'Public', 'type' => 'string', 'example' => 'https', 'backendName' => 'protocol'], ], + 'backendName' => 'dlc_config', ], 'schedule_config' => [ 'title' => 'schedule_config', 'description' => 'schedule_config', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'day' => [ - 'title' => 'day', - 'description' => 'day', - 'type' => 'string', - 'example' => 'everyday', - ], - 'start_time' => [ - 'title' => 'start_time', - 'description' => 'start_time', - 'type' => 'string', - 'example' => '11:10', - ], - 'end_time' => [ - 'title' => 'end_time', - 'description' => 'end_time', - 'type' => 'string', - 'example' => '23:56', - ], + 'day' => ['title' => 'day', 'description' => 'day', 'visibility' => 'Public', 'type' => 'string', 'example' => 'everyday', 'backendName' => 'day'], + 'start_time' => ['title' => 'start_time', 'description' => 'start_time', 'visibility' => 'Public', 'type' => 'string', 'example' => '11:10', 'backendName' => 'start_time'], + 'end_time' => ['title' => 'end_time', 'description' => 'end_time', 'visibility' => 'Public', 'type' => 'string', 'example' => '23:56', 'backendName' => 'end_time'], ], + 'backendName' => 'schedule_config', ], 'monitor_config' => [ 'title' => 'monitor_config', 'description' => '钉钉群监控配置', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'url' => [ - 'title' => 'url', - 'description' => 'url为创建自定义机器人对应的Webhook地址', - 'type' => 'string', - 'example' => 'https://oapi.dingtalk.com/robot/send?access_token=${UID}'."\n" - .'参考https://open.dingtalk.com/document/robots/custom-robot-access去添加自定义机器人,获取url', - ], - 'keyword' => [ - 'title' => 'keyword', - 'description' => '添加自定义机器人:自定义关键词', - 'type' => 'string', - 'example' => 'monitor', - ], - 'at_mobiles' => [ - 'title' => 'at_mobiles', - 'description' => '在监控内容里添加@人的手机号,且只有在群内的成员才可被@,非群内成员手机号会被脱敏', - 'type' => 'string', - 'example' => '[1472583690]', - ], - 'at_user_ids' => [ - 'title' => 'at_user_ids', - 'description' => '被@人的用户userid。', - 'type' => 'string', - 'example' => '[1234567890]', - ], - 'is_at_all' => [ - 'title' => 'is_at_all', - 'description' => '是否@所有人', - 'type' => 'string', - 'example' => 'True/False', - ], + 'url' => ['title' => 'url', 'description' => 'url为创建自定义机器人对应的Webhook地址', 'visibility' => 'Public', 'type' => 'string', 'example' => 'https://oapi.dingtalk.com/robot/send?access_token=${UID}'."\n" + .'参考https://open.dingtalk.com/document/robots/custom-robot-access去添加自定义机器人,获取url', 'backendName' => 'url'], + 'keyword' => ['title' => 'keyword', 'description' => '添加自定义机器人:自定义关键词', 'visibility' => 'Public', 'type' => 'string', 'example' => 'monitor', 'backendName' => 'keyword'], + 'at_mobiles' => ['title' => 'at_mobiles', 'description' => '在监控内容里添加@人的手机号,且只有在群内的成员才可被@,非群内成员手机号会被脱敏', 'visibility' => 'Public', 'type' => 'string', 'example' => '[1472583690]', 'backendName' => 'at_mobiles', 'itemName' => 'atMobiles'], + 'at_user_ids' => ['title' => 'at_user_ids', 'description' => '被@人的用户userid。', 'visibility' => 'Public', 'type' => 'string', 'example' => '[1234567890]', 'backendName' => 'at_user_ids', 'itemName' => 'atUserIds'], + 'is_at_all' => ['title' => 'is_at_all', 'description' => '是否@所有人', 'visibility' => 'Public', 'type' => 'string', 'example' => 'True/False', 'backendName' => 'is_at_all'], ], + 'backendName' => 'monitor_config', ], 'output_config' => [ 'title' => 'output_config', 'description' => 'output_config', + 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'model_path' => [ - 'title' => 'model_path', - 'description' => '如果使用服务版,可以配置model_path用来获取最优模型', - 'type' => 'string', - 'example' => 'oss://bucket/foo/bar/model/model_${exp_id}_${trial_id}', - ], - 'summary_path' => [ - 'title' => 'summary_path', - 'description' => '如果使用单机版,可以配置summary用于本地查看TensorBoard', - 'type' => 'string', - 'example' => 'oss://bucket/foo/bar/model_${exp_id}_${trial_id}/', - ], + 'model_path' => ['title' => 'model_path', 'description' => '如果使用服务版,可以配置model_path用来获取最优模型', 'visibility' => 'Public', 'type' => 'string', 'example' => 'oss://bucket/foo/bar/model/model_${exp_id}_${trial_id}', 'backendName' => 'model_path'], + 'summary_path' => ['title' => 'summary_path', 'description' => '如果使用单机版,可以配置summary用于本地查看TensorBoard', 'visibility' => 'Public', 'type' => 'string', 'example' => 'oss://bucket/foo/bar/model_${exp_id}_${trial_id}/', 'backendName' => 'summary_path'], ], + 'backendName' => 'output_config', ], ], ], ], ], 'apis' => [ - 'GetServiceIdentityRole' => [ - 'summary' => 'GetServiceIdentityRole, return role name if SLR exists, empty otherwise', - 'path' => '/api/automl/v1/serviceidentityrole', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'CreateAutofeExperiment' => [ + 'summary' => 'CreateAutofeExperiment', + 'path' => '/api/automl/v1/autofe/experiment', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '190053', - 'abilityTreeNodes' => [ - 'FEATURElearn0UHCCK', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '162654', + 'abilityTreeNodes' => ['FEATURElearn0UHCCK'], ], - 'parameters' => [], - 'responses' => [ - 200 => [ + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '请求body参数。', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51', - ], - 'RoleName' => [ - 'description' => '用户允许操作PAIAutoML服务扮演的RAM角色名称。', - 'type' => 'string', - 'example' => 'AliyunServiceRoleForPaiAutoml', - ], - 'Code' => [ - 'description' => '返回状态码。', - 'type' => 'string', - 'example' => 'SUCCESS', - ], - 'Message' => [ - 'description' => '响应错误信息。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'Execution failure, please try again.', + 'Name' => ['description' => '实验名称', 'type' => 'string', 'required' => true, 'example' => 'my experiment x'], + 'AutofeExperimentConfiguration' => ['description' => 'AutoFE实验配置信息。', 'required' => false, '$ref' => '#/components/schemas/AutofeExperimentConfiguration'], + 'Description' => ['description' => '实验描述信息', 'type' => 'string', 'required' => false, 'example' => 'This is an AutoFE experiment.'], + 'Accessibility' => ['description' => '代码配置的可见性,取值如下。'."\n" + .'- PUBLIC:在此工作空间中,对所有人可见。'."\n" + .'- PRIVATE:在此工作空间中,仅对您和管理员可见。', 'type' => 'string', 'required' => false, 'example' => 'PUBLIC'], + 'WorkspaceId' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => '283301'], + 'Tag' => [ + 'description' => '标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '标签名', 'type' => 'string', 'required' => false, 'example' => 'group'], + 'Value' => ['description' => '标签值', 'type' => 'string', 'required' => false, 'example' => 'group_name'], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, ], ], + 'required' => false, ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"RoleName\\": \\"AliyunServiceRoleForPaiAutoml\\",\\n \\"Code\\": \\"SUCCESS\\",\\n \\"Message\\": \\"Execution failure, please try again.\\"\\n}","type":"json"}]', - 'title' => '获取服务关联角色相关信息', - ], - 'CreateServiceIdentityRole' => [ - 'summary' => '创建服务关联角色。', - 'path' => '/api/automl/v1/serviceidentityrole', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '190056', - 'abilityTreeNodes' => [ - 'FEATURElearn0UHCCK', - ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ @@ -930,62 +410,31 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51', - ], - 'Code' => [ - 'description' => '内部错误码。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'ExecutionFailure', - ], - 'Message' => [ - 'description' => '响应错误信息。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'Execution failure, please try again.', - ], - 'RoleName' => [ - 'description' => '用户允许操作PAIAutoML服务扮演的RAM角色名称。', - 'type' => 'string', - 'example' => 'AliyunServiceRoleForPaiAutoml', - ], + 'Message' => ['description' => '响应错误信息。只在响应出错时被设置。', 'type' => 'string', 'example' => 'Missing \'user_id\' in request.'], + 'Code' => ['description' => '状态码', 'type' => 'string', 'example' => 'INVALID_INPUT_PARAMS'], + 'ExperimentId' => ['description' => '实验ID。', 'type' => 'string', 'example' => 't8cNdMO'], + 'RequestId' => ['description' => 'POP的请求id', 'type' => 'string', 'example' => '22A1EC4E-15A2-51FF-BFA3-10D6735BAA69'], + 'Detail' => ['description' => '额外的错误信息。只在响应出错时被设置。', 'type' => 'object', 'example' => '{}'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"ExecutionFailure\\",\\n \\"Message\\": \\"Execution failure, please try again.\\",\\n \\"RoleName\\": \\"AliyunServiceRoleForPaiAutoml\\"\\n}","type":"json"}]', - 'title' => '创建服务关联角色', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"Code\\": \\"INVALID_INPUT_PARAMS\\",\\n \\"ExperimentId\\": \\"t8cNdMO\\",\\n \\"RequestId\\": \\"22A1EC4E-15A2-51FF-BFA3-10D6735BAA69\\",\\n \\"Detail\\": {}\\n}","type":"json"}]', + 'title' => '创建一个自动特征工程实验。', ], 'CreateHpoExperiment' => [ 'summary' => 'calling HPO CreateExperiment', 'path' => '/api/automl/v1/hpo/experiment', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ @@ -993,9 +442,7 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '162681', - 'abilityTreeNodes' => [ - 'FEATURElearnVYA4L9', - ], + 'abilityTreeNodes' => ['FEATURElearnVYA4L9'], ], 'parameters' => [ [ @@ -1006,37 +453,13 @@ 'description' => '请求体。', 'type' => 'object', 'properties' => [ - 'HpoExperimentConfiguration' => [ - 'description' => 'HPO实验配置参数结构体。', - 'required' => false, - '$ref' => '#/components/schemas/HpoExperimentConfig', - ], - 'Name' => [ - 'description' => '实验名称', - 'type' => 'string', - 'required' => false, - 'example' => 'my experiment x', - ], - 'WorkspaceId' => [ - 'description' => '工作空间ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], - 'Description' => [ - 'description' => '实验描述信息', - 'type' => 'string', - 'required' => false, - 'example' => 'This is an AutoML HPO experiment.', - ], - 'Accessibility' => [ - 'description' => '代码配置的可见性,取值如下。'."\n" - .'- PUBLIC:在此工作空间中,对所有人可见。'."\n" - .'- PRIVATE:在此工作空间中,仅对您和管理员可见。', - 'type' => 'string', - 'required' => false, - 'example' => 'PRIVATE', - ], + 'HpoExperimentConfiguration' => ['description' => 'HPO实验配置参数结构体。', 'required' => false, '$ref' => '#/components/schemas/HpoExperimentConfig'], + 'Name' => ['description' => '实验名称', 'type' => 'string', 'required' => false, 'example' => 'my experiment x'], + 'WorkspaceId' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'default'], + 'Description' => ['description' => '实验描述信息', 'type' => 'string', 'required' => false, 'example' => 'This is an AutoML HPO experiment.'], + 'Accessibility' => ['description' => '代码配置的可见性,取值如下。'."\n" + .'- PUBLIC:在此工作空间中,对所有人可见。'."\n" + .'- PRIVATE:在此工作空间中,仅对您和管理员可见。', 'type' => 'string', 'required' => false, 'example' => 'PRIVATE'], 'Tag' => [ 'description' => '标签信息。', 'type' => 'array', @@ -1044,18 +467,8 @@ 'description' => '标签信息。', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => '标签名', - 'type' => 'string', - 'required' => false, - 'example' => 'group', - ], - 'Value' => [ - 'description' => '标签值', - 'type' => 'string', - 'required' => false, - 'example' => 'group_name', - ], + 'Key' => ['description' => '标签名', 'type' => 'string', 'required' => false, 'example' => 'group'], + 'Value' => ['description' => '标签值', 'type' => 'string', 'required' => false, 'example' => 'group_name'], ], 'required' => false, ], @@ -1074,243 +487,127 @@ 'description' => '响应体', 'type' => 'object', 'properties' => [ - 'ExperimentId' => [ - 'title' => 'Id of the request', - 'description' => 'HPO实验id', - 'type' => 'string', - 'example' => 'sORVEck', - ], - 'Code' => [ - 'description' => '内部错误码。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'INVALID_INPUT_PARAMS', - ], - 'Message' => [ - 'description' => '响应错误信息。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'Missing \'user_id\' in request.', - ], - 'RequestId' => [ - 'description' => 'POP的请求id', - 'type' => 'string', - 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51', - ], + 'ExperimentId' => ['title' => 'Id of the request', 'description' => 'HPO实验id', 'type' => 'string', 'example' => 'sORVEck'], + 'Code' => ['description' => '内部错误码。只在响应出错时被设置。', 'type' => 'string', 'example' => 'INVALID_INPUT_PARAMS'], + 'Message' => ['description' => '响应错误信息。只在响应出错时被设置。', 'type' => 'string', 'example' => 'Missing \'user_id\' in request.'], + 'RequestId' => ['description' => 'POP的请求id', 'type' => 'string', 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51'], 'AccessDeniedDetail' => [ 'description' => '访问被拒绝详细信息。', 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{"AuthPrincipalType": "sub", "PolicyType": "AccountLevelIdentityBasedPolicy", "NoPermissionType": "NoPermission"}', - 'description' => '访问被拒绝详细信息。', - ], + 'additionalProperties' => ['type' => 'string', 'example' => '{"AuthPrincipalType": "sub", "PolicyType": "AccountLevelIdentityBasedPolicy", "NoPermissionType": "NoPermission"}', 'description' => '访问被拒绝详细信息。'], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ExperimentId\\": \\"sORVEck\\",\\n \\"Code\\": \\"INVALID_INPUT_PARAMS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\", \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\", \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"}\\"\\n }\\n}","type":"json"}]', 'title' => '创建一个HPO实验', - ], - 'ListHpoExperiments' => [ - 'summary' => '查询符合条件的HPO实验信息。', - 'path' => '/api/automl/v1/hpo/experiments', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paiautoml:CreateHpoExperiment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ExperimentId\\": \\"sORVEck\\",\\n \\"Code\\": \\"INVALID_INPUT_PARAMS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\", \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\", \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"}\\"\\n }\\n}","type":"json"}]', + ], + 'CreateServiceIdentityRole' => [ + 'path' => '/api/automl/v1/serviceidentityrole', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '190772', - 'abilityTreeNodes' => [ - 'FEATURElearn0UHCCK', - ], + 'abilityTreeCode' => '190056', + 'abilityTreeNodes' => ['FEATURElearn0UHCCK'], + 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => '实验名称关键字', - 'type' => 'string', - 'required' => false, - 'example' => '任意关键字', - ], - ], - [ - 'name' => 'Creator', - 'in' => 'query', - 'schema' => [ - 'description' => '实验创建人的UserId', - 'type' => 'string', - 'required' => false, - 'example' => '266977839132045194', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '页码。起始值:1。默认值:1。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'MinCreateTime', - 'in' => 'query', - 'schema' => [ - 'description' => '最早的实验创建时间', - 'type' => 'string', - 'required' => false, - 'example' => 'yyyy-mm-dd hh:mm:ss或着yyyy-mm-dd,比如2023-03-31 10:29:30', - ], - ], - [ - 'name' => 'MaxCreateTime', - 'in' => 'query', - 'schema' => [ - 'description' => '最晚的实验创建时间', - 'type' => 'string', - 'required' => false, - 'example' => 'yyyy-mm-dd hh:mm:ss或着yyyy-mm-dd,比如2023-03-31 10:29:30', - ], - ], - [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => '实验状态', - 'type' => 'string', - 'required' => false, - 'example' => 'CREATED, RUNNING, FINISHED, FAILED, EARLY_STOPPED, USER_CANCELED, SYS_CANCELED, WAITING, NO_MORE_TRIAL, UNKNOWN', - ], - ], - [ - 'name' => 'WorkspaceId', - 'in' => 'query', - 'schema' => [ - 'description' => '工作空间ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], - ], - [ - 'name' => 'Accessibility', - 'in' => 'query', - 'schema' => [ - 'description' => '工作空间可见性,可能值为:'."\n" - .'- PRIVATE:在此工作空间中,仅对您和管理员可见。'."\n" - .'- PUBLIC:在此工作空间中,对所有人可见。', - 'type' => 'string', - 'required' => false, - 'example' => 'PRIVATE', - ], - ], - [ - 'name' => 'IncludeConfigData', - 'in' => 'query', + 'parameters' => [], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '响应里是否包括实验配置数据', - 'type' => 'string', - 'required' => false, - 'example' => 'True或者False,默认False表示不包括', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51'], + 'Code' => ['description' => '内部错误码。只在响应出错时被设置。', 'type' => 'string', 'example' => 'ExecutionFailure'], + 'Message' => ['description' => '响应错误信息。只在响应出错时被设置。', 'type' => 'string', 'example' => 'Execution failure, please try again.'], + 'RoleName' => ['description' => '用户允许操作PAIAutoML服务扮演的RAM角色名称。', 'type' => 'string', 'example' => 'AliyunServiceRoleForPaiAutoml'], + ], ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => '创建服务关联角色', + 'summary' => '创建服务关联角色。', + 'changeSet' => [], + 'ramActions' => [ [ - 'name' => 'SortBy', - 'in' => 'query', - 'schema' => [ - 'description' => '查询结果排序依据', - 'type' => 'string', - 'required' => false, - 'example' => 'create_time, update_time, workspace_id, status, accessibility其中之一', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'paiautoml:CreateServiceIdentityRole', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"ExecutionFailure\\",\\n \\"Message\\": \\"Execution failure, please try again.\\",\\n \\"RoleName\\": \\"AliyunServiceRoleForPaiAutoml\\"\\n}","type":"json"}]', + ], + 'DeleteHpoExperiment' => [ + 'summary' => '删除一个HPO实验。删除后,实验和它的trials数据都不会再通过Get/List API返回。', + 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/delete', + 'methods' => ['put'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'Order', - 'in' => 'query', - 'schema' => [ - 'description' => '排序顺序,取值如下,与SortBy一起使用。'."\n" - .'- DESC(默认值):降序排列。'."\n" - .'- ASC:升序排列。', - 'type' => 'string', - 'required' => false, - 'example' => 'DESC或ASC', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '196042', + 'abilityTreeNodes' => ['FEATURElearn0UHCCK'], + ], + 'parameters' => [ [ - 'name' => 'Tag', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => '资源标签。', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表。'."\n" - ."\n" - .'查询的过滤条件。最多可以指定20个标签。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键。', - 'type' => 'string', - 'required' => false, - 'example' => 'group', - ], - 'Value' => [ - 'description' => '标签值。'."\n" - ."\n" - .'一个标签值最多支持输入128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。'."\n" - ."\n" - .'一次最多支持输入20个标签的标签值。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'group_name', - ], - ], - 'required' => false, - ], - 'required' => false, - ], + 'name' => 'ExperimentId', + 'in' => 'path', + 'schema' => ['title' => 'A short description of struct', 'description' => '实验ID', 'type' => 'string', 'required' => false, 'example' => 'abcde'], ], ], 'responses' => [ @@ -1320,476 +617,103 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'POP的请求id', - 'type' => 'string', - 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51', - ], - 'Code' => [ - 'title' => '响应状态。', - 'description' => '内部错误码。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'INVALID_INPUT_PARAMS', - ], - 'Message' => [ - 'title' => '响应错误信息。只在响应出错时被设置', - 'description' => '响应错误信息。只在响应出错时被设置', - 'type' => 'string', - 'example' => 'Missing \'user_id\' in request.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{'."\n" - .' "AuthPrincipalType": "sub",'."\n" - .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" - .' "NoPermissionType": "NoPermission"'."\n" - .'}', - 'description' => '访问被拒绝详细信息。', - ], - ], - 'TotalCount' => [ - 'description' => '查询到的实验总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Experiments' => [ - 'title' => '符合搜索条件的实验列表。', - 'description' => '符合搜索条件的实验列表。', - 'type' => 'array', - 'items' => [ - 'description' => '实验数据结构体', - 'type' => 'object', - 'properties' => [ - 'ExperimentId' => [ - 'title' => '实验id。', - 'description' => '实验id。', - 'type' => 'string', - 'example' => 'sORVEck', - ], - 'Creator' => [ - 'title' => '实验创建者的id。', - 'description' => '实验创建者的id。', - 'type' => 'string', - 'example' => '1049310008714189', - ], - 'SearchSpace' => [ - 'title' => '实验配置里的SearchSpace属性。', - 'description' => '实验配置里的SearchSpace属性。', - 'type' => 'string', - 'example' => '{\'foo\':\'bar\'}', - ], - 'Name' => [ - 'title' => '实验名称。', - 'description' => '实验名称。', - 'type' => 'string', - 'example' => 'my experiment x', - ], - 'Status' => [ - 'title' => '实验状态。', - 'description' => '实验状态。', - 'type' => 'string', - 'example' => 'CREATED, RUNNING, FINISHED, FAILED, EARLY_STOPPED, USER_CANCELED, WAITING, NO_MORE_TRIAL, UNKNOWN', - ], - 'JobType' => [ - 'description' => '实验类型。对于HPO实验,类型值始终是1.', - 'type' => 'string', - 'example' => '1', - ], - 'ConfigIni' => [ - 'description' => 'trial.ini配置内容。其中ak/sk等敏感数据如果存在,则会被API用星号替换实际数据内容。', - 'type' => 'string', - 'example' => '[odps_config]'."\n" - .'key1 = value1'."\n" - .'key2 = value2', - ], - 'ConfigYml' => [ - 'description' => 'exp.yml配置内容', - 'type' => 'string', - 'example' => 'experimentName: dlc_oss_mnist'."\n" - .'experimentWorkingDirectory: ../expdir'."\n" - .'searchSpaceFile: search_space.json'."\n" - .'trialCommand: python3 -m hpo_tools.core.utils.run --config=./trial.ini'."\n" - .'trialConcurrency: 1'."\n" - .'maxTrialNumber: 4'."\n" - .'tuner:'."\n" - .' name: TPE'."\n" - .' classArgs:'."\n" - .' optimize_mode: maximize'."\n" - .'trainingService:'."\n" - .' platform: local'."\n" - .'assessor:'."\n" - .' name: PAIAssessor'."\n" - .' classArgs:'."\n" - .' optimize_mode: maximize'."\n" - .' start_step: 2', - ], - 'GmtCreateTime' => [ - 'title' => '实验创建时间。', - 'description' => '实验创建时间。', - 'type' => 'string', - 'example' => '2023-03-31T10:29:30Z', - ], - 'GmtModifiedTime' => [ - 'title' => '实验数据最近更新时间。', - 'description' => '实验数据最近更新时间。', - 'type' => 'string', - 'example' => '2022-10-27T00:55:54Z', - ], - 'WorkspaceId' => [ - 'description' => '工作空间id', - 'type' => 'string', - 'example' => 'default', - ], - 'Accessibility' => [ - 'description' => '工作空间可见度。支持以下取值:'."\n" - .'- PRIVATE(默认值):表示工作空间内自己以及管理员可见。'."\n" - .'- PUBLIC为:工作空间所有用户可见。', - 'type' => 'string', - 'example' => 'PUBLIC', - ], - 'Description' => [ - 'description' => '实验描述信息', - 'type' => 'string', - 'example' => 'description', - ], - 'TrialCount' => [ - 'description' => '该实验总的trial数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'TrialStatus' => [ - 'description' => 'trial 状态和处于各个状态的trial的数量的map', - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '3', - 'description' => 'FINISHED', - ], - ], - 'Deleted' => [ - 'description' => '是否已经被删除', - 'type' => 'boolean', - 'example' => '1', - ], - 'Tags' => [ - 'description' => '标签体系列表', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键', - 'type' => 'string', - 'example' => 'group', - ], - 'Value' => [ - 'description' => '标签值。', - 'type' => 'string', - 'example' => 'group_name', - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'POP请求ID', 'type' => 'string', 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51'], + 'Code' => ['description' => '内部错误码。只在响应出错时被设置。', 'type' => 'string', 'example' => 'INVALID_USER_OR_EXP'], + 'Message' => ['description' => '响应错误信息。只在响应出错时被设置。', 'type' => 'string', 'example' => 'Missing \'user_id\' in request.'], + 'AccessDeniedDetail' => ['description' => '权限校验失败详情', 'type' => 'object', 'example' => '{'."\n" + .' "AuthPrincipalType": "sub",'."\n" + .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" + .' "NoPermissionType": "NoPermission"'."\n" + .'}'."\n"], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"INVALID_INPUT_PARAMS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\",\\\\n \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\",\\\\n \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"\\\\n}\\"\\n },\\n \\"TotalCount\\": 5,\\n \\"Experiments\\": [\\n {\\n \\"ExperimentId\\": \\"sORVEck\\",\\n \\"Creator\\": \\"1049310008714189\\",\\n \\"SearchSpace\\": \\"{\'foo\':\'bar\'}\\",\\n \\"Name\\": \\"my experiment x\\",\\n \\"Status\\": \\"CREATED, RUNNING, FINISHED, FAILED, EARLY_STOPPED, USER_CANCELED, WAITING, NO_MORE_TRIAL, UNKNOWN\\",\\n \\"JobType\\": \\"1\\",\\n \\"ConfigIni\\": \\"[odps_config]\\\\nkey1 = value1\\\\nkey2 = value2\\",\\n \\"ConfigYml\\": \\"experimentName: dlc_oss_mnist\\\\nexperimentWorkingDirectory: ../expdir\\\\nsearchSpaceFile: search_space.json\\\\ntrialCommand: python3 -m hpo_tools.core.utils.run --config=./trial.ini\\\\ntrialConcurrency: 1\\\\nmaxTrialNumber: 4\\\\ntuner:\\\\n name: TPE\\\\n classArgs:\\\\n optimize_mode: maximize\\\\ntrainingService:\\\\n platform: local\\\\nassessor:\\\\n name: PAIAssessor\\\\n classArgs:\\\\n optimize_mode: maximize\\\\n start_step: 2\\",\\n \\"GmtCreateTime\\": \\"2023-03-31T10:29:30Z\\",\\n \\"GmtModifiedTime\\": \\"2022-10-27T00:55:54Z\\",\\n \\"WorkspaceId\\": \\"default\\",\\n \\"Accessibility\\": \\"PUBLIC\\",\\n \\"Description\\": \\"description\\",\\n \\"TrialCount\\": 20,\\n \\"TrialStatus\\": {\\n \\"key\\": \\"3\\"\\n },\\n \\"Deleted\\": true,\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"group\\",\\n \\"Value\\": \\"group_name\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => '搜索符合条件的HPO实验', - ], - 'GetHpoExperiment' => [ - 'summary' => '获取一个HPO实验的信息,包括状态、配置、以及所属trials的状态等数据。', - 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => '删除一个HPO实验', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paiautoml:DeleteHpoExperiment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => 'HpoExperiment', 'arn' => 'acs:paiautoml:{#regionId}:{#accountId}:hpoexperiment/{#HpoExperimentId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"INVALID_USER_OR_EXP\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"AuthPrincipalType\\": \\"sub\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\",\\n \\"NoPermissionType\\": \\"NoPermission\\"\\n }\\n}","type":"json"}]', + ], + 'GetAutofeExperiment' => [ + 'summary' => '获取AutoFE实验信息。', + 'path' => '/api/automl/v1/autofe/experiment/{ExperimentId}', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '162519', - 'abilityTreeNodes' => [ - 'FEATURElearn0UHCCK', - ], + 'abilityTreeCode' => '162733', + 'abilityTreeNodes' => ['FEATURElearn0UHCCK'], ], 'parameters' => [ [ 'name' => 'ExperimentId', 'in' => 'path', - 'schema' => [ - 'title' => 'A short description of struct', - 'description' => 'HPO实验id', - 'type' => 'string', - 'required' => false, - 'example' => 'sX5O9Q8', - ], + 'schema' => ['description' => '实验ID', 'type' => 'string', 'required' => true, 'example' => 'tfKs0Ds'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '响应体', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'POP的请求id', - 'type' => 'string', - 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51', - ], - 'Code' => [ - 'description' => '内部错误码。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'INVALID_INPUT_PARAMS', - ], - 'Message' => [ - 'description' => '响应错误信息。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'Missing \'user_id\' in request.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'object', - 'example' => '{'."\n" - .' "AuthPrincipalType": "sub",'."\n" - .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" - .' "NoPermissionType": "NoPermission"'."\n" - .'}'."\n", - ], - 'ExperimentId' => [ - 'description' => 'HPO实验id', - 'type' => 'string', - 'example' => 'sX5O9Q8', - ], - 'Creator' => [ - 'description' => '实验创建人的UserId', - 'type' => 'string', - 'example' => '123456789', - ], - 'SearchSpace' => [ - 'description' => 'search_space.json配置内容', - 'type' => 'string', - 'example' => '{"${centerCount}":{"_type":"choice","_value":[2,3,4,5]},"${distanceType}":{"_type":"choice","_value":["euclidean","cosine","cityblock"]}}', - ], - 'Name' => [ - 'description' => '实验名称', - 'type' => 'string', - 'example' => 'my_hpo_exp_1', - ], - 'Status' => [ - 'description' => '实验状态', - 'type' => 'string', - 'example' => 'INVALID_USER_OR_EXP, SUCCESS, or EXECUTION_FAILURE', - ], - 'JobType' => [ - 'description' => '实验类型。对于HPO实验,类型值始终是1.', - 'type' => 'string', - 'example' => '1', - ], - 'ConfigIni' => [ - 'description' => 'trial.ini配置内容', - 'type' => 'string', - 'example' => '[odps_config]'."\n" - .'access_id=foo'."\n" - .'access_key=bar'."\n" - .'end_point=http://service.odps.aliyun.com/api'."\n" - .'log_view_host=http://logview.odps.aliyun.com'."\n" - .'project_name=my_project', - ], - 'ConfigYml' => [ - 'description' => 'exp.yml配置内容', - 'type' => 'string', - 'example' => 'assessor:'."\n" - .' classArgs:'."\n" - .' optimize_mode: maximize'."\n" - .' start_step: 1'."\n" - .' name: PAIAssessor'."\n" - .'debug: true'."\n" - .'experimentName: maxcompute_kmeans_monitor'."\n" - .'experimentWorkingDirectory: ../expdir'."\n" - .'logLevel: debug'."\n" - .'maxTrialNumber: 10'."\n" - .'searchSpaceFile: search_space.json'."\n" - .'trainingService:'."\n" - .' platform: local'."\n" - .'trialCommand: python3 -m hpo_tools.core.utils.run --config=./config.ini'."\n" - .'trialConcurrency: 2'."\n" - .'tuner:'."\n" - .' classArgs:'."\n" - .' optimize_mode: maximize'."\n" - .' name: TPE', - ], - 'GmtCreateTime' => [ - 'description' => '实验创建时间。', - 'type' => 'string', - 'example' => '2024-01-01 08:30:11', - ], - 'GmtModifiedTime' => [ - 'description' => '实验数据最近更新时间。', - 'type' => 'string', - 'example' => '2024-01-01 08:30:11', - ], - 'WorkspaceId' => [ - 'description' => '工作空间ID。', - 'type' => 'string', - 'example' => '12345', - ], + 'Code' => ['description' => '内部错误码。只在响应出错时被设置。', 'type' => 'string', 'example' => 'INVALID_USER_OR_EXP'], + 'Message' => ['description' => '响应错误信息。只在响应出错时被设置。', 'type' => 'string', 'example' => 'Missing \'user_id\' in request.'], + 'RequestId' => ['description' => 'POP请求ID', 'type' => 'string', 'example' => '071A904D-5A49-597F-9F69-81C7701D04AC'], + 'Detail' => ['description' => '详细信息。', 'type' => 'object'], + 'ExperimentId' => ['description' => '实验ID。', 'type' => 'string', 'example' => 'tfKs0Ds'], + 'Creator' => ['description' => '实验创建人的UserId', 'type' => 'string', 'example' => '266977839132045194'], + 'Name' => ['description' => '实验名称', 'type' => 'string', 'example' => '自动特征工程实验'], + 'JobMeta' => ['description' => '实验运行状态的基础信息,包括子任务数量,每个任务对应的url等。', 'type' => 'string', 'example' => '{"action": "fs_train", "request_id": "6B6D4FB6-87AA-5C0E-94AB-E0F830955D1E", "job_num": 7, "job_runs": [{"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-fqlk86bvk68", "duration": 181, "finish_at": 1719158854000, "create_time": "2024-06-23T16:04:31.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-q18k5jo66h3k", "duration": 233, "finish_at": 1719159106000, "create_time": "2024-06-23T16:07:51.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-g7b38dmqes0nm4le", "duration": 173, "finish_at": 1719159306000, "create_time": "2024-06-23T16:12:12.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-524dab97aazs3jmc", "duration": 199, "finish_at": 1719159527000, "create_time": "2024-06-23T16:15:28.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-a8z56wy2ppwmxx04", "duration": 197, "finish_at": 1719159747000, "create_time": "2024-06-23T16:19:08.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-2cgsbxzzzma1j", "duration": 210, "finish_at": 1719159982000, "create_time": "2024-06-23T16:22:51.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-3cgsvf3ien1cw7", "duration": 184, "finish_at": 1719160188000, "create_time": "2024-06-23T16:26:43.000Z", "status": "Succeeded"}], "workspace_id": "86006"}{"action": "fs_train", "request_id": "6B6D4FB6-87AA-5C0E-94AB-E0F830955D1E", "job_num": 7, "job_runs": [{"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-fqlk86betchc69vk68", "duration": 181, "finish_at": 1719158854000, "create_time": "2024-06-23T16:04:31.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-q18ijqak558jo66h3k", "duration": 233, "finish_at": 1719159106000, "create_time": "2024-06-23T16:07:51.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-g7b38df7mqes0nm4le", "duration": 173, "finish_at": 1719159306000, "create_time": "2024-06-23T16:12:12.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-524zedab97aazs3jmc", "duration": 199, "finish_at": 1719159527000, "create_time": "2024-06-23T16:15:28.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-a8z56wy2ppm6wmxx04", "duration": 197, "finish_at": 1719159747000, "create_time": "2024-06-23T16:19:08.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-2cgsbxzx9i35zzma1j", "duration": 210, "finish_at": 1719159982000, "create_time": "2024-06-23T16:22:51.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-3cgsvf3bprlien1cw7", "duration": 184, "finish_at": 1719160188000, "create_time": "2024-06-23T16:26:43.000Z", "status": "Succeeded"}], "workspace_id": "86006"}'], + 'GmtCreateTime' => ['description' => '实验创建时间。', 'type' => 'string', 'example' => '2023-08-18T09:41:01Z'], + 'GmtModifiedTime' => ['description' => '实验数据最近更新时间。', 'type' => 'string', 'example' => '2023-11-30T02:05:34.000Z'], + 'Status' => ['description' => '实验状态', 'type' => 'string', 'example' => 'FINISHED, FAILED, USER_CANCELED'], + 'SelectedFeatures' => ['description' => '选中的需要进行特种工程的原始特征。', 'type' => 'string', 'example' => 'age,sex,education'], + 'Description' => ['description' => '实验描述信息', 'type' => 'string', 'example' => '我的实验'], 'Accessibility' => [ 'description' => '工作空间可见性,可能值为:'."\n" .'- PRIVATE:在此工作空间中,仅对您和管理员可见。'."\n" .'- PUBLIC:在此工作空间中,对所有人可见。', 'type' => 'string', + 'enumValueTitles' => ['PUBLIC' => 'PUBLIC', 'PRIVATE' => 'PRIVATE'], 'example' => 'PRIVATE', ], - 'Description' => [ - 'description' => '实验描述信息', - 'type' => 'string', - 'example' => '我的实验', - ], - 'TrialCount' => [ - 'description' => '实验已经产生的trial的数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'TrialStatus' => [ - 'description' => 'trail状态名称和数量', - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'description' => 'trial 状态和处于各个状态的trial的数量的map', - 'example' => '{‘FINISHED\':1, \'RUNNING\':2}', - ], - ], - 'HpoExperimentConfiguration' => [ - 'description' => '实验配置信息', - 'type' => 'object', - 'example' => '{'."\n" - .' "output_config": {'."\n" - .' "model_path": "bi_ps_${exp_id}_${trial_id}"'."\n" - .' },'."\n" - .' "platform_config": {'."\n" - .' "cmd": ['."\n" - .' "PAI -name ps_smart\\n -project foo",'."\n" - .' "PAI -name prediction\\n -project foo",'."\n" - .' "PAI -name evaluate -project foo",'."\n" - .' "INSERT OVERWRITE TABLE my_table;"'."\n" - .' ],'."\n" - .' "name": "MaxCompute"'."\n" - .' },'."\n" - .' "metric_config": {'."\n" - .' "metric_dict": {'."\n" - .' "recall": 0.5,'."\n" - .' "auc": 0.25,'."\n" - .' "precision": 0.25'."\n" - .' },'."\n" - .' "metric_source": ['."\n" - .' "select * from my_metrics where pt=\'${exp_id}_${trial_id}\';"'."\n" - .' ],'."\n" - .' "metric_type": "table",'."\n" - .' "final_mode": "best"'."\n" - .' },'."\n" - .' "odps_config": {'."\n" - .' "project_name": "my_project",'."\n" - .' "role_arn": "acs:ram::123456789:role/aliyunserviceroleforfoo",'."\n" - .' "region": "cn-shanghai",'."\n" - .' "end_point": "http://service.cn.maxcompute.aliyun-inc.com/api",'."\n" - .' "log_view_host": "http://logview.odps.aliyun.com"'."\n" - .' },'."\n" - .' "yml_config": {'."\n" - .' "max_trial_number": 5,'."\n" - .' "assessor": {'."\n" - .' "name": "PAIAssessor",'."\n" - .' "class_args": {'."\n" - .' "earlystop": true,'."\n" - .' "start_step": 5,'."\n" - .' "optimize_mode": "maximize"'."\n" - .' }'."\n" - .' },'."\n" - .' "experiment_name": "my_exp",'."\n" - .' "tuner": {'."\n" - .' "name": "TPE",'."\n" - .' "class_args": {'."\n" - .' "optimize_mode": "maximize"'."\n" - .' }'."\n" - .' },'."\n" - .' "trial_concurrency": 2'."\n" - .' },'."\n" - .' "search_space": {'."\n" - .' "${max_depth}": {'."\n" - .' "_type": "choice",'."\n" - .' "_value": ['."\n" - .' 1,'."\n" - .' 3,'."\n" - .' 5'."\n" - .' ]'."\n" - .' },'."\n" - .' "${tree_count}": {'."\n" - .' "_value": ['."\n" - .' 50,'."\n" - .' 100,'."\n" - .' 150'."\n" - .' ],'."\n" - .' "_type": "choice"'."\n" - .' }'."\n" - .' }'."\n" - .'}', - ], - 'Deleted' => [ - 'description' => '是否已经被删除', - 'type' => 'boolean', - 'example' => '0', - ], 'Tags' => [ - 'description' => '用户自定义标签列表', + 'description' => '标签信息。', 'type' => 'array', 'items' => [ - 'description' => '资源标签。', + 'description' => '标签。', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => '标签键。', - 'type' => 'string', - 'example' => 'group', - ], - 'Value' => [ - 'description' => '标签值。', - 'type' => 'string', - 'example' => 'group_name', - ], + 'Key' => ['description' => '标签键。', 'type' => 'string', 'example' => 'group'], + 'Value' => ['description' => '标签值。', 'type' => 'string', 'example' => 'group_name'], ], ], ], @@ -1797,217 +721,240 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"INVALID_INPUT_PARAMS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"AuthPrincipalType\\": \\"sub\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\",\\n \\"NoPermissionType\\": \\"NoPermission\\"\\n },\\n \\"ExperimentId\\": \\"sX5O9Q8\\",\\n \\"Creator\\": \\"123456789\\",\\n \\"SearchSpace\\": \\"{\\\\\\"${centerCount}\\\\\\":{\\\\\\"_type\\\\\\":\\\\\\"choice\\\\\\",\\\\\\"_value\\\\\\":[2,3,4,5]},\\\\\\"${distanceType}\\\\\\":{\\\\\\"_type\\\\\\":\\\\\\"choice\\\\\\",\\\\\\"_value\\\\\\":[\\\\\\"euclidean\\\\\\",\\\\\\"cosine\\\\\\",\\\\\\"cityblock\\\\\\"]}}\\",\\n \\"Name\\": \\"my_hpo_exp_1\\",\\n \\"Status\\": \\"INVALID_USER_OR_EXP, SUCCESS, or EXECUTION_FAILURE\\",\\n \\"JobType\\": \\"1\\",\\n \\"ConfigIni\\": \\"[odps_config]\\\\naccess_id=foo\\\\naccess_key=bar\\\\nend_point=http://service.odps.aliyun.com/api\\\\nlog_view_host=http://logview.odps.aliyun.com\\\\nproject_name=my_project\\",\\n \\"ConfigYml\\": \\"assessor:\\\\n classArgs:\\\\n optimize_mode: maximize\\\\n start_step: 1\\\\n name: PAIAssessor\\\\ndebug: true\\\\nexperimentName: maxcompute_kmeans_monitor\\\\nexperimentWorkingDirectory: ../expdir\\\\nlogLevel: debug\\\\nmaxTrialNumber: 10\\\\nsearchSpaceFile: search_space.json\\\\ntrainingService:\\\\n platform: local\\\\ntrialCommand: python3 -m hpo_tools.core.utils.run --config=./config.ini\\\\ntrialConcurrency: 2\\\\ntuner:\\\\n classArgs:\\\\n optimize_mode: maximize\\\\n name: TPE\\",\\n \\"GmtCreateTime\\": \\"2024-01-01 08:30:11\\",\\n \\"GmtModifiedTime\\": \\"2024-01-01 08:30:11\\",\\n \\"WorkspaceId\\": \\"12345\\",\\n \\"Accessibility\\": \\"PRIVATE\\",\\n \\"Description\\": \\"我的实验\\",\\n \\"TrialCount\\": 3,\\n \\"TrialStatus\\": {\\n \\"key\\": \\"{‘FINISHED\':1, \'RUNNING\':2}\\"\\n },\\n \\"HpoExperimentConfiguration\\": {\\n \\"output_config\\": {\\n \\"model_path\\": \\"bi_ps_${exp_id}_${trial_id}\\"\\n },\\n \\"platform_config\\": {\\n \\"cmd\\": [\\n \\"PAI -name ps_smart\\\\n -project foo\\",\\n \\"PAI -name prediction\\\\n -project foo\\",\\n \\"PAI -name evaluate -project foo\\",\\n \\"INSERT OVERWRITE TABLE my_table;\\"\\n ],\\n \\"name\\": \\"MaxCompute\\"\\n },\\n \\"metric_config\\": {\\n \\"metric_dict\\": {\\n \\"recall\\": 0.5,\\n \\"auc\\": 0.25,\\n \\"precision\\": 0.25\\n },\\n \\"metric_source\\": [\\n \\"select * from my_metrics where pt=\'${exp_id}_${trial_id}\';\\"\\n ],\\n \\"metric_type\\": \\"table\\",\\n \\"final_mode\\": \\"best\\"\\n },\\n \\"odps_config\\": {\\n \\"project_name\\": \\"my_project\\",\\n \\"role_arn\\": \\"acs:ram::123456789:role/aliyunserviceroleforfoo\\",\\n \\"region\\": \\"cn-shanghai\\",\\n \\"end_point\\": \\"http://service.cn.maxcompute.aliyun-inc.com/api\\",\\n \\"log_view_host\\": \\"http://logview.odps.aliyun.com\\"\\n },\\n \\"yml_config\\": {\\n \\"max_trial_number\\": 5,\\n \\"assessor\\": {\\n \\"name\\": \\"PAIAssessor\\",\\n \\"class_args\\": {\\n \\"earlystop\\": true,\\n \\"start_step\\": 5,\\n \\"optimize_mode\\": \\"maximize\\"\\n }\\n },\\n \\"experiment_name\\": \\"my_exp\\",\\n \\"tuner\\": {\\n \\"name\\": \\"TPE\\",\\n \\"class_args\\": {\\n \\"optimize_mode\\": \\"maximize\\"\\n }\\n },\\n \\"trial_concurrency\\": 2\\n },\\n \\"search_space\\": {\\n \\"${max_depth}\\": {\\n \\"_type\\": \\"choice\\",\\n \\"_value\\": [\\n 1,\\n 3,\\n 5\\n ]\\n },\\n \\"${tree_count}\\": {\\n \\"_value\\": [\\n 50,\\n 100,\\n 150\\n ],\\n \\"_type\\": \\"choice\\"\\n }\\n }\\n },\\n \\"Deleted\\": true,\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"group\\",\\n \\"Value\\": \\"group_name\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '获取一个HPO实验的信息', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"INVALID_USER_OR_EXP\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"RequestId\\": \\"071A904D-5A49-597F-9F69-81C7701D04AC\\",\\n \\"Detail\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"ExperimentId\\": \\"tfKs0Ds\\",\\n \\"Creator\\": \\"266977839132045194\\",\\n \\"Name\\": \\"自动特征工程实验\\",\\n \\"JobMeta\\": \\"{\\\\\\"action\\\\\\": \\\\\\"fs_train\\\\\\", \\\\\\"request_id\\\\\\": \\\\\\"6B6D4FB6-87AA-5C0E-94AB-E0F830955D1E\\\\\\", \\\\\\"job_num\\\\\\": 7, \\\\\\"job_runs\\\\\\": [{\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-fqlk86bvk68\\\\\\", \\\\\\"duration\\\\\\": 181, \\\\\\"finish_at\\\\\\": 1719158854000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:04:31.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-q18k5jo66h3k\\\\\\", \\\\\\"duration\\\\\\": 233, \\\\\\"finish_at\\\\\\": 1719159106000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:07:51.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-g7b38dmqes0nm4le\\\\\\", \\\\\\"duration\\\\\\": 173, \\\\\\"finish_at\\\\\\": 1719159306000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:12:12.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-524dab97aazs3jmc\\\\\\", \\\\\\"duration\\\\\\": 199, \\\\\\"finish_at\\\\\\": 1719159527000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:15:28.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-a8z56wy2ppwmxx04\\\\\\", \\\\\\"duration\\\\\\": 197, \\\\\\"finish_at\\\\\\": 1719159747000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:19:08.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-2cgsbxzzzma1j\\\\\\", \\\\\\"duration\\\\\\": 210, \\\\\\"finish_at\\\\\\": 1719159982000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:22:51.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-3cgsvf3ien1cw7\\\\\\", \\\\\\"duration\\\\\\": 184, \\\\\\"finish_at\\\\\\": 1719160188000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:26:43.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}], \\\\\\"workspace_id\\\\\\": \\\\\\"86006\\\\\\"}{\\\\\\"action\\\\\\": \\\\\\"fs_train\\\\\\", \\\\\\"request_id\\\\\\": \\\\\\"6B6D4FB6-87AA-5C0E-94AB-E0F830955D1E\\\\\\", \\\\\\"job_num\\\\\\": 7, \\\\\\"job_runs\\\\\\": [{\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-fqlk86betchc69vk68\\\\\\", \\\\\\"duration\\\\\\": 181, \\\\\\"finish_at\\\\\\": 1719158854000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:04:31.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-q18ijqak558jo66h3k\\\\\\", \\\\\\"duration\\\\\\": 233, \\\\\\"finish_at\\\\\\": 1719159106000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:07:51.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-g7b38df7mqes0nm4le\\\\\\", \\\\\\"duration\\\\\\": 173, \\\\\\"finish_at\\\\\\": 1719159306000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:12:12.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-524zedab97aazs3jmc\\\\\\", \\\\\\"duration\\\\\\": 199, \\\\\\"finish_at\\\\\\": 1719159527000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:15:28.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-a8z56wy2ppm6wmxx04\\\\\\", \\\\\\"duration\\\\\\": 197, \\\\\\"finish_at\\\\\\": 1719159747000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:19:08.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-2cgsbxzx9i35zzma1j\\\\\\", \\\\\\"duration\\\\\\": 210, \\\\\\"finish_at\\\\\\": 1719159982000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:22:51.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-3cgsvf3bprlien1cw7\\\\\\", \\\\\\"duration\\\\\\": 184, \\\\\\"finish_at\\\\\\": 1719160188000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:26:43.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}], \\\\\\"workspace_id\\\\\\": \\\\\\"86006\\\\\\"}\\",\\n \\"GmtCreateTime\\": \\"2023-08-18T09:41:01Z\\",\\n \\"GmtModifiedTime\\": \\"2023-11-30T02:05:34.000Z\\",\\n \\"Status\\": \\"FINISHED, FAILED, USER_CANCELED\\",\\n \\"SelectedFeatures\\": \\"age,sex,education\\",\\n \\"Description\\": \\"我的实验\\",\\n \\"Accessibility\\": \\"PRIVATE\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"group\\",\\n \\"Value\\": \\"group_name\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '获取AutoFE实验信息', ], - 'UpdateHpoExperiment' => [ - 'summary' => '更新一个正在运行中的HPO实验的设置。更新成功后,该实验将按照新的设置继续执行。', - 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/update', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GetHpoExperiment' => [ + 'summary' => '获取一个HPO实验的信息,包括状态、配置、以及所属trials的状态等数据。', + 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '195655', - 'abilityTreeNodes' => [ - 'FEATURElearn0UHCCK', - ], + 'abilityTreeCode' => '162519', + 'abilityTreeNodes' => ['FEATURElearn0UHCCK'], ], 'parameters' => [ [ 'name' => 'ExperimentId', 'in' => 'path', - 'schema' => [ - 'title' => 'A short description of struct', - 'description' => 'HPO实验id', - 'type' => 'string', - 'required' => false, - 'example' => 'abcde', - ], + 'schema' => ['title' => 'A short description of struct', 'description' => 'HPO实验id', 'type' => 'string', 'required' => false, 'example' => 'sX5O9Q8'], ], - [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '请求体。', + 'title' => 'Schema of Response', + 'description' => '响应体', 'type' => 'object', 'properties' => [ - 'HpoExperimentConfiguration' => [ - 'description' => 'HPO实验配置参数结构体', - 'required' => false, - '$ref' => '#/components/schemas/HpoExperimentConfig', - ], - 'Description' => [ - 'description' => '实验描述。', - 'type' => 'string', - 'required' => false, - 'example' => 'This is an AutoML HPO experiment.', - ], - 'Accessibility' => [ - 'description' => '工作空间可见度,取值如下。'."\n" - .'- PRIVATE:在此工作空间中,仅对您和管理员可见。'."\n" - .'- PUBLIC:在此工作空间中,对所有人可见。', - 'type' => 'string', - 'required' => false, - 'example' => 'PRIVATE', - ], - 'Name' => [ - 'description' => '实验名称', - 'type' => 'string', - 'required' => false, - 'example' => 'my experiment x', - ], - 'WorkspaceId' => [ - 'description' => '工作空间ID', - 'type' => 'string', - 'required' => false, - 'example' => '12345', - ], - 'Tag' => [ - 'description' => '标签信息。', + 'RequestId' => ['description' => 'POP的请求id', 'type' => 'string', 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51'], + 'Code' => ['description' => '内部错误码。只在响应出错时被设置。', 'type' => 'string', 'example' => 'INVALID_INPUT_PARAMS'], + 'Message' => ['description' => '响应错误信息。只在响应出错时被设置。', 'type' => 'string', 'example' => 'Missing \'user_id\' in request.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'object', 'example' => '{'."\n" + .' "AuthPrincipalType": "sub",'."\n" + .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" + .' "NoPermissionType": "NoPermission"'."\n" + .'}'."\n"], + 'ExperimentId' => ['description' => 'HPO实验id', 'type' => 'string', 'example' => 'sX5O9Q8'], + 'Creator' => ['description' => '实验创建人的UserId', 'type' => 'string', 'example' => '123456789'], + 'SearchSpace' => ['description' => 'search_space.json配置内容', 'type' => 'string', 'example' => '{"${centerCount}":{"_type":"choice","_value":[2,3,4,5]},"${distanceType}":{"_type":"choice","_value":["euclidean","cosine","cityblock"]}}'], + 'Name' => ['description' => '实验名称', 'type' => 'string', 'example' => 'my_hpo_exp_1'], + 'Status' => ['description' => '实验状态', 'type' => 'string', 'example' => 'INVALID_USER_OR_EXP, SUCCESS, or EXECUTION_FAILURE'], + 'JobType' => ['description' => '实验类型。对于HPO实验,类型值始终是1.', 'type' => 'string', 'example' => '1'], + 'ConfigIni' => ['description' => 'trial.ini配置内容', 'type' => 'string', 'example' => '[odps_config]'."\n" + .'access_id=foo'."\n" + .'access_key=bar'."\n" + .'end_point=http://service.odps.aliyun.com/api'."\n" + .'log_view_host=http://logview.odps.aliyun.com'."\n" + .'project_name=my_project'], + 'ConfigYml' => ['description' => 'exp.yml配置内容', 'type' => 'string', 'example' => 'assessor:'."\n" + .' classArgs:'."\n" + .' optimize_mode: maximize'."\n" + .' start_step: 1'."\n" + .' name: PAIAssessor'."\n" + .'debug: true'."\n" + .'experimentName: maxcompute_kmeans_monitor'."\n" + .'experimentWorkingDirectory: ../expdir'."\n" + .'logLevel: debug'."\n" + .'maxTrialNumber: 10'."\n" + .'searchSpaceFile: search_space.json'."\n" + .'trainingService:'."\n" + .' platform: local'."\n" + .'trialCommand: python3 -m hpo_tools.core.utils.run --config=./config.ini'."\n" + .'trialConcurrency: 2'."\n" + .'tuner:'."\n" + .' classArgs:'."\n" + .' optimize_mode: maximize'."\n" + .' name: TPE'], + 'GmtCreateTime' => ['description' => '实验创建时间。', 'type' => 'string', 'example' => '2024-01-01 08:30:11'], + 'GmtModifiedTime' => ['description' => '实验数据最近更新时间。', 'type' => 'string', 'example' => '2024-01-01 08:30:11'], + 'WorkspaceId' => ['description' => '工作空间ID。', 'type' => 'string', 'example' => '12345'], + 'Accessibility' => ['description' => '工作空间可见性,可能值为:'."\n" + .'- PRIVATE:在此工作空间中,仅对您和管理员可见。'."\n" + .'- PUBLIC:在此工作空间中,对所有人可见。', 'type' => 'string', 'example' => 'PRIVATE'], + 'Description' => ['description' => '实验描述信息', 'type' => 'string', 'example' => '我的实验'], + 'TrialCount' => ['description' => '实验已经产生的trial的数量', 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'TrialStatus' => [ + 'description' => 'trail状态名称和数量', + 'type' => 'object', + 'additionalProperties' => ['type' => 'string', 'description' => 'trial 状态和处于各个状态的trial的数量的map', 'example' => '{‘FINISHED\':1, \'RUNNING\':2}'], + ], + 'HpoExperimentConfiguration' => ['description' => '实验配置信息', 'type' => 'object', 'example' => '{'."\n" + .' "output_config": {'."\n" + .' "model_path": "bi_ps_${exp_id}_${trial_id}"'."\n" + .' },'."\n" + .' "platform_config": {'."\n" + .' "cmd": ['."\n" + .' "PAI -name ps_smart\\n -project foo",'."\n" + .' "PAI -name prediction\\n -project foo",'."\n" + .' "PAI -name evaluate -project foo",'."\n" + .' "INSERT OVERWRITE TABLE my_table;"'."\n" + .' ],'."\n" + .' "name": "MaxCompute"'."\n" + .' },'."\n" + .' "metric_config": {'."\n" + .' "metric_dict": {'."\n" + .' "recall": 0.5,'."\n" + .' "auc": 0.25,'."\n" + .' "precision": 0.25'."\n" + .' },'."\n" + .' "metric_source": ['."\n" + .' "select * from my_metrics where pt=\'${exp_id}_${trial_id}\';"'."\n" + .' ],'."\n" + .' "metric_type": "table",'."\n" + .' "final_mode": "best"'."\n" + .' },'."\n" + .' "odps_config": {'."\n" + .' "project_name": "my_project",'."\n" + .' "role_arn": "acs:ram::123456789:role/aliyunserviceroleforfoo",'."\n" + .' "region": "cn-shanghai",'."\n" + .' "end_point": "http://service.cn.maxcompute.aliyun-inc.com/api",'."\n" + .' "log_view_host": "http://logview.odps.aliyun.com"'."\n" + .' },'."\n" + .' "yml_config": {'."\n" + .' "max_trial_number": 5,'."\n" + .' "assessor": {'."\n" + .' "name": "PAIAssessor",'."\n" + .' "class_args": {'."\n" + .' "earlystop": true,'."\n" + .' "start_step": 5,'."\n" + .' "optimize_mode": "maximize"'."\n" + .' }'."\n" + .' },'."\n" + .' "experiment_name": "my_exp",'."\n" + .' "tuner": {'."\n" + .' "name": "TPE",'."\n" + .' "class_args": {'."\n" + .' "optimize_mode": "maximize"'."\n" + .' }'."\n" + .' },'."\n" + .' "trial_concurrency": 2'."\n" + .' },'."\n" + .' "search_space": {'."\n" + .' "${max_depth}": {'."\n" + .' "_type": "choice",'."\n" + .' "_value": ['."\n" + .' 1,'."\n" + .' 3,'."\n" + .' 5'."\n" + .' ]'."\n" + .' },'."\n" + .' "${tree_count}": {'."\n" + .' "_value": ['."\n" + .' 50,'."\n" + .' 100,'."\n" + .' 150'."\n" + .' ],'."\n" + .' "_type": "choice"'."\n" + .' }'."\n" + .' }'."\n" + .'}'], + 'Deleted' => ['description' => '是否已经被删除', 'type' => 'boolean', 'example' => '0'], + 'Tags' => [ + 'description' => '用户自定义标签列表', 'type' => 'array', 'items' => [ - 'description' => '标签信息。', + 'description' => '资源标签。', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => '标签名', - 'type' => 'string', - 'required' => false, - 'example' => 'group', - ], - 'Value' => [ - 'description' => '标签值', - 'type' => 'string', - 'required' => false, - 'example' => 'group_name', - ], + 'Key' => ['description' => '标签键。', 'type' => 'string', 'example' => 'group'], + 'Value' => ['description' => '标签值。', 'type' => 'string', 'example' => 'group_name'], ], - 'required' => false, ], - 'required' => false, ], ], - 'required' => false, ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'POP的请求id', - 'type' => 'string', - 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51', - ], - 'Code' => [ - 'description' => '状态码', - 'type' => 'string', - 'example' => 'SUCCESS', - ], - 'Message' => [ - 'description' => '响应错误信息。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'Missing \'user_id\' in request.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'object', - 'example' => '{'."\n" - .' "AuthPrincipalType": "sub",'."\n" - .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" - .' "NoPermissionType": "NoPermission"'."\n" - .'}'."\n", - ], - ], - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"SUCCESS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"AuthPrincipalType\\": \\"sub\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\",\\n \\"NoPermissionType\\": \\"NoPermission\\"\\n }\\n}","type":"json"}]', - 'title' => '更新HPO实验设置', - ], - 'StopHpoExperiment' => [ - 'summary' => '完全停止一个指定的AutoML HPO实验,包括停止该实验所属的trials,和这些trials所依赖的后台任务。', - 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/stop', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => '获取一个HPO实验的信息', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paiautoml:GetHpoExperiment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => 'HpoExperiment', 'arn' => 'acs:paiautoml:{#regionId}:{#accountId}:hpoexperiment/{#HpoExperimentId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"INVALID_INPUT_PARAMS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"AuthPrincipalType\\": \\"sub\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\",\\n \\"NoPermissionType\\": \\"NoPermission\\"\\n },\\n \\"ExperimentId\\": \\"sX5O9Q8\\",\\n \\"Creator\\": \\"123456789\\",\\n \\"SearchSpace\\": \\"{\\\\\\"${centerCount}\\\\\\":{\\\\\\"_type\\\\\\":\\\\\\"choice\\\\\\",\\\\\\"_value\\\\\\":[2,3,4,5]},\\\\\\"${distanceType}\\\\\\":{\\\\\\"_type\\\\\\":\\\\\\"choice\\\\\\",\\\\\\"_value\\\\\\":[\\\\\\"euclidean\\\\\\",\\\\\\"cosine\\\\\\",\\\\\\"cityblock\\\\\\"]}}\\",\\n \\"Name\\": \\"my_hpo_exp_1\\",\\n \\"Status\\": \\"INVALID_USER_OR_EXP, SUCCESS, or EXECUTION_FAILURE\\",\\n \\"JobType\\": \\"1\\",\\n \\"ConfigIni\\": \\"[odps_config]\\\\naccess_id=foo\\\\naccess_key=bar\\\\nend_point=http://service.odps.aliyun.com/api\\\\nlog_view_host=http://logview.odps.aliyun.com\\\\nproject_name=my_project\\",\\n \\"ConfigYml\\": \\"assessor:\\\\n classArgs:\\\\n optimize_mode: maximize\\\\n start_step: 1\\\\n name: PAIAssessor\\\\ndebug: true\\\\nexperimentName: maxcompute_kmeans_monitor\\\\nexperimentWorkingDirectory: ../expdir\\\\nlogLevel: debug\\\\nmaxTrialNumber: 10\\\\nsearchSpaceFile: search_space.json\\\\ntrainingService:\\\\n platform: local\\\\ntrialCommand: python3 -m hpo_tools.core.utils.run --config=./config.ini\\\\ntrialConcurrency: 2\\\\ntuner:\\\\n classArgs:\\\\n optimize_mode: maximize\\\\n name: TPE\\",\\n \\"GmtCreateTime\\": \\"2024-01-01 08:30:11\\",\\n \\"GmtModifiedTime\\": \\"2024-01-01 08:30:11\\",\\n \\"WorkspaceId\\": \\"12345\\",\\n \\"Accessibility\\": \\"PRIVATE\\",\\n \\"Description\\": \\"我的实验\\",\\n \\"TrialCount\\": 3,\\n \\"TrialStatus\\": {\\n \\"key\\": \\"{‘FINISHED\':1, \'RUNNING\':2}\\"\\n },\\n \\"HpoExperimentConfiguration\\": {\\n \\"output_config\\": {\\n \\"model_path\\": \\"bi_ps_${exp_id}_${trial_id}\\"\\n },\\n \\"platform_config\\": {\\n \\"cmd\\": [\\n \\"PAI -name ps_smart\\\\n -project foo\\",\\n \\"PAI -name prediction\\\\n -project foo\\",\\n \\"PAI -name evaluate -project foo\\",\\n \\"INSERT OVERWRITE TABLE my_table;\\"\\n ],\\n \\"name\\": \\"MaxCompute\\"\\n },\\n \\"metric_config\\": {\\n \\"metric_dict\\": {\\n \\"recall\\": 0.5,\\n \\"auc\\": 0.25,\\n \\"precision\\": 0.25\\n },\\n \\"metric_source\\": [\\n \\"select * from my_metrics where pt=\'${exp_id}_${trial_id}\';\\"\\n ],\\n \\"metric_type\\": \\"table\\",\\n \\"final_mode\\": \\"best\\"\\n },\\n \\"odps_config\\": {\\n \\"project_name\\": \\"my_project\\",\\n \\"role_arn\\": \\"acs:ram::123456789:role/aliyunserviceroleforfoo\\",\\n \\"region\\": \\"cn-shanghai\\",\\n \\"end_point\\": \\"http://service.cn.maxcompute.aliyun-inc.com/api\\",\\n \\"log_view_host\\": \\"http://logview.odps.aliyun.com\\"\\n },\\n \\"yml_config\\": {\\n \\"max_trial_number\\": 5,\\n \\"assessor\\": {\\n \\"name\\": \\"PAIAssessor\\",\\n \\"class_args\\": {\\n \\"earlystop\\": true,\\n \\"start_step\\": 5,\\n \\"optimize_mode\\": \\"maximize\\"\\n }\\n },\\n \\"experiment_name\\": \\"my_exp\\",\\n \\"tuner\\": {\\n \\"name\\": \\"TPE\\",\\n \\"class_args\\": {\\n \\"optimize_mode\\": \\"maximize\\"\\n }\\n },\\n \\"trial_concurrency\\": 2\\n },\\n \\"search_space\\": {\\n \\"${max_depth}\\": {\\n \\"_type\\": \\"choice\\",\\n \\"_value\\": [\\n 1,\\n 3,\\n 5\\n ]\\n },\\n \\"${tree_count}\\": {\\n \\"_value\\": [\\n 50,\\n 100,\\n 150\\n ],\\n \\"_type\\": \\"choice\\"\\n }\\n }\\n },\\n \\"Deleted\\": true,\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"group\\",\\n \\"Value\\": \\"group_name\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'GetHpoTrial' => [ + 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/trial/{TrialId}', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '162610', - 'abilityTreeNodes' => [ - 'FEATURElearn0UHCCK', - ], + 'abilityTreeCode' => '192107', + 'abilityTreeNodes' => ['FEATURElearn0UHCCK'], ], 'parameters' => [ [ 'name' => 'ExperimentId', 'in' => 'path', - 'schema' => [ - 'title' => '需要被停止的实验的id。', - 'description' => '需要被停止的实验的id。', - 'type' => 'string', - 'required' => true, - 'example' => 'abcde', - ], + 'schema' => ['title' => '实验id。', 'description' => '实验id。', 'type' => 'string', 'required' => true, 'example' => 'abcde'], + ], + [ + 'name' => 'TrialId', + 'in' => 'path', + 'schema' => ['description' => 'trial id', 'type' => 'string', 'required' => true, 'example' => 'mf99W4'], ], ], 'responses' => [ @@ -2017,105 +964,81 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'ExpId' => [ - 'title' => '实验id。', - 'description' => '实验id。', - 'type' => 'string', - 'example' => 'abcde', - ], - 'Code' => [ - 'title' => '响应状态。', - 'description' => '内部错误码。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'INVALID_INPUT_PARAMS', - ], - 'Message' => [ - 'title' => '响应错误信息。只在响应出错时被设置。', - 'description' => '响应错误信息。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'Missing \'user_id\' in request.', - ], - 'RequestId' => [ - 'description' => 'POP的请求id', - 'type' => 'string', - 'example' => '071A904D-5A49-597F-9F69-81C7701D04AC', - ], + 'RequestId' => ['description' => 'POP 请求id', 'type' => 'string', 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51'], + 'Code' => ['title' => '响应状态。', 'description' => '内部错误码。只在响应出错时被设置。', 'type' => 'string', 'example' => 'INVALID_INPUT_PARAMS'], + 'Message' => ['title' => '响应错误信息。只在响应出错时被设置。', 'description' => '响应错误信息。只在响应出错时被设置。', 'type' => 'string', 'example' => 'Missing \'user_id\' in request.'], 'AccessDeniedDetail' => [ - 'description' => '权限校验失败详情 ', + 'description' => '访问被拒绝详细信息。', 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{'."\n" - .' "AuthPrincipalType": "sub",'."\n" - .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" - .' "NoPermissionType": "NoPermission"'."\n" - .'}'."\n", - 'description' => '权限校验失败详情 ', - ], - ], - 'Status' => [ - 'description' => '实验运行状态', - 'type' => 'string', - 'example' => 'TERMINATING, USER_CANCELED', - ], + 'additionalProperties' => ['type' => 'string', 'example' => '{'."\n" + .' "AuthPrincipalType": "sub",'."\n" + .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" + .' "NoPermissionType": "NoPermission"'."\n" + .'}'."\n", 'description' => '访问被拒绝详细信息。'], + ], + 'TrialId' => ['description' => 'trial的id', 'type' => 'string', 'example' => 'mf99W4'], + 'ExperimentId' => ['description' => 'HPO实验id', 'type' => 'string', 'example' => 'abcde'], + 'Model' => ['description' => '这个Trial 所对应的后台任务生成的模型的存储位置。', 'type' => 'string', 'example' => 'model_table_name_foo'], + 'Hyperparam' => ['description' => 'trial配置的超参(hyper parameter)值', 'type' => 'string', 'example' => '{"${centerCount}": 5, "${distanceType}": "cosine"}'], + 'ParameterId' => ['description' => 'trail所对应的后台任务给这个trial分配的一个id', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'Status' => ['description' => 'Trial状态', 'type' => 'string', 'example' => 'FINISHED, FAILED, USER_CANCELED'], + 'MetricName' => ['description' => 'metric名称。未填充,不在使用中', 'type' => 'string', 'example' => '空字符串'], + 'Metric' => ['description' => 'trial计算metric的结果数组。包括一个或多个计算过程中产生的临时值,和一个最终值。', 'type' => 'string', 'example' => '[{"default":0.087745,"val_loss=([0-9\\\\\\\\.]+)":0.087745},'."\n" + .'{"default":1.085841,"val_loss=([0-9\\\\\\\\.]+)":0.085841},'."\n" + .'{"default":0.087745,"type":"FINAL","val_loss=([0-9\\\\\\\\.]+)":0.087745}]'], + 'JobMeta' => ['description' => 'trial所对应的后台任务的meta信息。json string格式。', 'type' => 'string', 'example' => '{"nni_trial_id": "asdf", "nni_exp_id": "abcde", "nni_trial_sequence_id": 2}'], + 'FinalMetric' => ['description' => 'trial成功结束后,后台任务计算出的最终的metric值。来自metric数组里的FINAL 类型的metric项里的default key所对应的值。', 'type' => 'string', 'example' => '{"default":0.087745,"type":"FINAL","val_loss=([0-9\\\\\\\\.]+)":0.087745}'], + 'GmtCreateTime' => ['description' => 'Trial创建时间 UTC time。', 'type' => 'string', 'example' => '2024-01-02 12:34:56'], + 'GmtModifiedTime' => ['description' => 'Trial 最后更新时间 UTC time', 'type' => 'string', 'example' => '2024-01-02 21:32:56'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ExpId\\": \\"abcde\\",\\n \\"Code\\": \\"INVALID_INPUT_PARAMS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"RequestId\\": \\"071A904D-5A49-597F-9F69-81C7701D04AC\\",\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\",\\\\n \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\",\\\\n \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"\\\\n}\\\\n\\"\\n },\\n \\"Status\\": \\"TERMINATING, USER_CANCELED\\"\\n}","type":"json"}]', - 'title' => '停止一个指定的HPO实验', - ], - 'DeleteHpoExperiment' => [ - 'summary' => '删除一个HPO实验。删除后,实验和它的trials数据都不会再通过Get/List API返回。', - 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/delete', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'https', + 'title' => '获取一个HPO实验里一个指定Trial的信息', + 'summary' => '获取一个HPO实验里一个指定Trial的信息。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paiautoml:GetHpoTrial', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"INVALID_INPUT_PARAMS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\",\\\\n \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\",\\\\n \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"\\\\n}\\\\n\\"\\n },\\n \\"TrialId\\": \\"mf99W4\\",\\n \\"ExperimentId\\": \\"abcde\\",\\n \\"Model\\": \\"model_table_name_foo\\",\\n \\"Hyperparam\\": \\"{\\\\\\"${centerCount}\\\\\\": 5, \\\\\\"${distanceType}\\\\\\": \\\\\\"cosine\\\\\\"}\\",\\n \\"ParameterId\\": 0,\\n \\"Status\\": \\"FINISHED, FAILED, USER_CANCELED\\",\\n \\"MetricName\\": \\"空字符串\\",\\n \\"Metric\\": \\"[{\\\\\\"default\\\\\\":0.087745,\\\\\\"val_loss=([0-9\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.]+)\\\\\\":0.087745},\\\\n{\\\\\\"default\\\\\\":1.085841,\\\\\\"val_loss=([0-9\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.]+)\\\\\\":0.085841},\\\\n{\\\\\\"default\\\\\\":0.087745,\\\\\\"type\\\\\\":\\\\\\"FINAL\\\\\\",\\\\\\"val_loss=([0-9\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.]+)\\\\\\":0.087745}]\\",\\n \\"JobMeta\\": \\"{\\\\\\"nni_trial_id\\\\\\": \\\\\\"asdf\\\\\\", \\\\\\"nni_exp_id\\\\\\": \\\\\\"abcde\\\\\\", \\\\\\"nni_trial_sequence_id\\\\\\": 2}\\",\\n \\"FinalMetric\\": \\"{\\\\\\"default\\\\\\":0.087745,\\\\\\"type\\\\\\":\\\\\\"FINAL\\\\\\",\\\\\\"val_loss=([0-9\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.]+)\\\\\\":0.087745}\\",\\n \\"GmtCreateTime\\": \\"2024-01-02 12:34:56\\",\\n \\"GmtModifiedTime\\": \\"2024-01-02 21:32:56\\"\\n}","type":"json"}]', + ], + 'GetServiceIdentityRole' => [ + 'path' => '/api/automl/v1/serviceidentityrole', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '196042', - 'abilityTreeNodes' => [ - 'FEATURElearn0UHCCK', - ], - ], - 'parameters' => [ - [ - 'name' => 'ExperimentId', - 'in' => 'path', - 'schema' => [ - 'title' => 'A short description of struct', - 'description' => '实验ID', - 'type' => 'string', - 'required' => false, - 'example' => 'abcde', - ], - ], + 'abilityTreeCode' => '190053', + 'abilityTreeNodes' => ['FEATURElearn0UHCCK'], + 'tenantRelevance' => 'publicInformation', ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ @@ -2123,65 +1046,49 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'POP请求ID', - 'type' => 'string', - 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51', - ], - 'Code' => [ - 'description' => '内部错误码。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'INVALID_USER_OR_EXP', - ], - 'Message' => [ - 'description' => '响应错误信息。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'Missing \'user_id\' in request.', - ], - 'AccessDeniedDetail' => [ - 'description' => '权限校验失败详情', - 'type' => 'object', - 'example' => '{'."\n" - .' "AuthPrincipalType": "sub",'."\n" - .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" - .' "NoPermissionType": "NoPermission"'."\n" - .'}'."\n", - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51'], + 'RoleName' => ['description' => '用户允许操作PAIAutoML服务扮演的RAM角色名称。', 'type' => 'string', 'example' => 'AliyunServiceRoleForPaiAutoml'], + 'Code' => ['description' => '返回状态码。', 'type' => 'string', 'example' => 'SUCCESS'], + 'Message' => ['description' => '响应错误信息。只在响应出错时被设置。', 'type' => 'string', 'example' => 'Execution failure, please try again.'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"INVALID_USER_OR_EXP\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"AuthPrincipalType\\": \\"sub\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\",\\n \\"NoPermissionType\\": \\"NoPermission\\"\\n }\\n}","type":"json"}]', - 'title' => '删除一个HPO实验', + 'title' => '获取服务关联角色相关信息', + 'summary' => 'GetServiceIdentityRole, return role name if SLR exists, empty otherwise', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'paiautoml:GetServiceIdentityRole', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"RoleName\\": \\"AliyunServiceRoleForPaiAutoml\\",\\n \\"Code\\": \\"SUCCESS\\",\\n \\"Message\\": \\"Execution failure, please try again.\\"\\n}","type":"json"}]', ], 'ListHpoExperimentLogs' => [ 'summary' => '显示一个HPO实验指定log的内容。', 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/logs', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ @@ -2189,53 +1096,28 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '195804', - 'abilityTreeNodes' => [ - 'FEATURElearn0UHCCK', - ], + 'abilityTreeNodes' => ['FEATURElearn0UHCCK'], ], 'parameters' => [ [ 'name' => 'ExperimentId', 'in' => 'path', - 'schema' => [ - 'title' => 'A short description of struct', - 'description' => 'HPO实验id', - 'type' => 'string', - 'required' => false, - 'example' => 'abcde', - ], + 'schema' => ['title' => 'A short description of struct', 'description' => 'HPO实验id', 'type' => 'string', 'required' => false, 'example' => 'abcde'], ], [ 'name' => 'LogName', 'in' => 'query', - 'schema' => [ - 'description' => 'log名称。目前支持‘nnimanager.log\'和\'dispatcher.log\'', - 'type' => 'string', - 'required' => false, - 'example' => 'nnimanager.log', - ], + 'schema' => ['description' => 'log名称。目前支持‘nnimanager.log\'和\'dispatcher.log\'', 'type' => 'string', 'required' => false, 'example' => 'nnimanager.log'], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '页码。起始值:1。不填则返回log文件里所有内容。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '页码。起始值:1。不填则返回log文件里所有内容。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '每页包含的日志行数。不填则返回log文件里所有内容。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '40', - ], + 'schema' => ['description' => '每页包含的日志行数。不填则返回log文件里所有内容。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40'], ], ], 'responses' => [ @@ -2245,149 +1127,154 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'POP的请求id', - 'type' => 'string', - 'example' => '071A904D-5A49-597F-9F69-81C7701D04AC', - ], - 'Code' => [ - 'description' => '返回状态码', - 'type' => 'string', - 'example' => 'SUCCESS', - ], - 'Message' => [ - 'description' => '响应错误信息。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'Missing \'user_id\' in request.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'object', - 'example' => '{'."\n" - .' "AuthPrincipalType": "sub",'."\n" - .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" - .' "NoPermissionType": "NoPermission"'."\n" - .'}'."\n", - ], - 'TotalCount' => [ - 'description' => 'log文件的总行数', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '467', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'POP的请求id', 'type' => 'string', 'example' => '071A904D-5A49-597F-9F69-81C7701D04AC'], + 'Code' => ['description' => '返回状态码', 'type' => 'string', 'example' => 'SUCCESS'], + 'Message' => ['description' => '响应错误信息。只在响应出错时被设置。', 'type' => 'string', 'example' => 'Missing \'user_id\' in request.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'object', 'example' => '{'."\n" + .' "AuthPrincipalType": "sub",'."\n" + .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" + .' "NoPermissionType": "NoPermission"'."\n" + .'}'."\n"], + 'TotalCount' => ['description' => 'log文件的总行数', 'type' => 'integer', 'format' => 'int32', 'example' => '467'], 'Logs' => [ 'description' => '日志行内容', 'type' => 'array', - 'items' => [ - 'description' => '日志行内容', - 'type' => 'string', - 'example' => '[2024-03-07 18:29:29] INFO (LocalTrainingService) Run local machine training service.', - ], + 'items' => ['description' => '日志行内容', 'type' => 'string', 'example' => '[2024-03-07 18:29:29] INFO (LocalTrainingService) Run local machine training service.'], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"071A904D-5A49-597F-9F69-81C7701D04AC\\",\\n \\"Code\\": \\"SUCCESS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"AuthPrincipalType\\": \\"sub\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\",\\n \\"NoPermissionType\\": \\"NoPermission\\"\\n },\\n \\"TotalCount\\": 467,\\n \\"Logs\\": [\\n \\"[2024-03-07 18:29:29] INFO (LocalTrainingService) Run local machine training service.\\"\\n ]\\n}","type":"json"}]', 'title' => '显示HPO实验一个指定log的内容', - ], - 'ListHpoTrials' => [ - 'summary' => '返回指定实验id的trial', - 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/trials', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'paiautoml:ListHpoExperimentLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => 'HpoExperiment', 'arn' => 'acs:paiautoml:{#regionId}:{#accountId}:hpoexperiment/{#HpoExperimentId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"071A904D-5A49-597F-9F69-81C7701D04AC\\",\\n \\"Code\\": \\"SUCCESS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"AuthPrincipalType\\": \\"sub\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\",\\n \\"NoPermissionType\\": \\"NoPermission\\"\\n },\\n \\"TotalCount\\": 467,\\n \\"Logs\\": [\\n \\"[2024-03-07 18:29:29] INFO (LocalTrainingService) Run local machine training service.\\"\\n ]\\n}","type":"json"}]', + ], + 'ListHpoExperiments' => [ + 'path' => '/api/automl/v1/hpo/experiments', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '190695', - 'abilityTreeNodes' => [ - 'FEATURElearn0UHCCK', - ], + 'abilityTreeCode' => '190772', + 'abilityTreeNodes' => ['FEATURElearn0UHCCK'], ], 'parameters' => [ [ - 'name' => 'ExperimentId', - 'in' => 'path', - 'schema' => [ - 'description' => 'HPO实验id', - 'type' => 'string', - 'required' => false, - 'example' => 'abcde', - ], + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => '实验名称关键字', 'type' => 'string', 'required' => false, 'example' => '任意关键字'], + ], + [ + 'name' => 'Creator', + 'in' => 'query', + 'schema' => ['description' => '实验创建人的UserId', 'type' => 'string', 'required' => false, 'example' => '266977839132045194'], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '1-based 结果页面序号。做为搜索实验的限制条件。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '页码。起始值:1。默认值:1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ 'name' => 'PageSize', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '本次读取的最大数据记录数量', - 'description' => '当前查询的页大小(每页上显示的trials的个数)', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'MinCreateTime', + 'in' => 'query', + 'schema' => ['description' => '最早的实验创建时间', 'type' => 'string', 'required' => false, 'example' => 'yyyy-mm-dd hh:mm:ss或着yyyy-mm-dd,比如2023-03-31 10:29:30'], + ], + [ + 'name' => 'MaxCreateTime', + 'in' => 'query', + 'schema' => ['description' => '最晚的实验创建时间', 'type' => 'string', 'required' => false, 'example' => 'yyyy-mm-dd hh:mm:ss或着yyyy-mm-dd,比如2023-03-31 10:29:30'], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => '实验状态', 'type' => 'string', 'required' => false, 'example' => 'CREATED, RUNNING, FINISHED, FAILED, EARLY_STOPPED, USER_CANCELED, SYS_CANCELED, WAITING, NO_MORE_TRIAL, UNKNOWN'], + ], + [ + 'name' => 'WorkspaceId', + 'in' => 'query', + 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'default'], + ], + [ + 'name' => 'Accessibility', + 'in' => 'query', + 'schema' => ['description' => '工作空间可见性,可能值为:'."\n" + .'- PRIVATE:在此工作空间中,仅对您和管理员可见。'."\n" + .'- PUBLIC:在此工作空间中,对所有人可见。', 'type' => 'string', 'required' => false, 'example' => 'PRIVATE'], + ], + [ + 'name' => 'IncludeConfigData', + 'in' => 'query', + 'schema' => ['description' => '响应里是否包括实验配置数据', 'type' => 'string', 'required' => false, 'example' => 'True或者False,默认False表示不包括'], ], [ 'name' => 'SortBy', 'in' => 'query', - 'schema' => [ - 'description' => '排序依据', - 'type' => 'string', - 'required' => false, - 'example' => 'FINAL_METRIC 或着 CREATE_TIME', - ], + 'schema' => ['description' => '查询结果排序依据', 'type' => 'string', 'required' => false, 'example' => 'create_time, update_time, workspace_id, status, accessibility其中之一'], ], [ 'name' => 'Order', 'in' => 'query', + 'schema' => ['description' => '排序顺序,取值如下,与SortBy一起使用。'."\n" + .'- DESC(默认值):降序排列。'."\n" + .'- ASC:升序排列。', 'type' => 'string', 'required' => false, 'example' => 'DESC或ASC'], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => '分页查询时,对指定的排序字段进行升序或降序。默认ASC。'."\n" - .'- ASC'."\n" - .'升序'."\n" - .'- DESC'."\n" - .'降序', - 'type' => 'string', + 'description' => '资源标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。'."\n" + ."\n" + .'查询的过滤条件。最多可以指定20个标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '资源的标签键。', 'type' => 'string', 'required' => false, 'example' => 'group'], + 'Value' => ['description' => '标签值。'."\n" + ."\n" + .'一个标签值最多支持输入128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签值。'."\n", 'type' => 'string', 'required' => false, 'example' => 'group_name'], + ], + 'required' => false, + ], 'required' => false, - 'example' => 'ASC', ], ], ], @@ -2398,181 +1285,140 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'POP的请求id', - 'type' => 'string', - 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51', - ], - 'Code' => [ - 'description' => '内部错误码。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'INVALID_USER_OR_EXP', - ], - 'Message' => [ - 'description' => '响应错误信息。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'Missing \'user_id\' in request.', - ], - 'TotalCount' => [ - 'title' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回', - 'description' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', + 'RequestId' => ['description' => 'POP的请求id', 'type' => 'string', 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51'], + 'Code' => ['title' => '响应状态。', 'description' => '内部错误码。只在响应出错时被设置。', 'type' => 'string', 'example' => 'INVALID_INPUT_PARAMS'], + 'Message' => ['title' => '响应错误信息。只在响应出错时被设置', 'description' => '响应错误信息。只在响应出错时被设置', 'type' => 'string', 'example' => 'Missing \'user_id\' in request.'], + 'AccessDeniedDetail' => [ + 'description' => '访问被拒绝详细信息。', + 'type' => 'object', + 'additionalProperties' => ['type' => 'string', 'example' => '{'."\n" + .' "AuthPrincipalType": "sub",'."\n" + .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" + .' "NoPermissionType": "NoPermission"'."\n" + .'}', 'description' => '访问被拒绝详细信息。'], ], - 'Trials' => [ - 'description' => 'trial数据结构体列表', + 'TotalCount' => ['description' => '查询到的实验总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'Experiments' => [ + 'title' => '符合搜索条件的实验列表。', + 'description' => '符合搜索条件的实验列表。', 'type' => 'array', 'items' => [ - 'description' => 'Trial 结构体', + 'description' => '实验数据结构体', 'type' => 'object', 'properties' => [ - 'TrialId' => [ - 'description' => 'trial的id', - 'type' => 'string', - 'example' => 'asdf', - ], - 'ExperimentId' => [ - 'description' => 'HPO实验id', - 'type' => 'string', - 'example' => 'abcde', - ], - 'ParameterId' => [ - 'description' => 'trail所对应的后台任务给这个trial分配的一个id', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '未使用。空字符串', - ], - 'Hyperparam' => [ - 'description' => 'trial配置的超参(hyper parameter)值', - 'type' => 'string', - 'example' => '{"${centerCount}": 5, "${distanceType}": "cityblock"}', - ], - 'Status' => [ - 'description' => 'Trial 状态', - 'type' => 'string', - 'example' => 'UNKNOWN, RUNNING, WAITING, EARLY_STOPPED, SUCCEEDED, FAILED, USER_CANCELED, SYS_CANCELED', - ], - 'Model' => [ - 'description' => '这个Trial 所对应的后台任务生成的模型的存储位置。', - 'type' => 'string', - 'example' => ' pai_kmeans_test_output_model_sy9zkpvc_zleam', - ], - 'MetricName' => [ - 'description' => '未填充。不在使用中。', - 'type' => 'string', - 'example' => '空字符串', - ], - 'Metric' => [ - 'description' => 'trial计算metric的结果数组。包括一个或多个计算过程中产生的临时值,和一个最终值。', - 'type' => 'string', - 'example' => '[{"default":9999.2,"type":"PERIODICAL","vrc":9999.2}, {"default":9999.2,"type":"FINAL","vrc":9999.2}', - ], - 'JobMeta' => [ - 'description' => 'trial所对应的后台任务的meta信息。json string格式。', - 'type' => 'string', - 'example' => '{"nni_trial_id": "ZLeAM", "nni_exp_id": "sy9zkpvc", "nni_trial_sequence_id": 0}', - ], - 'FinalMetric' => [ - 'description' => 'trial成功结束后,后台任务计算出的最终的metric值。来自metric数组里的FINAL 类型的metric项里的default key所对应的值。', - 'type' => 'string', - 'example' => '9999.2', - ], - 'GmtCreateTime' => [ - 'description' => 'Trial创建时间 UTC time。', - 'type' => 'string', - 'example' => '2023-06-07T13:17:13Z', + 'ExperimentId' => ['title' => '实验id。', 'description' => '实验id。', 'type' => 'string', 'example' => 'sORVEck'], + 'Creator' => ['title' => '实验创建者的id。', 'description' => '实验创建者的id。', 'type' => 'string', 'example' => '1049310008714189'], + 'SearchSpace' => ['title' => '实验配置里的SearchSpace属性。', 'description' => '实验配置里的SearchSpace属性。', 'type' => 'string', 'example' => '{\'foo\':\'bar\'}'], + 'Name' => ['title' => '实验名称。', 'description' => '实验名称。', 'type' => 'string', 'example' => 'my experiment x'], + 'Status' => ['title' => '实验状态。', 'description' => '实验状态。', 'type' => 'string', 'example' => 'CREATED, RUNNING, FINISHED, FAILED, EARLY_STOPPED, USER_CANCELED, WAITING, NO_MORE_TRIAL, UNKNOWN'], + 'JobType' => ['description' => '实验类型。对于HPO实验,类型值始终是1.', 'type' => 'string', 'example' => '1'], + 'ConfigIni' => ['description' => 'trial.ini配置内容。其中ak/sk等敏感数据如果存在,则会被API用星号替换实际数据内容。', 'type' => 'string', 'example' => '[odps_config]'."\n" + .'key1 = value1'."\n" + .'key2 = value2'], + 'ConfigYml' => ['description' => 'exp.yml配置内容', 'type' => 'string', 'example' => 'experimentName: dlc_oss_mnist'."\n" + .'experimentWorkingDirectory: ../expdir'."\n" + .'searchSpaceFile: search_space.json'."\n" + .'trialCommand: python3 -m hpo_tools.core.utils.run --config=./trial.ini'."\n" + .'trialConcurrency: 1'."\n" + .'maxTrialNumber: 4'."\n" + .'tuner:'."\n" + .' name: TPE'."\n" + .' classArgs:'."\n" + .' optimize_mode: maximize'."\n" + .'trainingService:'."\n" + .' platform: local'."\n" + .'assessor:'."\n" + .' name: PAIAssessor'."\n" + .' classArgs:'."\n" + .' optimize_mode: maximize'."\n" + .' start_step: 2'], + 'GmtCreateTime' => ['title' => '实验创建时间。', 'description' => '实验创建时间。', 'type' => 'string', 'example' => '2023-03-31T10:29:30Z'], + 'GmtModifiedTime' => ['title' => '实验数据最近更新时间。', 'description' => '实验数据最近更新时间。', 'type' => 'string', 'example' => '2022-10-27T00:55:54Z'], + 'WorkspaceId' => ['description' => '工作空间id', 'type' => 'string', 'example' => 'default'], + 'Accessibility' => ['description' => '工作空间可见度。支持以下取值:'."\n" + .'- PRIVATE(默认值):表示工作空间内自己以及管理员可见。'."\n" + .'- PUBLIC为:工作空间所有用户可见。', 'type' => 'string', 'example' => 'PUBLIC'], + 'Description' => ['description' => '实验描述信息', 'type' => 'string', 'example' => 'description'], + 'TrialCount' => ['description' => '该实验总的trial数量', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'TrialStatus' => [ + 'description' => 'trial 状态和处于各个状态的trial的数量的map', + 'type' => 'object', + 'additionalProperties' => ['type' => 'string', 'example' => '3', 'description' => 'FINISHED'], ], - 'GmtModifiedTime' => [ - 'description' => 'Trial 最后更新时间 UTC time', - 'type' => 'string', - 'example' => '2023-02-27T07:01:12Z', + 'Deleted' => ['description' => '是否已经被删除', 'type' => 'boolean', 'example' => '1'], + 'Tags' => [ + 'description' => '标签体系列表', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '资源的标签键', 'type' => 'string', 'example' => 'group'], + 'Value' => ['description' => '标签值。', 'type' => 'string', 'example' => 'group_name'], + ], + ], ], ], - 'example' => '{"key": "value"}', - ], - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息;只有Ram校验失败才会返回此字段', - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{'."\n" - .' "AuthPrincipalType": "sub",'."\n" - .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" - .' "NoPermissionType": "NoPermission"'."\n" - .'}'."\n", - 'description' => '访问被拒绝详细信息。', ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"INVALID_USER_OR_EXP\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"TotalCount\\": 5,\\n \\"Trials\\": [\\n {\\n \\"TrialId\\": \\"asdf\\",\\n \\"ExperimentId\\": \\"abcde\\",\\n \\"ParameterId\\": 0,\\n \\"Hyperparam\\": \\"{\\\\\\"${centerCount}\\\\\\": 5, \\\\\\"${distanceType}\\\\\\": \\\\\\"cityblock\\\\\\"}\\",\\n \\"Status\\": \\"UNKNOWN, RUNNING, WAITING, EARLY_STOPPED, SUCCEEDED, FAILED, USER_CANCELED, SYS_CANCELED\\",\\n \\"Model\\": \\" pai_kmeans_test_output_model_sy9zkpvc_zleam\\",\\n \\"MetricName\\": \\"空字符串\\",\\n \\"Metric\\": \\"[{\\\\\\"default\\\\\\":9999.2,\\\\\\"type\\\\\\":\\\\\\"PERIODICAL\\\\\\",\\\\\\"vrc\\\\\\":9999.2}, {\\\\\\"default\\\\\\":9999.2,\\\\\\"type\\\\\\":\\\\\\"FINAL\\\\\\",\\\\\\"vrc\\\\\\":9999.2}\\",\\n \\"JobMeta\\": \\"{\\\\\\"nni_trial_id\\\\\\": \\\\\\"ZLeAM\\\\\\", \\\\\\"nni_exp_id\\\\\\": \\\\\\"sy9zkpvc\\\\\\", \\\\\\"nni_trial_sequence_id\\\\\\": 0}\\",\\n \\"FinalMetric\\": \\"9999.2\\",\\n \\"GmtCreateTime\\": \\"2023-06-07T13:17:13Z\\",\\n \\"GmtModifiedTime\\": \\"2023-02-27T07:01:12Z\\"\\n }\\n ],\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\",\\\\n \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\",\\\\n \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"\\\\n}\\\\n\\"\\n }\\n}","type":"json"}]', - 'title' => '获取一个HPO实验里的多个trials信息', - ], - 'GetHpoTrial' => [ - 'summary' => '获取一个HPO实验里一个指定Trial的信息。', - 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/trial/{TrialId}', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => '搜索符合条件的HPO实验', + 'summary' => '查询符合条件的HPO实验信息。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'paiautoml:ListHpoExperiments', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"INVALID_INPUT_PARAMS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\",\\\\n \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\",\\\\n \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"\\\\n}\\"\\n },\\n \\"TotalCount\\": 5,\\n \\"Experiments\\": [\\n {\\n \\"ExperimentId\\": \\"sORVEck\\",\\n \\"Creator\\": \\"1049310008714189\\",\\n \\"SearchSpace\\": \\"{\'foo\':\'bar\'}\\",\\n \\"Name\\": \\"my experiment x\\",\\n \\"Status\\": \\"CREATED, RUNNING, FINISHED, FAILED, EARLY_STOPPED, USER_CANCELED, WAITING, NO_MORE_TRIAL, UNKNOWN\\",\\n \\"JobType\\": \\"1\\",\\n \\"ConfigIni\\": \\"[odps_config]\\\\nkey1 = value1\\\\nkey2 = value2\\",\\n \\"ConfigYml\\": \\"experimentName: dlc_oss_mnist\\\\nexperimentWorkingDirectory: ../expdir\\\\nsearchSpaceFile: search_space.json\\\\ntrialCommand: python3 -m hpo_tools.core.utils.run --config=./trial.ini\\\\ntrialConcurrency: 1\\\\nmaxTrialNumber: 4\\\\ntuner:\\\\n name: TPE\\\\n classArgs:\\\\n optimize_mode: maximize\\\\ntrainingService:\\\\n platform: local\\\\nassessor:\\\\n name: PAIAssessor\\\\n classArgs:\\\\n optimize_mode: maximize\\\\n start_step: 2\\",\\n \\"GmtCreateTime\\": \\"2023-03-31T10:29:30Z\\",\\n \\"GmtModifiedTime\\": \\"2022-10-27T00:55:54Z\\",\\n \\"WorkspaceId\\": \\"default\\",\\n \\"Accessibility\\": \\"PUBLIC\\",\\n \\"Description\\": \\"description\\",\\n \\"TrialCount\\": 20,\\n \\"TrialStatus\\": {\\n \\"key\\": \\"3\\"\\n },\\n \\"Deleted\\": true,\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"group\\",\\n \\"Value\\": \\"group_name\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListHpoTrialCommands' => [ + 'summary' => 'HPO一个trial会按配置里的命令集,顺序运行一个或多个后台命令。这些命令在执行时的输出可以通过这个API返回。', + 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/trial/{TrialId}/commands', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '192107', - 'abilityTreeNodes' => [ - 'FEATURElearn0UHCCK', - ], + 'abilityTreeCode' => '190369', + 'abilityTreeNodes' => ['FEATURElearn0UHCCK'], ], 'parameters' => [ [ 'name' => 'ExperimentId', 'in' => 'path', - 'schema' => [ - 'title' => '实验id。', - 'description' => '实验id。', - 'type' => 'string', - 'required' => true, - 'example' => 'abcde', - ], + 'schema' => ['description' => 'HPO实验id', 'type' => 'string', 'required' => false, 'example' => 'abcde'], ], [ 'name' => 'TrialId', 'in' => 'path', - 'schema' => [ - 'description' => 'trial id', - 'type' => 'string', - 'required' => true, - 'example' => 'mf99W4', - ], + 'schema' => ['description' => 'HPO实验的Trial id', 'type' => 'string', 'required' => false, 'example' => 'zUEapH'], ], ], 'responses' => [ @@ -2582,180 +1428,88 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'POP 请求id', - 'type' => 'string', - 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51', - ], - 'Code' => [ - 'title' => '响应状态。', - 'description' => '内部错误码。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'INVALID_INPUT_PARAMS', - ], - 'Message' => [ - 'title' => '响应错误信息。只在响应出错时被设置。', - 'description' => '响应错误信息。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'Missing \'user_id\' in request.', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'POP的请求id', 'type' => 'string', 'example' => '071A904D-5A49-597F-9F69-81C7701D04AC'], + 'Code' => ['description' => '内部错误码。只在响应出错时被设置。', 'type' => 'string', 'example' => 'INVALID_USER_OR_EXP'], + 'Message' => ['description' => '响应错误信息。只在响应出错时被设置。', 'type' => 'string', 'example' => 'Missing \'user_id\' in request.'], 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', + 'description' => '权限校验失败详情 ', 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{'."\n" - .' "AuthPrincipalType": "sub",'."\n" - .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" - .' "NoPermissionType": "NoPermission"'."\n" - .'}'."\n", - 'description' => '访问被拒绝详细信息。', - ], - ], - 'TrialId' => [ - 'description' => 'trial的id', - 'type' => 'string', - 'example' => 'mf99W4', - ], - 'ExperimentId' => [ - 'description' => 'HPO实验id', - 'type' => 'string', - 'example' => 'abcde', - ], - 'Model' => [ - 'description' => '这个Trial 所对应的后台任务生成的模型的存储位置。', - 'type' => 'string', - 'example' => 'model_table_name_foo', - ], - 'Hyperparam' => [ - 'description' => 'trial配置的超参(hyper parameter)值', - 'type' => 'string', - 'example' => '{"${centerCount}": 5, "${distanceType}": "cosine"}', - ], - 'ParameterId' => [ - 'description' => 'trail所对应的后台任务给这个trial分配的一个id', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Status' => [ - 'description' => 'Trial状态', - 'type' => 'string', - 'example' => 'FINISHED, FAILED, USER_CANCELED', - ], - 'MetricName' => [ - 'description' => 'metric名称。未填充,不在使用中', - 'type' => 'string', - 'example' => '空字符串', - ], - 'Metric' => [ - 'description' => 'trial计算metric的结果数组。包括一个或多个计算过程中产生的临时值,和一个最终值。', - 'type' => 'string', - 'example' => '[{"default":0.087745,"val_loss=([0-9\\\\\\\\.]+)":0.087745},'."\n" - .'{"default":1.085841,"val_loss=([0-9\\\\\\\\.]+)":0.085841},'."\n" - .'{"default":0.087745,"type":"FINAL","val_loss=([0-9\\\\\\\\.]+)":0.087745}]', - ], - 'JobMeta' => [ - 'description' => 'trial所对应的后台任务的meta信息。json string格式。', - 'type' => 'string', - 'example' => '{"nni_trial_id": "asdf", "nni_exp_id": "abcde", "nni_trial_sequence_id": 2}', - ], - 'FinalMetric' => [ - 'description' => 'trial成功结束后,后台任务计算出的最终的metric值。来自metric数组里的FINAL 类型的metric项里的default key所对应的值。', - 'type' => 'string', - 'example' => '{"default":0.087745,"type":"FINAL","val_loss=([0-9\\\\\\\\.]+)":0.087745}', - ], - 'GmtCreateTime' => [ - 'description' => 'Trial创建时间 UTC time。', - 'type' => 'string', - 'example' => '2024-01-02 12:34:56', + 'additionalProperties' => ['type' => 'string', 'example' => '{'."\n" + .' "AuthPrincipalType": "sub",'."\n" + .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" + .' "NoPermissionType": "NoPermission"'."\n" + .'}'."\n", 'description' => '权限校验失败详情 '], ], - 'GmtModifiedTime' => [ - 'description' => 'Trial 最后更新时间 UTC time', - 'type' => 'string', - 'example' => '2024-01-02 21:32:56', + 'Commands' => [ + 'description' => '命令列表。', + 'type' => 'array', + 'items' => [ + 'description' => '命令描述结构体', + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => '序号', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Command' => ['description' => '命令内容', 'type' => 'string', 'example' => 'dlc submit pytorch --name=test_nni_foo_bar'], + 'Output' => ['description' => '命令执行的输出', 'type' => 'string', 'example' => 'foo'], + ], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"INVALID_INPUT_PARAMS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\",\\\\n \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\",\\\\n \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"\\\\n}\\\\n\\"\\n },\\n \\"TrialId\\": \\"mf99W4\\",\\n \\"ExperimentId\\": \\"abcde\\",\\n \\"Model\\": \\"model_table_name_foo\\",\\n \\"Hyperparam\\": \\"{\\\\\\"${centerCount}\\\\\\": 5, \\\\\\"${distanceType}\\\\\\": \\\\\\"cosine\\\\\\"}\\",\\n \\"ParameterId\\": 0,\\n \\"Status\\": \\"FINISHED, FAILED, USER_CANCELED\\",\\n \\"MetricName\\": \\"空字符串\\",\\n \\"Metric\\": \\"[{\\\\\\"default\\\\\\":0.087745,\\\\\\"val_loss=([0-9\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.]+)\\\\\\":0.087745},\\\\n{\\\\\\"default\\\\\\":1.085841,\\\\\\"val_loss=([0-9\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.]+)\\\\\\":0.085841},\\\\n{\\\\\\"default\\\\\\":0.087745,\\\\\\"type\\\\\\":\\\\\\"FINAL\\\\\\",\\\\\\"val_loss=([0-9\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.]+)\\\\\\":0.087745}]\\",\\n \\"JobMeta\\": \\"{\\\\\\"nni_trial_id\\\\\\": \\\\\\"asdf\\\\\\", \\\\\\"nni_exp_id\\\\\\": \\\\\\"abcde\\\\\\", \\\\\\"nni_trial_sequence_id\\\\\\": 2}\\",\\n \\"FinalMetric\\": \\"{\\\\\\"default\\\\\\":0.087745,\\\\\\"type\\\\\\":\\\\\\"FINAL\\\\\\",\\\\\\"val_loss=([0-9\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.]+)\\\\\\":0.087745}\\",\\n \\"GmtCreateTime\\": \\"2024-01-02 12:34:56\\",\\n \\"GmtModifiedTime\\": \\"2024-01-02 21:32:56\\"\\n}","type":"json"}]', - 'title' => '获取一个HPO实验里一个指定Trial的信息', - ], - 'StopHpoTrials' => [ - 'summary' => '停止一个HPO实验里指定的trials,以及这些trials对应的后台任务。', - 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/stop_trials', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => '获取HPO实验指定trial的后台任务的命令和输出', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'paiautoml:ListHpoTrialCommands', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"071A904D-5A49-597F-9F69-81C7701D04AC\\",\\n \\"Code\\": \\"INVALID_USER_OR_EXP\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\",\\\\n \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\",\\\\n \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"\\\\n}\\\\n\\"\\n },\\n \\"Commands\\": [\\n {\\n \\"Id\\": 1,\\n \\"Command\\": \\"dlc submit pytorch --name=test_nni_foo_bar\\",\\n \\"Output\\": \\"foo\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListHpoTrialLogNames' => [ + 'summary' => '返回指定的HPO实验里指定的trial所拥有的所有的log文件的名称。', + 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/trial/{TrialId}/lognames', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '168050', - 'abilityTreeNodes' => [ - 'FEATURElearn0UHCCK', - ], + 'abilityTreeCode' => '189971', + 'abilityTreeNodes' => ['FEATURElearn0UHCCK'], ], 'parameters' => [ [ 'name' => 'ExperimentId', 'in' => 'path', - 'schema' => [ - 'title' => '实验id。', - 'description' => '实验id。', - 'type' => 'string', - 'required' => false, - 'example' => 'abcde', - ], + 'schema' => ['description' => 'HPO实验id', 'type' => 'string', 'required' => true, 'example' => 'abcde'], ], [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求body参数。', - 'type' => 'object', - 'properties' => [ - 'TrialIds' => [ - 'title' => '需要被停止的trial ids。不填则不会有任何trial被停止。', - 'description' => '需要被停止的trial ids。不填则不会有任何trial被停止。', - 'type' => 'array', - 'items' => [ - 'description' => 'trial id', - 'type' => 'string', - 'required' => false, - 'example' => '[xrYq99, xrYq9N]', - ], - 'required' => false, - ], - ], - 'required' => false, - ], + 'name' => 'TrialId', + 'in' => 'path', + 'schema' => ['description' => 'Trial id', 'type' => 'string', 'required' => true, 'example' => 'zUEapH'], ], ], 'responses' => [ @@ -2765,132 +1519,95 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'title' => '响应状态。', - 'description' => '内部错误码。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'INVALID_USER_OR_EXP', - ], - 'Message' => [ - 'title' => '响应错误信息。只在响应出错时被设置。', - 'description' => '响应错误信息。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'failed to stop any trial', - ], - 'Results' => [ - 'title' => '(trial id: 停止操作结果) map。', - 'description' => '(trial id: 停止操作结果) map。', - 'type' => 'object', - 'example' => '{'."\n" - .' \'xrYq99\':\'successfully stopped trial,\','."\n" - .' \'xrYq9N\':\'failed to stop trial,\''."\n" - .'}', - ], - 'RequestId' => [ - 'description' => 'POP 请求id', - 'type' => 'string', - 'example' => '071A904D-5A49-597F-9F69-81C7701D04AC', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'POP 请求id', 'type' => 'string', 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51'], + 'Code' => ['description' => '内部错误码。只在响应出错时被设置。', 'type' => 'string', 'example' => 'INVALID_INPUT_PARAMS'], + 'Message' => ['description' => '响应错误信息。只在响应出错时被设置。', 'type' => 'string', 'example' => 'Missing \'user_id\' in request.'], 'AccessDeniedDetail' => [ - 'description' => '权限校验失败详情', + 'description' => '访问被拒绝详细信息', 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{'."\n" - .' "AuthPrincipalType": "sub",'."\n" - .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" - .' "NoPermissionType": "NoPermission"'."\n" - .'}'."\n", - 'description' => '权限校验失败详情', - ], + 'additionalProperties' => ['type' => 'string', 'example' => '{'."\n" + .' "AuthPrincipalType": "sub",'."\n" + .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" + .' "NoPermissionType": "NoPermission"'."\n" + .'}'."\n", 'description' => '访问被拒绝详细信息'], + ], + 'LogNames' => [ + 'description' => 'log文件路径列表', + 'type' => 'array', + 'items' => ['description' => 'trial log文件全路径', 'type' => 'string', 'example' => 'oss;//foo/bar/trial.log'], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"INVALID_USER_OR_EXP\\",\\n \\"Message\\": \\"failed to stop any trial\\",\\n \\"Results\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"RequestId\\": \\"071A904D-5A49-597F-9F69-81C7701D04AC\\",\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\",\\\\n \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\",\\\\n \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"\\\\n}\\\\n\\"\\n }\\n}","type":"json"}]', - 'title' => '停止一个HPO实验里指定的trials', - ], - 'RestartHpoTrials' => [ - 'summary' => '重启一个HPO实验里失败的trials。对于指定的trial,提取它使用的超参配置。如果该实验所有使用这个配置的trials都没有成功过,那么用这个配置重新启动一个trial。', - 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/restart_trials', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => '获取HPO实验指定trial的所有log文件名称', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'paiautoml:ListHpoTrialLogNames', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"INVALID_INPUT_PARAMS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\",\\\\n \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\",\\\\n \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"\\\\n}\\\\n\\"\\n },\\n \\"LogNames\\": [\\n \\"oss;//foo/bar/trial.log\\"\\n ]\\n}","type":"json"}]', + ], + 'ListHpoTrialLogs' => [ + 'summary' => '分页显示一个hpo trial的一个指定日治的内容', + 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/trial/{TrialId}/logs', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '181335', - 'abilityTreeNodes' => [ - 'FEATURElearn0UHCCK', - ], + 'abilityTreeCode' => '195654', + 'abilityTreeNodes' => ['FEATURElearn0UHCCK'], ], 'parameters' => [ [ 'name' => 'ExperimentId', 'in' => 'path', - 'schema' => [ - 'title' => '实验id。', - 'description' => '实验id。', - 'type' => 'string', - 'required' => false, - 'example' => 'abcde', - ], + 'schema' => ['description' => 'HPO实验id', 'type' => 'string', 'required' => false, 'example' => 'abcde'], ], [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求体。TrialIds和TrialHyperParameters二者必须填写一个。如果都不提供则不会触发服务端任何操作。如果都填了,则只对TrialIds执行操作。', - 'type' => 'object', - 'properties' => [ - 'TrialIds' => [ - 'title' => '需要重新运行的trial ids。不填则会包括所有符合重新运行条件的trial ids。', - 'description' => '需要重新运行的、已经存在的trial ids。', - 'type' => 'array', - 'items' => [ - 'description' => 'hpo trial ids', - 'type' => 'string', - 'required' => false, - 'example' => ' [xrYq99, xrYq9N]', - ], - 'required' => false, - ], - 'TrialHyperParameters' => [ - 'description' => '一个新的trial的超参配置,实验会用这组超参启动一个新trial', - 'type' => 'string', - 'required' => false, - 'example' => '‘{"${batch_size}": "32", "${lr}": "0.01"}\'', - ], - ], - 'required' => false, - ], + 'name' => 'TrialId', + 'in' => 'path', + 'schema' => ['description' => 'trial的id', 'type' => 'string', 'required' => false, 'example' => 'asdf'], + ], + [ + 'name' => 'LogName', + 'in' => 'query', + 'schema' => ['description' => 'Log名称:stderr, stdout, trial.log', 'type' => 'string', 'required' => false, 'example' => 'trial.log'], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => '页码。起始值:1。不填则返回log文件里所有内容。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => '每页包含的日志行数。正整数。不填则返回log文件里所有内容。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], ], 'responses' => [ @@ -2900,109 +1617,97 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'POP 请求id', - 'type' => 'string', - 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51', - ], - 'Code' => [ - 'description' => '内部错误码。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'INVALID_USER_OR_EXP', - ], - 'Message' => [ - 'title' => '响应错误信息。只在响应出错时被设置。', - 'description' => '响应错误信息。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'Missing \'user_id\' in request.', - ], - 'AccessDeniedDetail' => [ - 'description' => '权限校验失败详情 ', - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{'."\n" - .' "AuthPrincipalType": "sub",'."\n" - .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" - .' "NoPermissionType": "NoPermission"'."\n" - .'}'."\n", - 'description' => '权限校验失败详情 ', - ], - ], - 'Results' => [ - 'title' => '(trial id: 重启状态) mapping。', - 'description' => '(trial id: 重启状态) mapping。', - 'type' => 'object', - 'example' => '{'."\n" - .'\'xrYq99\': TrialJobInfo text,'."\n" - .'\'xrYq9N\':TrialJobInfo text'."\n" - .'}', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'POP的请求id', 'type' => 'string', 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51'], + 'Code' => ['description' => '状态码', 'type' => 'string', 'example' => 'SUCCESS'], + 'Message' => ['description' => '响应错误信息。', 'type' => 'string', 'example' => 'Missing \'user_id\' in request.'], + 'AccessDeniedDetail' => ['description' => '权限校验失败详情 ', 'type' => 'object', 'example' => '{'."\n" + .' "AuthPrincipalType": "sub",'."\n" + .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" + .' "NoPermissionType": "NoPermission"'."\n" + .'}'], + 'TotalCount' => ['description' => 'log文件的总行数', 'type' => 'integer', 'format' => 'int32', 'example' => '123'], + 'Logs' => [ + 'description' => '日志行内容', + 'type' => 'array', + 'items' => ['description' => '日志行内容', 'type' => 'string', 'example' => '[2024-03-07 18:41:00] INFO (sys/MainThread) system_config loaded for region. cn-shanghai'], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"INVALID_USER_OR_EXP\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\",\\\\n \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\",\\\\n \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"\\\\n}\\\\n\\"\\n },\\n \\"Results\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n}","type":"json"}]', - 'title' => '重启一个HPO实验里失败的trials', - ], - 'ListHpoTrialLogNames' => [ - 'summary' => '返回指定的HPO实验里指定的trial所拥有的所有的log文件的名称。', - 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/trial/{TrialId}/lognames', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'title' => '显示一个HPO trial的一个指定的日志内容', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'paiautoml:ListHpoTrialLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"SUCCESS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"AuthPrincipalType\\": \\"sub\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\",\\n \\"NoPermissionType\\": \\"NoPermission\\"\\n },\\n \\"TotalCount\\": 123,\\n \\"Logs\\": [\\n \\"[2024-03-07 18:41:00] INFO (sys/MainThread) system_config loaded for region. cn-shanghai\\"\\n ]\\n}","type":"json"}]', + ], + 'ListHpoTrials' => [ + 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/trials', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '189971', - 'abilityTreeNodes' => [ - 'FEATURElearn0UHCCK', - ], + 'abilityTreeCode' => '190695', + 'abilityTreeNodes' => ['FEATURElearn0UHCCK'], ], 'parameters' => [ [ 'name' => 'ExperimentId', 'in' => 'path', - 'schema' => [ - 'description' => 'HPO实验id', - 'type' => 'string', - 'required' => true, - 'example' => 'abcde', - ], + 'schema' => ['description' => 'HPO实验id', 'type' => 'string', 'required' => false, 'example' => 'abcde'], ], [ - 'name' => 'TrialId', - 'in' => 'path', - 'schema' => [ - 'description' => 'Trial id', - 'type' => 'string', - 'required' => true, - 'example' => 'zUEapH', - ], + 'name' => 'PageNumber', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['description' => '1-based 结果页面序号。做为搜索实验的限制条件。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['title' => '本次读取的最大数据记录数量', 'description' => '当前查询的页大小(每页上显示的trials的个数)', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'SortBy', + 'in' => 'query', + 'schema' => ['description' => '排序依据', 'type' => 'string', 'required' => false, 'example' => 'FINAL_METRIC 或着 CREATE_TIME'], + ], + [ + 'name' => 'Order', + 'in' => 'query', + 'schema' => ['description' => '分页查询时,对指定的排序字段进行升序或降序。默认ASC。'."\n" + .'- ASC'."\n" + .'升序'."\n" + .'- DESC'."\n" + .'降序', 'type' => 'string', 'required' => false, 'example' => 'ASC'], ], ], 'responses' => [ @@ -3012,141 +1717,114 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'POP 请求id', - 'type' => 'string', - 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51', - ], - 'Code' => [ - 'description' => '内部错误码。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'INVALID_INPUT_PARAMS', - ], - 'Message' => [ - 'description' => '响应错误信息。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'Missing \'user_id\' in request.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息', - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{'."\n" - .' "AuthPrincipalType": "sub",'."\n" - .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" - .' "NoPermissionType": "NoPermission"'."\n" - .'}'."\n", - 'description' => '访问被拒绝详细信息', - ], - ], - 'LogNames' => [ - 'description' => 'log文件路径列表', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'POP的请求id', 'type' => 'string', 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51'], + 'Code' => ['description' => '内部错误码。只在响应出错时被设置。', 'type' => 'string', 'example' => 'INVALID_USER_OR_EXP'], + 'Message' => ['description' => '响应错误信息。只在响应出错时被设置。', 'type' => 'string', 'example' => 'Missing \'user_id\' in request.'], + 'TotalCount' => ['title' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回', 'description' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'Trials' => [ + 'description' => 'trial数据结构体列表', 'type' => 'array', 'items' => [ - 'description' => 'trial log文件全路径', - 'type' => 'string', - 'example' => 'oss;//foo/bar/trial.log', + 'description' => 'Trial 结构体', + 'type' => 'object', + 'properties' => [ + 'TrialId' => ['description' => 'trial的id', 'type' => 'string', 'example' => 'asdf'], + 'ExperimentId' => ['description' => 'HPO实验id', 'type' => 'string', 'example' => 'abcde'], + 'ParameterId' => ['description' => 'trail所对应的后台任务给这个trial分配的一个id', 'type' => 'integer', 'format' => 'int32', 'example' => '未使用。空字符串'], + 'Hyperparam' => ['description' => 'trial配置的超参(hyper parameter)值', 'type' => 'string', 'example' => '{"${centerCount}": 5, "${distanceType}": "cityblock"}'], + 'Status' => ['description' => 'Trial 状态', 'type' => 'string', 'example' => 'UNKNOWN, RUNNING, WAITING, EARLY_STOPPED, SUCCEEDED, FAILED, USER_CANCELED, SYS_CANCELED'], + 'Model' => ['description' => '这个Trial 所对应的后台任务生成的模型的存储位置。', 'type' => 'string', 'example' => ' pai_kmeans_test_output_model_sy9zkpvc_zleam'], + 'MetricName' => ['description' => '未填充。不在使用中。', 'type' => 'string', 'example' => '空字符串'], + 'Metric' => ['description' => 'trial计算metric的结果数组。包括一个或多个计算过程中产生的临时值,和一个最终值。', 'type' => 'string', 'example' => '[{"default":9999.2,"type":"PERIODICAL","vrc":9999.2}, {"default":9999.2,"type":"FINAL","vrc":9999.2}'], + 'JobMeta' => ['description' => 'trial所对应的后台任务的meta信息。json string格式。', 'type' => 'string', 'example' => '{"nni_trial_id": "ZLeAM", "nni_exp_id": "sy9zkpvc", "nni_trial_sequence_id": 0}'], + 'FinalMetric' => ['description' => 'trial成功结束后,后台任务计算出的最终的metric值。来自metric数组里的FINAL 类型的metric项里的default key所对应的值。', 'type' => 'string', 'example' => '9999.2'], + 'GmtCreateTime' => ['description' => 'Trial创建时间 UTC time。', 'type' => 'string', 'example' => '2023-06-07T13:17:13Z'], + 'GmtModifiedTime' => ['description' => 'Trial 最后更新时间 UTC time', 'type' => 'string', 'example' => '2023-02-27T07:01:12Z'], + ], + 'example' => '{"key": "value"}', ], ], + 'AccessDeniedDetail' => [ + 'description' => '访问被拒绝详细信息;只有Ram校验失败才会返回此字段', + 'type' => 'object', + 'additionalProperties' => ['type' => 'string', 'example' => '{'."\n" + .' "AuthPrincipalType": "sub",'."\n" + .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" + .' "NoPermissionType": "NoPermission"'."\n" + .'}'."\n", 'description' => '访问被拒绝详细信息。'], + ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"INVALID_INPUT_PARAMS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\",\\\\n \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\",\\\\n \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"\\\\n}\\\\n\\"\\n },\\n \\"LogNames\\": [\\n \\"oss;//foo/bar/trial.log\\"\\n ]\\n}","type":"json"}]', - 'title' => '获取HPO实验指定trial的所有log文件名称', - ], - 'ListHpoTrialLogs' => [ - 'summary' => '分页显示一个hpo trial的一个指定日治的内容', - 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/trial/{TrialId}/logs', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => '获取一个HPO实验里的多个trials信息', + 'summary' => '返回指定实验id的trial', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'paiautoml:ListHpoTrials', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => 'HpoExperiment', 'arn' => 'acs:paiautoml:{#regionId}:{#accountId}:hpoexperiment/{#HpoExperimentId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"INVALID_USER_OR_EXP\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"TotalCount\\": 5,\\n \\"Trials\\": [\\n {\\n \\"TrialId\\": \\"asdf\\",\\n \\"ExperimentId\\": \\"abcde\\",\\n \\"ParameterId\\": 0,\\n \\"Hyperparam\\": \\"{\\\\\\"${centerCount}\\\\\\": 5, \\\\\\"${distanceType}\\\\\\": \\\\\\"cityblock\\\\\\"}\\",\\n \\"Status\\": \\"UNKNOWN, RUNNING, WAITING, EARLY_STOPPED, SUCCEEDED, FAILED, USER_CANCELED, SYS_CANCELED\\",\\n \\"Model\\": \\" pai_kmeans_test_output_model_sy9zkpvc_zleam\\",\\n \\"MetricName\\": \\"空字符串\\",\\n \\"Metric\\": \\"[{\\\\\\"default\\\\\\":9999.2,\\\\\\"type\\\\\\":\\\\\\"PERIODICAL\\\\\\",\\\\\\"vrc\\\\\\":9999.2}, {\\\\\\"default\\\\\\":9999.2,\\\\\\"type\\\\\\":\\\\\\"FINAL\\\\\\",\\\\\\"vrc\\\\\\":9999.2}\\",\\n \\"JobMeta\\": \\"{\\\\\\"nni_trial_id\\\\\\": \\\\\\"ZLeAM\\\\\\", \\\\\\"nni_exp_id\\\\\\": \\\\\\"sy9zkpvc\\\\\\", \\\\\\"nni_trial_sequence_id\\\\\\": 0}\\",\\n \\"FinalMetric\\": \\"9999.2\\",\\n \\"GmtCreateTime\\": \\"2023-06-07T13:17:13Z\\",\\n \\"GmtModifiedTime\\": \\"2023-02-27T07:01:12Z\\"\\n }\\n ],\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\",\\\\n \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\",\\\\n \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"\\\\n}\\\\n\\"\\n }\\n}","type":"json"}]', + ], + 'RestartHpoTrials' => [ + 'summary' => '重启一个HPO实验里失败的trials。对于指定的trial,提取它使用的超参配置。如果该实验所有使用这个配置的trials都没有成功过,那么用这个配置重新启动一个trial。', + 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/restart_trials', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '195654', - 'abilityTreeNodes' => [ - 'FEATURElearn0UHCCK', - ], + 'abilityTreeCode' => '181335', + 'abilityTreeNodes' => ['FEATURElearn0UHCCK'], ], 'parameters' => [ [ 'name' => 'ExperimentId', 'in' => 'path', - 'schema' => [ - 'description' => 'HPO实验id', - 'type' => 'string', - 'required' => false, - 'example' => 'abcde', - ], - ], - [ - 'name' => 'TrialId', - 'in' => 'path', - 'schema' => [ - 'description' => 'trial的id', - 'type' => 'string', - 'required' => false, - 'example' => 'asdf', - ], + 'schema' => ['title' => '实验id。', 'description' => '实验id。', 'type' => 'string', 'required' => false, 'example' => 'abcde'], ], [ - 'name' => 'LogName', - 'in' => 'query', - 'schema' => [ - 'description' => 'Log名称:stderr, stdout, trial.log', - 'type' => 'string', - 'required' => false, - 'example' => 'trial.log', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '页码。起始值:1。不填则返回log文件里所有内容。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '每页包含的日志行数。正整数。不填则返回log文件里所有内容。', - 'type' => 'integer', - 'format' => 'int32', + 'description' => '请求体。TrialIds和TrialHyperParameters二者必须填写一个。如果都不提供则不会触发服务端任何操作。如果都填了,则只对TrialIds执行操作。', + 'type' => 'object', + 'properties' => [ + 'TrialIds' => [ + 'title' => '需要重新运行的trial ids。不填则会包括所有符合重新运行条件的trial ids。', + 'description' => '需要重新运行的、已经存在的trial ids。', + 'type' => 'array', + 'items' => ['description' => 'hpo trial ids', 'type' => 'string', 'required' => false, 'example' => ' [xrYq99, xrYq9N]'], + 'required' => false, + ], + 'TrialHyperParameters' => ['description' => '一个新的trial的超参配置,实验会用这组超参启动一个新trial', 'type' => 'string', 'required' => false, 'example' => '‘{"${batch_size}": "32", "${lr}": "0.01"}\''], + ], 'required' => false, - 'example' => '10', ], ], ], @@ -3157,111 +1835,73 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'POP的请求id', - 'type' => 'string', - 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51', - ], - 'Code' => [ - 'description' => '状态码', - 'type' => 'string', - 'example' => 'SUCCESS', - ], - 'Message' => [ - 'description' => '响应错误信息。', - 'type' => 'string', - 'example' => 'Missing \'user_id\' in request.', - ], + 'RequestId' => ['description' => 'POP 请求id', 'type' => 'string', 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51'], + 'Code' => ['description' => '内部错误码。只在响应出错时被设置。', 'type' => 'string', 'example' => 'INVALID_USER_OR_EXP'], + 'Message' => ['title' => '响应错误信息。只在响应出错时被设置。', 'description' => '响应错误信息。只在响应出错时被设置。', 'type' => 'string', 'example' => 'Missing \'user_id\' in request.'], 'AccessDeniedDetail' => [ 'description' => '权限校验失败详情 ', 'type' => 'object', - 'example' => '{'."\n" + 'additionalProperties' => ['type' => 'string', 'example' => '{'."\n" .' "AuthPrincipalType": "sub",'."\n" .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" .' "NoPermissionType": "NoPermission"'."\n" - .'}', - ], - 'TotalCount' => [ - 'description' => 'log文件的总行数', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '123', - ], - 'Logs' => [ - 'description' => '日志行内容', - 'type' => 'array', - 'items' => [ - 'description' => '日志行内容', - 'type' => 'string', - 'example' => '[2024-03-07 18:41:00] INFO (sys/MainThread) system_config loaded for region. cn-shanghai', - ], + .'}'."\n", 'description' => '权限校验失败详情 '], ], + 'Results' => ['title' => '(trial id: 重启状态) mapping。', 'description' => '(trial id: 重启状态) mapping。', 'type' => 'object', 'example' => '{'."\n" + .'\'xrYq99\': TrialJobInfo text,'."\n" + .'\'xrYq9N\':TrialJobInfo text'."\n" + .'}'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"SUCCESS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"AuthPrincipalType\\": \\"sub\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\",\\n \\"NoPermissionType\\": \\"NoPermission\\"\\n },\\n \\"TotalCount\\": 123,\\n \\"Logs\\": [\\n \\"[2024-03-07 18:41:00] INFO (sys/MainThread) system_config loaded for region. cn-shanghai\\"\\n ]\\n}","type":"json"}]', - 'title' => '显示一个HPO trial的一个指定的日志内容', - ], - 'ListHpoTrialCommands' => [ - 'summary' => 'HPO一个trial会按配置里的命令集,顺序运行一个或多个后台命令。这些命令在执行时的输出可以通过这个API返回。', - 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/trial/{TrialId}/commands', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'title' => '重启一个HPO实验里失败的trials', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paiautoml:RestartHpoTrials', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"INVALID_USER_OR_EXP\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\",\\\\n \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\",\\\\n \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"\\\\n}\\\\n\\"\\n },\\n \\"Results\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n}","type":"json"}]', + ], + 'StopHpoExperiment' => [ + 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/stop', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '190369', - 'abilityTreeNodes' => [ - 'FEATURElearn0UHCCK', - ], + 'abilityTreeCode' => '162610', + 'abilityTreeNodes' => ['FEATURElearn0UHCCK'], ], 'parameters' => [ [ 'name' => 'ExperimentId', 'in' => 'path', - 'schema' => [ - 'description' => 'HPO实验id', - 'type' => 'string', - 'required' => false, - 'example' => 'abcde', - ], - ], - [ - 'name' => 'TrialId', - 'in' => 'path', - 'schema' => [ - 'description' => 'HPO实验的Trial id', - 'type' => 'string', - 'required' => false, - 'example' => 'zUEapH', - ], + 'schema' => ['title' => '需要被停止的实验的id。', 'description' => '需要被停止的实验的id。', 'type' => 'string', 'required' => true, 'example' => 'abcde'], ], ], 'responses' => [ @@ -3271,109 +1911,75 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'POP的请求id', - 'type' => 'string', - 'example' => '071A904D-5A49-597F-9F69-81C7701D04AC', - ], - 'Code' => [ - 'description' => '内部错误码。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'INVALID_USER_OR_EXP', - ], - 'Message' => [ - 'description' => '响应错误信息。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'Missing \'user_id\' in request.', - ], + 'ExpId' => ['title' => '实验id。', 'description' => '实验id。', 'type' => 'string', 'example' => 'abcde'], + 'Code' => ['title' => '响应状态。', 'description' => '内部错误码。只在响应出错时被设置。', 'type' => 'string', 'example' => 'INVALID_INPUT_PARAMS'], + 'Message' => ['title' => '响应错误信息。只在响应出错时被设置。', 'description' => '响应错误信息。只在响应出错时被设置。', 'type' => 'string', 'example' => 'Missing \'user_id\' in request.'], + 'RequestId' => ['description' => 'POP的请求id', 'type' => 'string', 'example' => '071A904D-5A49-597F-9F69-81C7701D04AC'], 'AccessDeniedDetail' => [ 'description' => '权限校验失败详情 ', 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{'."\n" - .' "AuthPrincipalType": "sub",'."\n" - .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" - .' "NoPermissionType": "NoPermission"'."\n" - .'}'."\n", - 'description' => '权限校验失败详情 ', - ], - ], - 'Commands' => [ - 'description' => '命令列表。', - 'type' => 'array', - 'items' => [ - 'description' => '命令描述结构体', - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => '序号', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Command' => [ - 'description' => '命令内容', - 'type' => 'string', - 'example' => 'dlc submit pytorch --name=test_nni_foo_bar', - ], - 'Output' => [ - 'description' => '命令执行的输出', - 'type' => 'string', - 'example' => 'foo', - ], - ], - ], + 'additionalProperties' => ['type' => 'string', 'example' => '{'."\n" + .' "AuthPrincipalType": "sub",'."\n" + .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" + .' "NoPermissionType": "NoPermission"'."\n" + .'}'."\n", 'description' => '权限校验失败详情 '], ], + 'Status' => ['description' => '实验运行状态', 'type' => 'string', 'example' => 'TERMINATING, USER_CANCELED'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"071A904D-5A49-597F-9F69-81C7701D04AC\\",\\n \\"Code\\": \\"INVALID_USER_OR_EXP\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\",\\\\n \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\",\\\\n \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"\\\\n}\\\\n\\"\\n },\\n \\"Commands\\": [\\n {\\n \\"Id\\": 1,\\n \\"Command\\": \\"dlc submit pytorch --name=test_nni_foo_bar\\",\\n \\"Output\\": \\"foo\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '获取HPO实验指定trial的后台任务的命令和输出', - ], - 'CreateAutofeExperiment' => [ - 'summary' => 'CreateAutofeExperiment', - 'path' => '/api/automl/v1/autofe/experiment', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => '停止一个指定的HPO实验', + 'summary' => '完全停止一个指定的AutoML HPO实验,包括停止该实验所属的trials,和这些trials所依赖的后台任务。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paiautoml:StopHpoExperiment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ExpId\\": \\"abcde\\",\\n \\"Code\\": \\"INVALID_INPUT_PARAMS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"RequestId\\": \\"071A904D-5A49-597F-9F69-81C7701D04AC\\",\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\",\\\\n \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\",\\\\n \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"\\\\n}\\\\n\\"\\n },\\n \\"Status\\": \\"TERMINATING, USER_CANCELED\\"\\n}","type":"json"}]', + ], + 'StopHpoTrials' => [ + 'summary' => '停止一个HPO实验里指定的trials,以及这些trials对应的后台任务。', + 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/stop_trials', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '162654', - 'abilityTreeNodes' => [ - 'FEATURElearn0UHCCK', - ], + 'abilityTreeCode' => '168050', + 'abilityTreeNodes' => ['FEATURElearn0UHCCK'], ], 'parameters' => [ [ + 'name' => 'ExperimentId', + 'in' => 'path', + 'schema' => ['title' => '实验id。', 'description' => '实验id。', 'type' => 'string', 'required' => false, 'example' => 'abcde'], + ], + [ 'name' => 'body', 'in' => 'body', 'style' => 'json', @@ -3381,61 +1987,12 @@ 'description' => '请求body参数。', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => '实验名称', - 'type' => 'string', - 'required' => true, - 'example' => 'my experiment x', - ], - 'AutofeExperimentConfiguration' => [ - 'description' => 'AutoFE实验配置信息。', - 'required' => false, - '$ref' => '#/components/schemas/AutofeExperimentConfiguration', - ], - 'Description' => [ - 'description' => '实验描述信息', - 'type' => 'string', - 'required' => false, - 'example' => 'This is an AutoFE experiment.', - ], - 'Accessibility' => [ - 'description' => '代码配置的可见性,取值如下。'."\n" - .'- PUBLIC:在此工作空间中,对所有人可见。'."\n" - .'- PRIVATE:在此工作空间中,仅对您和管理员可见。', - 'type' => 'string', - 'required' => false, - 'example' => 'PUBLIC', - ], - 'WorkspaceId' => [ - 'description' => '工作空间ID。', - 'type' => 'string', - 'required' => false, - 'example' => '283301', - ], - 'Tag' => [ - 'description' => '标签信息。', + 'TrialIds' => [ + 'title' => '需要被停止的trial ids。不填则不会有任何trial被停止。', + 'description' => '需要被停止的trial ids。不填则不会有任何trial被停止。', 'type' => 'array', - 'items' => [ - 'description' => '标签信息。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '标签名', - 'type' => 'string', - 'required' => false, - 'example' => 'group', - ], - 'Value' => [ - 'description' => '标签值', - 'type' => 'string', - 'required' => false, - 'example' => 'group_name', - ], - ], - 'required' => false, - ], + 'items' => ['description' => 'trial id', 'type' => 'string', 'required' => false, 'example' => '[xrYq99, xrYq9N]'], 'required' => false, - 'maxItems' => 20, ], ], 'required' => false, @@ -3449,224 +2006,407 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => '响应错误信息。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'Missing \'user_id\' in request.', - ], - 'Code' => [ - 'description' => '状态码', - 'type' => 'string', - 'example' => 'INVALID_INPUT_PARAMS', - ], - 'ExperimentId' => [ - 'description' => '实验ID。', - 'type' => 'string', - 'example' => 't8cNdMO', - ], - 'RequestId' => [ - 'description' => 'POP的请求id', - 'type' => 'string', - 'example' => '22A1EC4E-15A2-51FF-BFA3-10D6735BAA69', - ], - 'Detail' => [ - 'description' => '额外的错误信息。只在响应出错时被设置。', + 'Code' => ['title' => '响应状态。', 'description' => '内部错误码。只在响应出错时被设置。', 'type' => 'string', 'example' => 'INVALID_USER_OR_EXP'], + 'Message' => ['title' => '响应错误信息。只在响应出错时被设置。', 'description' => '响应错误信息。只在响应出错时被设置。', 'type' => 'string', 'example' => 'failed to stop any trial'], + 'Results' => ['title' => '(trial id: 停止操作结果) map。', 'description' => '(trial id: 停止操作结果) map。', 'type' => 'object', 'example' => '{'."\n" + .' \'xrYq99\':\'successfully stopped trial,\','."\n" + .' \'xrYq9N\':\'failed to stop trial,\''."\n" + .'}'], + 'RequestId' => ['description' => 'POP 请求id', 'type' => 'string', 'example' => '071A904D-5A49-597F-9F69-81C7701D04AC'], + 'AccessDeniedDetail' => [ + 'description' => '权限校验失败详情', 'type' => 'object', - 'example' => '{}', + 'additionalProperties' => ['type' => 'string', 'example' => '{'."\n" + .' "AuthPrincipalType": "sub",'."\n" + .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" + .' "NoPermissionType": "NoPermission"'."\n" + .'}'."\n", 'description' => '权限校验失败详情'], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"Code\\": \\"INVALID_INPUT_PARAMS\\",\\n \\"ExperimentId\\": \\"t8cNdMO\\",\\n \\"RequestId\\": \\"22A1EC4E-15A2-51FF-BFA3-10D6735BAA69\\",\\n \\"Detail\\": {}\\n}","type":"json"}]', - 'title' => '创建一个自动特征工程实验。', - ], - 'GetAutofeExperiment' => [ - 'summary' => '获取AutoFE实验信息。', - 'path' => '/api/automl/v1/autofe/experiment/{ExperimentId}', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'schemes' => [ - 'http', - 'https', + 'title' => '停止一个HPO实验里指定的trials', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paiautoml:StopHpoTrials', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"INVALID_USER_OR_EXP\\",\\n \\"Message\\": \\"failed to stop any trial\\",\\n \\"Results\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"RequestId\\": \\"071A904D-5A49-597F-9F69-81C7701D04AC\\",\\n \\"AccessDeniedDetail\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"AuthPrincipalType\\\\\\": \\\\\\"sub\\\\\\",\\\\n \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\",\\\\n \\\\\\"NoPermissionType\\\\\\": \\\\\\"NoPermission\\\\\\"\\\\n}\\\\n\\"\\n }\\n}","type":"json"}]', + ], + 'UpdateHpoExperiment' => [ + 'summary' => '更新一个正在运行中的HPO实验的设置。更新成功后,该实验将按照新的设置继续执行。', + 'path' => '/api/automl/v1/hpo/experiment/{ExperimentId}/update', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '162733', - 'abilityTreeNodes' => [ - 'FEATURElearn0UHCCK', - ], + 'abilityTreeCode' => '195655', + 'abilityTreeNodes' => ['FEATURElearn0UHCCK'], ], 'parameters' => [ [ 'name' => 'ExperimentId', 'in' => 'path', - 'schema' => [ - 'description' => '实验ID', - 'type' => 'string', - 'required' => true, - 'example' => 'tfKs0Ds', - ], + 'schema' => ['title' => 'A short description of struct', 'description' => 'HPO实验id', 'type' => 'string', 'required' => false, 'example' => 'abcde'], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ + 'description' => '请求体。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '内部错误码。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'INVALID_USER_OR_EXP', - ], - 'Message' => [ - 'description' => '响应错误信息。只在响应出错时被设置。', - 'type' => 'string', - 'example' => 'Missing \'user_id\' in request.', - ], - 'RequestId' => [ - 'description' => 'POP请求ID', - 'type' => 'string', - 'example' => '071A904D-5A49-597F-9F69-81C7701D04AC', - ], - 'Detail' => [ - 'description' => '详细信息。', - 'type' => 'object', - ], - 'ExperimentId' => [ - 'description' => '实验ID。', - 'type' => 'string', - 'example' => 'tfKs0Ds', - ], - 'Creator' => [ - 'description' => '实验创建人的UserId', - 'type' => 'string', - 'example' => '266977839132045194', - ], - 'Name' => [ - 'description' => '实验名称', - 'type' => 'string', - 'example' => '自动特征工程实验', - ], - 'JobMeta' => [ - 'description' => '实验运行状态的基础信息,包括子任务数量,每个任务对应的url等。', - 'type' => 'string', - 'example' => '{"action": "fs_train", "request_id": "6B6D4FB6-87AA-5C0E-94AB-E0F830955D1E", "job_num": 7, "job_runs": [{"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-fqlk86bvk68", "duration": 181, "finish_at": 1719158854000, "create_time": "2024-06-23T16:04:31.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-q18k5jo66h3k", "duration": 233, "finish_at": 1719159106000, "create_time": "2024-06-23T16:07:51.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-g7b38dmqes0nm4le", "duration": 173, "finish_at": 1719159306000, "create_time": "2024-06-23T16:12:12.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-524dab97aazs3jmc", "duration": 199, "finish_at": 1719159527000, "create_time": "2024-06-23T16:15:28.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-a8z56wy2ppwmxx04", "duration": 197, "finish_at": 1719159747000, "create_time": "2024-06-23T16:19:08.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-2cgsbxzzzma1j", "duration": 210, "finish_at": 1719159982000, "create_time": "2024-06-23T16:22:51.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-3cgsvf3ien1cw7", "duration": 184, "finish_at": 1719160188000, "create_time": "2024-06-23T16:26:43.000Z", "status": "Succeeded"}], "workspace_id": "86006"}{"action": "fs_train", "request_id": "6B6D4FB6-87AA-5C0E-94AB-E0F830955D1E", "job_num": 7, "job_runs": [{"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-fqlk86betchc69vk68", "duration": 181, "finish_at": 1719158854000, "create_time": "2024-06-23T16:04:31.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-q18ijqak558jo66h3k", "duration": 233, "finish_at": 1719159106000, "create_time": "2024-06-23T16:07:51.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-g7b38df7mqes0nm4le", "duration": 173, "finish_at": 1719159306000, "create_time": "2024-06-23T16:12:12.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-524zedab97aazs3jmc", "duration": 199, "finish_at": 1719159527000, "create_time": "2024-06-23T16:15:28.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-a8z56wy2ppm6wmxx04", "duration": 197, "finish_at": 1719159747000, "create_time": "2024-06-23T16:19:08.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-2cgsbxzx9i35zzma1j", "duration": 210, "finish_at": 1719159982000, "create_time": "2024-06-23T16:22:51.000Z", "status": "Succeeded"}, {"job_url": "https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-3cgsvf3bprlien1cw7", "duration": 184, "finish_at": 1719160188000, "create_time": "2024-06-23T16:26:43.000Z", "status": "Succeeded"}], "workspace_id": "86006"}', - ], - 'GmtCreateTime' => [ - 'description' => '实验创建时间。', - 'type' => 'string', - 'example' => '2023-08-18T09:41:01Z', - ], - 'GmtModifiedTime' => [ - 'description' => '实验数据最近更新时间。', - 'type' => 'string', - 'example' => '2023-11-30T02:05:34.000Z', - ], - 'Status' => [ - 'description' => '实验状态', - 'type' => 'string', - 'example' => 'FINISHED, FAILED, USER_CANCELED', - ], - 'SelectedFeatures' => [ - 'description' => '选中的需要进行特种工程的原始特征。', - 'type' => 'string', - 'example' => 'age,sex,education', - ], - 'Description' => [ - 'description' => '实验描述信息', - 'type' => 'string', - 'example' => '我的实验', - ], - 'Accessibility' => [ - 'description' => '工作空间可见性,可能值为:'."\n" - .'- PRIVATE:在此工作空间中,仅对您和管理员可见。'."\n" - .'- PUBLIC:在此工作空间中,对所有人可见。', - 'type' => 'string', - 'enumValueTitles' => [ - 'PUBLIC' => 'PUBLIC', - 'PRIVATE' => 'PRIVATE', - ], - 'example' => 'PRIVATE', - ], - 'Tags' => [ + 'HpoExperimentConfiguration' => ['description' => 'HPO实验配置参数结构体', 'required' => false, '$ref' => '#/components/schemas/HpoExperimentConfig'], + 'Description' => ['description' => '实验描述。', 'type' => 'string', 'required' => false, 'example' => 'This is an AutoML HPO experiment.'], + 'Accessibility' => ['description' => '工作空间可见度,取值如下。'."\n" + .'- PRIVATE:在此工作空间中,仅对您和管理员可见。'."\n" + .'- PUBLIC:在此工作空间中,对所有人可见。', 'type' => 'string', 'required' => false, 'example' => 'PRIVATE'], + 'Name' => ['description' => '实验名称', 'type' => 'string', 'required' => false, 'example' => 'my experiment x'], + 'WorkspaceId' => ['description' => '工作空间ID', 'type' => 'string', 'required' => false, 'example' => '12345'], + 'Tag' => [ 'description' => '标签信息。', 'type' => 'array', 'items' => [ - 'description' => '标签。', + 'description' => '标签信息。', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => '标签键。', - 'type' => 'string', - 'example' => 'group', - ], - 'Value' => [ - 'description' => '标签值。', - 'type' => 'string', - 'example' => 'group_name', - ], + 'Key' => ['description' => '标签名', 'type' => 'string', 'required' => false, 'example' => 'group'], + 'Value' => ['description' => '标签值', 'type' => 'string', 'required' => false, 'example' => 'group_name'], ], + 'required' => false, ], + 'required' => false, ], ], + 'required' => false, ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'POP的请求id', 'type' => 'string', 'example' => '3F190916-B3E5-5D1E-AD0C-35C0DF105F51'], + 'Code' => ['description' => '状态码', 'type' => 'string', 'example' => 'SUCCESS'], + 'Message' => ['description' => '响应错误信息。只在响应出错时被设置。', 'type' => 'string', 'example' => 'Missing \'user_id\' in request.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'object', 'example' => '{'."\n" + .' "AuthPrincipalType": "sub",'."\n" + .' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n" + .' "NoPermissionType": "NoPermission"'."\n" + .'}'."\n"], + ], + ], + ], ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"INVALID_USER_OR_EXP\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"RequestId\\": \\"071A904D-5A49-597F-9F69-81C7701D04AC\\",\\n \\"Detail\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"ExperimentId\\": \\"tfKs0Ds\\",\\n \\"Creator\\": \\"266977839132045194\\",\\n \\"Name\\": \\"自动特征工程实验\\",\\n \\"JobMeta\\": \\"{\\\\\\"action\\\\\\": \\\\\\"fs_train\\\\\\", \\\\\\"request_id\\\\\\": \\\\\\"6B6D4FB6-87AA-5C0E-94AB-E0F830955D1E\\\\\\", \\\\\\"job_num\\\\\\": 7, \\\\\\"job_runs\\\\\\": [{\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-fqlk86bvk68\\\\\\", \\\\\\"duration\\\\\\": 181, \\\\\\"finish_at\\\\\\": 1719158854000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:04:31.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-q18k5jo66h3k\\\\\\", \\\\\\"duration\\\\\\": 233, \\\\\\"finish_at\\\\\\": 1719159106000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:07:51.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-g7b38dmqes0nm4le\\\\\\", \\\\\\"duration\\\\\\": 173, \\\\\\"finish_at\\\\\\": 1719159306000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:12:12.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-524dab97aazs3jmc\\\\\\", \\\\\\"duration\\\\\\": 199, \\\\\\"finish_at\\\\\\": 1719159527000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:15:28.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-a8z56wy2ppwmxx04\\\\\\", \\\\\\"duration\\\\\\": 197, \\\\\\"finish_at\\\\\\": 1719159747000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:19:08.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-2cgsbxzzzma1j\\\\\\", \\\\\\"duration\\\\\\": 210, \\\\\\"finish_at\\\\\\": 1719159982000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:22:51.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-3cgsvf3ien1cw7\\\\\\", \\\\\\"duration\\\\\\": 184, \\\\\\"finish_at\\\\\\": 1719160188000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:26:43.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}], \\\\\\"workspace_id\\\\\\": \\\\\\"86006\\\\\\"}{\\\\\\"action\\\\\\": \\\\\\"fs_train\\\\\\", \\\\\\"request_id\\\\\\": \\\\\\"6B6D4FB6-87AA-5C0E-94AB-E0F830955D1E\\\\\\", \\\\\\"job_num\\\\\\": 7, \\\\\\"job_runs\\\\\\": [{\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-fqlk86betchc69vk68\\\\\\", \\\\\\"duration\\\\\\": 181, \\\\\\"finish_at\\\\\\": 1719158854000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:04:31.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-q18ijqak558jo66h3k\\\\\\", \\\\\\"duration\\\\\\": 233, \\\\\\"finish_at\\\\\\": 1719159106000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:07:51.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-g7b38df7mqes0nm4le\\\\\\", \\\\\\"duration\\\\\\": 173, \\\\\\"finish_at\\\\\\": 1719159306000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:12:12.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-524zedab97aazs3jmc\\\\\\", \\\\\\"duration\\\\\\": 199, \\\\\\"finish_at\\\\\\": 1719159527000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:15:28.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-a8z56wy2ppm6wmxx04\\\\\\", \\\\\\"duration\\\\\\": 197, \\\\\\"finish_at\\\\\\": 1719159747000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:19:08.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-2cgsbxzx9i35zzma1j\\\\\\", \\\\\\"duration\\\\\\": 210, \\\\\\"finish_at\\\\\\": 1719159982000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:22:51.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}, {\\\\\\"job_url\\\\\\": \\\\\\"https://pai.console.aliyun.com/?projectId=®ionId=cn-beijing#/studio/task/detail/flow-3cgsvf3bprlien1cw7\\\\\\", \\\\\\"duration\\\\\\": 184, \\\\\\"finish_at\\\\\\": 1719160188000, \\\\\\"create_time\\\\\\": \\\\\\"2024-06-23T16:26:43.000Z\\\\\\", \\\\\\"status\\\\\\": \\\\\\"Succeeded\\\\\\"}], \\\\\\"workspace_id\\\\\\": \\\\\\"86006\\\\\\"}\\",\\n \\"GmtCreateTime\\": \\"2023-08-18T09:41:01Z\\",\\n \\"GmtModifiedTime\\": \\"2023-11-30T02:05:34.000Z\\",\\n \\"Status\\": \\"FINISHED, FAILED, USER_CANCELED\\",\\n \\"SelectedFeatures\\": \\"age,sex,education\\",\\n \\"Description\\": \\"我的实验\\",\\n \\"Accessibility\\": \\"PRIVATE\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"group\\",\\n \\"Value\\": \\"group_name\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '获取AutoFE实验信息', + 'title' => '更新HPO实验设置', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paiautoml:UpdateHpoExperiment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => 'HpoExperiment', 'arn' => 'acs:paiautoml:{#regionId}:{#accountId}:hpoexperiment/{#HpoExperimentId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F190916-B3E5-5D1E-AD0C-35C0DF105F51\\",\\n \\"Code\\": \\"SUCCESS\\",\\n \\"Message\\": \\"Missing \'user_id\' in request.\\",\\n \\"AccessDeniedDetail\\": {\\n \\"AuthPrincipalType\\": \\"sub\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\",\\n \\"NoPermissionType\\": \\"NoPermission\\"\\n }\\n}","type":"json"}]', ], ], 'endpoints' => [ - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'paiautoml.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'paiautoml.cn-beijing.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'paiautoml.cn-shenzhen.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'paiautoml.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'paiautoml.cn-hongkong.aliyuncs.com', + ['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'paiautoml.cn-shenzhen.aliyuncs.com', 'endpoint' => 'paiautoml.cn-shenzhen.aliyuncs.com', 'vpc' => 'paiautoml-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu', 'regionName' => '华北6(乌兰察布)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'paiautoml.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'paiautoml.cn-wulanchabu.aliyuncs.com', 'vpc' => 'paiautoml-vpc.cn-wulanchabu.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'paiautoml.cn-beijing.aliyuncs.com', 'endpoint' => 'paiautoml.cn-beijing.aliyuncs.com', 'vpc' => 'paiautoml-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'paiautoml.cn-shanghai.aliyuncs.com', 'endpoint' => 'paiautoml.cn-shanghai.aliyuncs.com', 'vpc' => 'paiautoml-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'paiautoml.cn-hongkong.aliyuncs.com', 'endpoint' => 'paiautoml.cn-hongkong.aliyuncs.com', 'vpc' => 'paiautoml-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'paiautoml.cn-hangzhou.aliyuncs.com', 'endpoint' => 'paiautoml.cn-hangzhou.aliyuncs.com', 'vpc' => 'paiautoml-vpc.cn-hangzhou.aliyuncs.com'], + ], + 'errorCodes' => [], + 'changeSet' => [], + 'ram' => [ + 'productCode' => 'PAIAutoML', + 'productName' => '人工智能平台 PAI', + 'ramCodes' => ['paiautoml'], + 'ramLevel' => '资源级', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'ListHpoTrialLogNames', + 'description' => '获取HPO实验指定trial的所有log文件名称', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'paiautoml:ListHpoTrialLogNames', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListHpoTrials', + 'description' => '获取一个HPO实验里的多个trials信息', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'paiautoml:ListHpoTrials', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => 'HpoExperiment', 'arn' => 'acs:paiautoml:{#regionId}:{#accountId}:hpoexperiment/{#HpoExperimentId}'], + ], + ], + ], + [ + 'apiName' => 'GetServiceIdentityRole', + 'description' => '获取服务关联角色相关信息', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'paiautoml:GetServiceIdentityRole', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListHpoExperiments', + 'description' => '搜索符合条件的HPO实验', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'paiautoml:ListHpoExperiments', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteHpoExperiment', + 'description' => '删除一个HPO实验', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'paiautoml:DeleteHpoExperiment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => 'HpoExperiment', 'arn' => 'acs:paiautoml:{#regionId}:{#accountId}:hpoexperiment/{#HpoExperimentId}'], + ], + ], + ], + [ + 'apiName' => 'UpdateHpoExperiment', + 'description' => '更新HPO实验设置', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paiautoml:UpdateHpoExperiment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => 'HpoExperiment', 'arn' => 'acs:paiautoml:{#regionId}:{#accountId}:hpoexperiment/{#HpoExperimentId}'], + ], + ], + ], + [ + 'apiName' => 'GetHpoTrial', + 'description' => '获取一个HPO实验里一个指定Trial的信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paiautoml:GetHpoTrial', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetHpoExperiment', + 'description' => '获取一个HPO实验的信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paiautoml:GetHpoExperiment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => 'HpoExperiment', 'arn' => 'acs:paiautoml:{#regionId}:{#accountId}:hpoexperiment/{#HpoExperimentId}'], + ], + ], + ], + [ + 'apiName' => 'RestartHpoTrials', + 'description' => '重启一个HPO实验里失败的trials', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paiautoml:RestartHpoTrials', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetAutofeExperiment', + 'description' => '获取AutoFE实验信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'paiautoml:GetAutofeExperiment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => 'AutofeExperiment', 'arn' => 'acs:paiautoml:{#regionId}:{#accountId}:autofeexperiment/{#AutofeExperimentId}'], + ], + ], + ], + [ + 'apiName' => 'ListHpoExperimentLogs', + 'description' => '显示HPO实验一个指定log的内容', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'paiautoml:ListHpoExperimentLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => 'HpoExperiment', 'arn' => 'acs:paiautoml:{#regionId}:{#accountId}:hpoexperiment/{#HpoExperimentId}'], + ], + ], + ], + [ + 'apiName' => 'CreateHpoExperiment', + 'description' => '创建一个HPO实验', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paiautoml:CreateHpoExperiment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListHpoTrialCommands', + 'description' => '获取HPO实验指定trial的后台任务的命令和输出', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'paiautoml:ListHpoTrialCommands', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StopHpoExperiment', + 'description' => '停止一个指定的HPO实验', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paiautoml:StopHpoExperiment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListHpoTrialLogs', + 'description' => '显示一个HPO trial的一个指定的日志内容', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'paiautoml:ListHpoTrialLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StopHpoTrials', + 'description' => '停止一个HPO实验里指定的trials', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'paiautoml:StopHpoTrials', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateServiceIdentityRole', + 'description' => '创建服务关联角色', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'paiautoml:CreateServiceIdentityRole', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateAutofeExperiment', + 'description' => '创建一个自动特征工程实验。', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'paiautoml:CreateAutofeExperiment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PAIAutoML', 'resourceType' => 'AutofeExperiment', 'arn' => 'acs:paiautoml:{#regionId}:{#accountId}:autofeexperiment/*'], + ], + ], + ], ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'paiautoml.cn-wulanchabu.aliyuncs.com', + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'HpoExperiment', 'arn' => 'acs:paiautoml:{#regionId}:{#accountId}:hpoexperiment/{#HpoExperimentId}'], + ['validationType' => 'always', 'resourceType' => 'AutofeExperiment', 'arn' => 'acs:paiautoml:{#regionId}:{#accountId}:autofeexperiment/{#AutofeExperimentId}'], + ['validationType' => 'always', 'resourceType' => 'AutofeExperiment', 'arn' => 'acs:paiautoml:{#regionId}:{#accountId}:autofeexperiment/*'], ], ], ]; |
