AutoDL作业
所有文档

          全功能AI开发平台 BML

          AutoDL作业

          AutoDL是一款自动深度学习产品,利用先进的迁移学习或者神经网络架构搜索技术,针对业务提供数据进行训练。平台提供简单易懂的操作界面,只需几步便可训练、评估、部署模型,给用户以一站式体验。AutoDL适用性广泛,初学者只需提交数据便可得到高品质模型,经验丰富的工程师拿到平台提供的高品质模型后可继续研究。

          新建作业

          左侧导航栏选择“训练-->AutoDL作业”,进入AutoDL作业列表页。点击『新建作业』按钮,进入新建作业流程。

          image.png

          图像分类-迁移学习

          利用已经训练过的卷积神经网络(CNN),结合训练数据微调其中几层,得到适合于我们训练数据的模型,避免了大资源长时间的训练过程,这便是迁移学习的理念。图像分类-迁移学习,针对几百张量级的图片数据,10分钟便可训出一个可用模型给用户,并展示训练过程,包括:预处理结果、训练阶段的loss和acc指标。用户可以在预测服务中直接部署使用此模型。

          配置说明:

          配置名称 是否必须 描述
          作业名称 只能由数字、字母、-或_组成且首位只能是字母,长度小于40个字符
          算法或框架 图像分类-迁移学习
          作业结束是否发短信 作业结束后是否发短信通知用户
          训练数据路径 存放模型训练数据的路径。填写zip压缩包则只用此zip包训练;填写文件夹则使用文件夹下所有zip包训练,文件夹不支持子目录迭代,zip包超过10个只取前10个,目前只支持zip压缩包。
          输出路径 存放模型和日志的路径,作业成功后将模型存放在该路径/{job_id}/model下,日志存放在该路径/{job_id}/log下
          计算资源 BML集群或用户自有cce集群
          资源套餐 深度学习开发卡等GPU单卡套餐
          实例个数 1
          最大运行时间 若作业运行达到最大运行时间,BML会自动强制停止作业,可能造成作业失败

          训练数据格式说明:

          image.png

          • 需要将所有准备好的图片对应的分类以单个文件夹整理,同时将所有文件夹压缩为.zip格式
          • 若图片较多,建议分多个压缩包,最大支持10个压缩包训练。
          • 如果多个压缩包里面分类命名存在一致,系统会自动合并数据,当作一类图片。
          • 分类的命名需要以数字、字母、下划线格式,目前不支持中文格式命名,同时注意不要存在空格
          • 图片说明: (1)图片的扩展名可支持常见的三种:jpg,jpeg,png
            (2)图片大小:暂无限制 (3)每类图片数量:20 <= 每类图片数量;注意:每类图片数量要均衡,模型效果才更好 (4) 图片种类数:2类 <= 图片分类数 <= 200类 (5) 图片总数量:图片总数量 <= 10万张

          示例配置:

          训练数据是从网上下载的cifar10数据。开发人员将数据转化成了符合图像分类-迁移学习算法的输入数据格式(转化的代码可参考transfer_cifar10.py,在python2环境运行并依赖numpy和opencv库)即按照不同的目录来划分图片分类。作为示例,开发人员将每个分类取100张图片,共1000张图片来训练。您可以下载数据后自己进行转化,也可以直接使用我们的公共bos数据进行训练。

          训练数据路径:bos:/bml-public/autodl-demo/data/cifar10-for-transferlearning.zip

          输出路径配置您自己的bos路径。

          image.png

          点击“确定”按钮后,提交作业。

          模型输出格式说明:

          • 输出模型是pytorch格式的模型,以pth后缀结尾,包含网络的权重信息。模型文件存放在用户指定的输出路径/{jobid}/model下,可以用此模型路径做预测服务。

          启动预测服务:

          图像分类-迁移学习作业运行成功后,在作业详情页复制模型输出路径,如: bos:/xxx/yyy/autodl-qianyixuexi/job-8c0yiasq02caa6hf/model/

          • 在预测->预测模型库->新建模型页面,添加图像分类-迁移学习的模型,模型文件路径填写上面的路径。

          image.png

          • 在预测->模板配置库->新建模板页面,新建模板配置,如:

          image.png

          • 在预测->端点管理->新建端点页面中,加载上面的模板,启动预测服务,如:

          image.png

          发送预测请求:

          当预测端点状态为服务中时,可以发送预测服务请求,代码如下:

           #!/usr/bin/env python
           # -*- coding: utf-8 -*-
           import sys
           import json
           import base64
           import requests
           
           IMAGE_PATH = "aaa.jpg"
           ENDPOINT_URL = "http://10.181.114.16:8023/v1/endpoints/yyyy/invocations"
           PARAMS = "?interface=predict&action=predict"
           TARGET_URL = ENDPOINT_URL + PARAMS
           
           def get_request():
               """构造请求"""
               arr_instances = []
               with open(IMAGE_PATH, "rb") as f:
                   data = f.read()
               encoded_data = base64.b64encode(data)
               str_data = str(encoded_data)
               obj_instance = {
                   "data": str_data,
               }
               arr_instances.append(obj_instance)
               request = {
                   "instances": arr_instances,
               }
               return request
               
           if __name__ == '__main__':
               request = get_request()
               json_request = json.dumps(request)
           
               headers = {'Content-type': 'application/json'}
               res = requests.post(TARGET_URL, data = json_request, headers = headers)
               result = res.text
               print(result)

          修改IMAGE_PATH为图片位置,修改ENDPOINT_URL为端点URL,执行上述代码就可以发送预测请求,得到图片分类预测结果。 预测的图片:

          aaa2.jpg

          预测的结果:

          {"result":"[[1.288892149925232, -3.755728244781494, -1.8610944747924805, 6.285534381866455, -1.8683143854141235, 2.2759482860565186, -3.119175672531128, 0.8390857577323914, 1.8015419244766235, -1.3871209621429443]]"}

          结果表示,图片被预测为label 3,猫。

          图像分类-ENAS

          利用先进的神经网络架构搜索技术,针对业务提供数据进行训练,几小时便可完成最优模型搜索以及高品质模型输出。通过用户给定的分好类的图像数据,输出一个训练好的模型给用户,并展示训练过程,包括:预处理结果、每一轮的Metric指标和神经网络结构图、调优结果。

          配置说明:

          配置名称 是否必须 描述
          作业名称 只能由数字、字母、-或_组成且首位只能是字母,长度小于40个字符
          算法或框架 图像分类-ENAS
          作业结束是否发短信 作业结束后是否发短信通知用户
          训练数据路径 存放模型训练数据的路径。填写zip压缩包则只用此zip包训练;填写文件夹则使用文件夹下所有zip包训练,文件夹不支持子目录迭代,zip包超过10个只取前10个,目前只支持zip压缩包。
          输出路径 存放模型和日志的路径,作业成功后将模型存放在该路径/{job_id}/model下,日志存放在该路径/{job_id}/log下
          计算资源 BML集群或用户自有cce集群
          资源套餐 深度学习开发卡等GPU单卡套餐
          实例个数 1
          最大运行时间 若作业运行达到最大运行时间,BML会自动强制停止作业,可能造成作业失败

          训练数据格式说明:

          image.png

          • 需要将所有准备好的图片对应的分类以单个文件夹整理,同时将所有文件夹压缩为.zip格式
          • 若图片较多,建议分多个压缩包,最大支持10个压缩包训练。
          • 如果多个压缩包里面分类命名存在一致,系统会自动合并数据,当作一类图片。
          • 分类的命名需要以数字、字母、下划线格式,目前不支持中文格式命名,同时注意不要存在空格
          • 图片说明: (1)图片的扩展名可支持常见的三种:jpg,jpeg,png
            (2)图片大小:100K <= 图片大小 <= 3M,长宽比在3:1以内,其中最长边需要小于4096px,最短边需要大于30px (3)每类图片数量:50 <= 每类图片数量;注意:每类图片数量要均衡,模型效果才更好 (4) 图片种类数: 2类 <= 图片分类数 <= 200类 (5)图片总数量:图片总数量 <= 10万张

          示例配置:

          训练数据是从网上下载的cifar10数据。开发人员将数据转化成了符合图像分类-ENAS算法的输入数据格式(转化的代码可参考transfer_cifar10.py,在python2环境运行并依赖numpy和opencv库),即按照不同的目录来划分图片分类,并打成zip包。您可以下载数据后自己进行转化,也可以直接使用我们的公共bos数据进行训练。

          训练数据路径:bos:/bml-public/autodl-demo/data/cifar10.zip

          输出路径配置您自己的bos路径。

          image.png

          点击“确定”按钮后,提交作业。

          模型输出格式说明:

          • 输出模型是keras hdf5格式的模型,包含网络结构和权重参数。

          作业列表相关操作

          • 终止:将当前正在运行或排队的作业终止,不再排队,不再运行。终止运行后,作业结果及作业日志不会上传到指定的BOS路径。
          • 克隆:克隆一份作业的配置项,进入新建作业页面。
          • 删除:删除该条作业,如果删除时作业还在排队或运行中,会先终止排队或运行,再删除作业,删除后该作业从作业列表中消失。
          • 查看作业详情:点击作业名称可以进入作业详情,查看作业的作业信息、参数信息、集群信息。
          • 查看运行详情:点击作业名称选择运行详情标签可以进入运行详情,查看作业运行状态、起止时间、日志详情、运行曲线等。

          查看作业结果

          作业运行成功后,会根据作业配置时指定的输出路径,将模型和日志分别存储到对应的 BOS 地址下,用户需要前往 BOS 查看或下载作业模型或者日志。

          如果作业模型或日志无法保存,可能是下列情况:

          • 手动终止作业
          • 作业运行超时被自动终止
          • 作业运行失败

          用户作业失败,可能是下列情况导致:

          • 输入数据与数据格式要求不匹配
          • 输入数据的BOS地址不存在或不可访问
          • 输出路径的bucket不存在或不可访问
          • 训练超时
          上一篇
          机器学习作业
          下一篇
          AutoML作业