华为云AI开发平台ModelArts创建超参搜索作业_云淘科技
背景信息
对于用户希望优化的超参,需在“超参”设置中定义,可以给定名称、类型、默认值、约束等,具体设置方法可以参考定义超参。
如果用户使用的AI引擎为pytorch_1.8.0-cuda_10.2-py_3.7-ubuntu_18.04-x86_64和tensorflow_2.1.0-cuda_10.1-py_3.7-ubuntu_18.04-x86_64,并且优化的超参类型为float类型,ModelArts支持用户使用超参搜索功能。
在0代码修改的基础下,实现算法模型的超参搜索。需要完成以下步骤:
准备工作
创建算法
创建训练作业
查看超参搜索作业详情
准备工作
数据已完成准备:已在ModelArts中创建可用的数据集,或者您已将用于训练的数据集上传至OBS目录。
请准备好训练脚本,并上传至OBS目录。训练脚本开发指导参见开发自定义脚本。
在训练代码中,用户需打印搜索指标参数。
已在OBS创建至少1个空的文件夹,用于存储训练输出的内容。
由于训练作业运行需消耗资源,确保帐户未欠费。
确保您使用的OBS目录与ModelArts在同一区域。
创建算法
进入ModelArts控制台,参考创建算法操作指导,创建自定义算法。在配置自定义算法参数时,需关注“超参”和“支持的策略”参数的设置。
图1 超参搜索作业参数
对于用户希望优化的超参,需在“超参”设置中定义,可以给定名称、类型、默认值、约束等,具体设置方法可以参考定义超参。
单击勾选自动搜索,用户为算法设置算法搜索功能。自动搜索作业运行过程中,ModelArts后台通过指标正则表达式获取搜索指标参数,朝指定的优化方向进行超参优化。用户需要在代码中打印搜索参数并在控制台配置以下参数:
搜索指标
搜索指标为目标函数的值,通常可以设置为loss、accuracy等。通过优化搜索指标的目标值超优化方向收敛,找到最契合的超参,提高模型精度和收敛速度。
参数 |
说明 |
---|---|
名称 |
搜索指标的名称。需要与您在代码中打印的搜索指标参数保持一致。 |
优化方向 |
可选“最大化”或者“最小化”。 |
指标正则 |
填入正则表达式。您可以单击智能生成功能自动获取正则表达式。 |
图2 搜索指标参数
设置自动化搜索参数
从已设置的“超参”中选择可用于搜索优化的超参。优化的超参仅支持float类型,选中自动化搜索参数后,需设置取值范围。
图3 自动化参数设置
搜索算法配置
ModelArts内置三种超参搜索算法,用户可以根据实际情况选择对应的算法,支持多选。对应的算法和参数解析请参考以下:
bayes_opt_search:贝叶斯优化(SMAC)
tpe_search:TPE算法
anneal_search:模拟退火算法(Anneal)
图4 搜索算法配置
创建算法完成后,在“算法管理”页面,等待算法就绪。当新创建的算法状态变更为“就绪”时,即可执行其他操作。
创建训练作业
登录ModelArts控制台,参考创建训练作业操作指导,创建训练作业。用户需关注以下操作才能开启超参搜索。
当您选择支持超参搜索的算法,需单击超级参数的范围设置按钮才能开启超参搜索功能。
图5 范围设置
开启超参搜索功能后,用户可以设置搜索指标、搜索算法和搜索算法参数。三个参数显示的支持值与算法管理模块的超参设置一一对应。
图6 超参搜索参数设置
完成超参搜索作业的创建后,训练作业需要运行一段时间。
查看超参搜索作业详情
训练作业运行结束后,您可以通过查看训练作业详情判断此训练作业是否满意。
进入ModelArts控制台,您可以参考查看训练作业详情操作指导。如果训练作业是超参搜索作业,用户可以查看自动超参搜索结果。
图7 超参搜索结果
父主题: 自动模型优化(AutoSearch)
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家