精华内容
下载资源
问答
  • AI平台的初衷永远是提高开发效率,加快算法迭代周期。通过产品化AI技术,让运营人员能够更贴近技术,更好地...接下来,围绕着作者自身搭建商品模型训练平台案例,分享相关设计经验,内容包括:业务场景、训练平台...

    AI平台的初衷永远是提高开发效率,加快算法迭代周期。通过产品化AI技术,让运营人员能够更贴近技术,更好地指导赋能业务场景,给客户带来更好的技术体验和产品体验。

    本文是2020年的正式第一文,介绍了人工智能领域深度学习平台的相关信息,内容包括:AI平台的基本介绍、系统架构、实现难点和相关能力。

    接下来,围绕着作者自身搭建商品模型训练平台案例,分享相关设计经验,内容包括:业务场景、训练平台系统架构的规划、数据和模型中心、投产比问题和相关总结。

    一、关于AI平台

    1.1 AI平台介绍

    AI模型训练平台,基于核心模块和应用场景不同,又可以称作深度学习平台、机器学习平台、人工智能平台(以下统称做AI平台)。

    AI平台提供业务到产品、数据到模型、端到端,线上化的人工智能应用解决方案。

    用户在AI平台能够使用不同的深度学习框架进行大规模的训练,对数据集和模型进行管理和迭代,同时通过API和本地部署等方式接入到具体业务场景中使用。

    简单理解,AI平台=AI SAAS+(PAAS)+(IAAS)。

    以下是腾讯DI-X和阿里PAI平台的介绍:

    DI-X(Data Intelligence X)是基于腾讯云强大计算能力的一站式深度学习平台。它通过可视化的拖拽布局,组合各种数据源、组件、算法、模型和评估模块,让算法工程师和数据科学家在其之上,方便地进行模型训练、评估及预测。

    阿里云机器学习平台PAI(Platform of Artificial Intelligence),为传统机器学习和深度学习提供了从数据处理、模型训练、服务部署到预测的一站式服务。

    使用AI平台,能够简化开发人员对数据预处理和管理、模型训练和部署等繁琐的代码操作,加快算法开发效率,提高产品的迭代周期;并且通过AI平台能整合计算资源、数据资源、模型资源,使用者能对不同资源进行复用和调度。

    开放AI平台后,也能有效进行商业化,对企业所处领域的AI业务生态环境有一定的推动和反馈。

    国内外相关的AI平台有:

    国内:

    • 华为ModelArts
    • 阿里云 PAI
    • 百度 Paddle Paddle
    • 腾讯 DI-X深度学习平台
    • 金山云 人工智能平台
    • qingcloud 人工智能平台
    • 京东 JDAINeuFoundry
    • 小米Cloud-ml平台

    国外:

    • Microsoft Azure Machine Learning
    • AWS Machine Learning
    • Google Cloud Platform

    1.2 AI平台系统架构

    基于一个企业整体系统的架构来看,AI平台可视为业务的技术支撑中台之一 (平行于数据中台),起到承上启下(承载业务,对接技术底层)的作用。

    若一个企业当前已有数据中台,则可将数据中台作为AI中台的数据输入和数据输出系统对象,AI中台作为业务前台的模型和算法供给平台。若业务前台有AI需求(如图像识别、语义识别、商品推荐等),算法运营团队则通过在AI平台对模型的训练迭代以支持。

    根据企业不同的规模、资源和业务场景,其AI平台会有不一样的定位。

    例如AI和数据可同为一个中台、AI平台可视为业务中台一部分、AI平台整合进技术中台或后台等。规模较小、资源有限的企业通常会选择使用第三方AI平台对业务进行服务,而非自建AI平台。

    一文介绍AI商品模型训练平台(深度学习平台)

    企业架构示例:AI平台作为AI中台

    关于AI平台自身的架构设计,各第三方平台都大同小异,主要是技术架构上的不同,暂时没有必要去深入研究。

    这里以京东NeuFoundry神铸项目系统架构为例,初探一二:

    一文介绍AI商品模型训练平台(深度学习平台)

    NeuFoundry平台架构图

    NeuFoundry基础设施层采用Docker容器进行算力资源的池化,通过Kubernetes进行整体的资源管理、资源分配、任务运行、状态监控等,平台集成了MySQL、Redis、MQ等多种中间件服务,通过数据标注、模型训练、模型发布,生成自定义的AI能力,为各行各业的业务服务提供有力的支撑。

    1.3 AI平台实现难点

    1)大数据处理问题

    在当前阶段,AI底层技术原理决定了“有多少数据,模型能力就有多好”的情况。同时,企业在日常业务运行中会不断产生新数据。

    当数据需求和客观数据量都很大,大数据的管理和处理能力对于一个AI平台来说是最基础的能力,开发人员需要结合AI模型训练任务的制定合理的数据调度方案,同时对数据进行生命周期的管理(如定期的删除冗余数据、不规则数据)。

    2)分布式计算

    大数据的处理、模型的训练都十分消耗资源。如果业务场景复杂,模型训练时间长或者样本规模大,超过单台服务器能力时,需要支持分布式训练。

    微博深度学习训练集群的解决方式是:

    以TensorFlow分布式运行方式为例进行说明,如图5所示。

    一个TensorFlow分布式程序对应一个抽象的集群,集群(cluster)由工作节点(worker)和参数服务器(parameter server)组成。工作节点(worker)承担矩阵乘、向量加等具体计算任务,计算出相应参数(weight和bias),并把参数汇总到参数服务器;参数服务器(parameter server)把从众多工作节点收集参数汇总并计算,并传递给相应工作节点,由工作节点进行下一轮计算,如此循环往复。

    3)AI平台实现的最大瓶颈

    在于企业对AI平台投产比的权衡(顶层、中层、执行层对AI平台的价值认知),这一点会在下文重点说明 。

    1.4 AI平台相关能力

    AI平台不仅需要提供AI开发流程所需基础技能,还需针对不同的用户(产品经理、运营人员、算法工程师……)、不同的客户(大企业、中小企业、传统企业、科技企业……)提供对应所需服务。

    我将AI平台能力分为以下五类:

    • 数据能力:数据获取、数据预处理(ETL)、数据集管理、数据标注、数据增强……
    • 模型能力:模型管理、模型训练、模型验证、模型部署、模型处理、模型详情……
    • 算法能力:支持各种算法、深度学习、数据运算处理框架、预置模型、算法调用、对算法组合操作……
    • 部署能力:多重部署方式、在线部署、私有化部署、边缘端部署、灰度/增量/全量部署……
    • 其他能力:AI服务市场、工单客服、权限管理、工作流可视化……

    一文介绍AI商品模型训练平台(深度学习平台)

    华为ModelArts平台技能

    二、AI商品模型训练平台设计经验分享

    2.1 业务场景

    在日常经营的过程中,每个新的商品都需要进行数据采集、标注,随后将数据扔进对应模型文件进行训练,其中涉及非常多重复且繁琐的工作问题。

    将数据采集处理到模型训练部署的流程平台化,能够极大提升开发效率,让运营人员和算法人员更好地分别针对场景和模型进行管理。

    而且,数据、模型(可线上使用)对于企业来说是最核心的技术资源,不过初期一直处在黑匣子状态,只有算法人员可接触和查看。所以在业务发展到达一定的阶段时,就需要开始对其进行有效管理。

    本文的AI平台,主要服务零售行业商品模型训练的业务场景,故称作AI商品模型训练平台。

    2.2 系统架构

    综合资源、场景、服务效率、商业化等多个维度去考量,作者设计的商品模型训练平台主要以数据中心和模型中心两大核心子系统组成,一方面可以以最小的开发资源实现涵盖了当前业务所需要的核心流程和个性化流程,另一方面也有利于平台后续的能力拓展和进行商业化。

    一文介绍AI商品模型训练平台(深度学习平台)

    AI商品模型训练平台

    数据中心主要服务3点数据管理业务需求:数据获取、数据处理、数据评估。其中涉及能力有数据集获取、数据集管理、数据增强、增强策略配置、数据标注、标注任务系统、半自动标注等。

    模型中心主要服务3点模型管理业务需求:模型训练和验证、模型管理、模型部署。其中涉及能力有模型训练、参数配置、训练任务管理、训练状态可视化、模型文件管理、模型版本管理、模型状态管理、模型操作、模型处理、模型处理策略管理、模型部署、部署业务管理等。

    接下来,针对核心的业务需求逐一说明解决方案。

    2.3 数据中心

    2.3.1 数据获取

    AI模型训练的第一步是对数据的获取(此处的数据都为图片数据)。

    数据的采集可以通过线下构建对应业务场景需要的环境进行拍摄采集,也可以通过平台内已有数据(线上数据、旧数据)、第三方数据(通过开源、付费购买、爬虫爬取多多种形式)获取。

    • 线上数据集的处理:多采用badcase,重新标注、增强。
    • 爬取数据集:爬取公开渠道如百度图片的对应label数据集,并区分可用不可用。

    因数据集都为图片数据,并且模型是基于深度学习技术构建,故涉及到数据ETL、特征工程等一些处理暂时不需要,后续可根据业务场景和应用技术的拓展,在技术架构和平台架构补充上对应的能力。

    数据集获取完成后,可以将数据按照不同的类型存放,通过数据集管理页面进管理。

    数据类型可以按照不同的维度区分:

    1)以标品和非标品区分

    • 标品数据:标品静态状态数据、标品动态状态数据;
    • 非标品数据:标品多角度数据、标品静态状数据、标品动态状态数据、其他异常情况数据。

    2)以数据来源渠道区分

    • 线下:构建不同的场景(静态动态)进行拍摄采集;
    • 线上:平台内已有数据(线上数据、旧数据)、第三方数据(开源数据集、付费数据集、爬取数据集)。

    3)以数据格式区分

    图片、视频、其他格式(2d、3d)。

    4)以数据使用性区分

    基本数据集、训练数据集(含标注)、验证数据集、异常数据集、自定义数据集。

    数据集应当有生命周期的管理和备注信息,以免在运营一段时间后数据量杂乱冗余。

    2.3.2 数据处理

    部分场景的模型训练前,需要对数据进行不同程度、不同方案的增强。运营人员或算法人员可以在数据增强的页面上,选择对应的数据集和数据增强策略,对数据进行增强,增强后的数据集将会同步以原数据的子文件形式,在数据集管理中以“增强数据集”类型展示。

    同时,为适应多种业务场景和加快数据增强实验的有效性,可利用已实现的数据增强技术,配置出多重数据增强方案。如:

    • 旋转:90°。
    • 左右镜像。
    • 增亮2倍。
    • 对比度1.25倍。
    • 数据模糊3倍。

    在数据集资源管理整合完成后,则可以在平台上对数据进行标注。运营人员可以对平台上已有数据集进行标注,也可以导入新的数据集文件进行标注。

    通常标注工作有:

    1. 对基本数据集(没有标注过的)进行标注或者半标注(半自动标注:利用少量数据集生成的模型进行自动标注,减少人工标注的工作量);
    2. 对异常数据集进行重新标准;
    3. 对自定义数据集进行标注。

    标注方式支持图像分类标注、方形框标注、圆形框标注、多边形标注、语义分割标注、3d标注。标注内容有标品和非标品,也有其他需要标注的内容信息如手、人脸。

    2.3.3 数据评估

    数据评估工作贯穿数据获取到数据处理整个过程,其操作质量和流程严密程度直接决定了数据质量的好坏,间接决定了模型表现效果的好坏。

    在获取数据以及对数据进行增强时,运营人员根据通用规则和经验进行数据评估是否可用,不确定的情况下需询问算法。但一般界定不确定的数据规则根据商品、当前模型、当前需求、算法认知和经验等多个因素确定,不确定性比较大,现实中还是多以“个人经验”为准则。这一部分随着相关员工经验和认知的增长,一定存在比较大的优化空间。

    日常需要对已有的数据集进行定期检查、定量检查,对数据质量和标注质量有一定的回归验证。同样,标注任务流程化(包括标注任务指派、标注任务完成的多重审核、标注人员的任务完成度和错误数据统计以及对应的奖惩机制)也是数据质量保证的重要环节。

    2.4 模型中心

    2.4.1 模型训练和验证

    确保数据提供到位后,运营人员或者算法人员可以在模型训练的页面上,选择模型,选择对应的数据集和对应的训练参数(如AI算法以及网络深度、训练step)即可开始进行增量或全量的模型训练。

    如果涉及GPU服务器运算量等考量,还可选择对应训练GPU服务器。训练过程中训练状态的可视化的展示可帮助运营人员对当前训练任务的进度有所了解,以便对损失度停止下降或者其他异常等不符合预期的模型训练任务进行暂停、取消等操作,解放算法人员的生产力。

    一文介绍AI商品模型训练平台(深度学习平台)

    TensorBoard界面

    模型训练完成后,可以对训练集的数据进行,得出模型MAP、精确率、召回率等指标,评估模型效果和质量;也可以选取未标注的验证数据集用模型进行识别,对模型的质量进行验证。

    2.4.2 模型管理

    初始的模型资源可通过外部文件导入,或者直接新增训练任务生成。

    通常来说,模型大部分时间处于“使用”的状态(线上的使用和更新的使用),故模型的管理主要针对模型的版本、模型的各种状态(服务状态、训练状态)、模型的操作记录、模型的详细参数等四个方面进行。

    在模型有优化更新、替代、异常等情况下,通过“模型管理“:可以对模型进行操作,如暂停服务,复制模型、上线模型、删除模型等操作。

    有一些模型可能需要在比较特殊的业务场景下运行(例如边缘端、硬件资源有限、网络延迟较高)进行,所以针对该种情况,也需要设计对模型进行压缩、调优等傻瓜式一键式处理方案,目的也是减少开发在繁琐工程上的工作量。

    2.4.3 模型部署

    在完成模型的训练生成模型,并且对模型进行一定验证后,可在”模型部署”对模型进行部署上线,部署流程通常为灰度部署过渡到全量部署。

    在边缘端应用场景下,也可以通过边缘端定期请求拉取最新模型文件或者通过边缘节点实现边缘端部署。

    2.5 AI平台投产比权衡

    上文提到,AI平台实现的最大瓶颈,其实在于企业对平台投产比的权衡。

    作者团队内部经过多次沟通考量,集中回答了以下三个问题,最终才决定对平台进行1.0的初步开发(主要也是先验证效用为主)。

    AI平台是否真的能支持业务,整体效率(开发效率、业务效率)能有多大提升?是否有潜在的实现后的未知成本(如算法人员需要花费大量时间教育运营人员使用某些模型训练功能)?能否使用数字对价值进行量化?就算能量化,是否又额外需要开发和沟通成本?

    现有的第三方AI平台已支持大部分业务,是否能先使用第三方AI平台进行业务链条的孵化?个性化的数据处理和训练业务是否可依旧可通过开发手动处理?

    AI平台的商业化价值短期能否提现(因为其他企业因数据安全问题不会安心使用,同时也极度依赖企业的知名度)?若短期无法体现,在什么阶段可以体现?

    关于价值权衡考量的问题没有标准化答案,每个企业都以自身的资源、业务等多个因素综合去考量,相关决策者和执行者对AI平台也有不一样的认知,故主要是看不同企业各自最终讨论出的最优投产比是否能大于投入成本后决定是否开发AI平台。

    总结

    不管是针对任何业务场景,AI平台的初衷永远是提高开发效率,加快算法迭代周期。通过产品化AI技术,让运营人员能够更贴近技术,更好地指导赋能业务场景,给客户带来更好的技术体验和产品体验。

    不仅如此,企业从内部服务起完善AI平台,逐渐开放平台并对平台进行商业化,服务原来没有足够资源和资金撬动AI技术的外部客户,为互联网AI生态的发展也起到了推动的作用。

    AI平台的发展和使用也是AI技术应用层面发展的重要节点,代表了AI技术开始产品化,更加落地,更加贴近业务层,也代表了企业有了更高效率的运用AI技术的方式。

     

    展开全文
  • 模型训练平台的构建 如今,机器学习和计算机视觉已成为一种热潮。 我们都已经看到了有关自动驾驶汽车和面部识别的新闻,并且可能想象到建立我们自己的计算机视觉模型将会多么酷。 但是,进入该领域并不总是那么容易...

    模型训练平台的构建

    如今,机器学习和计算机视觉已成为一种热潮。 我们都已经看到了有关自动驾驶汽车和面部识别的新闻,并且可能想象到建立我们自己的计算机视觉模型将会多么酷。 但是,进入该领域并不总是那么容易,尤其是在没有扎实的数学背景的情况下。 如果您想做的只是尝试一些小小的事情,那么像PyTorch和TensorFlow这样的库可能会很乏味。

    在本教程中,我为所有人提供了一种仅需几行代码即可构建功能齐全的对象检测模型的简单方法。 更具体地说,我们将使用Detecto ,这是在PyTorch之上构建的Python软件包,可简化该过程并向所有级别的程序员开放。

    快速简便的示例

    为了演示使用Detecto有多么简单,让我们加载一个经过预训练的模型,并对下图进行推断:

    首先,使用pip下载Detecto软件包:

    pip3 install detecto

    然后,将上面的图像另存为“ fruit.jpg”,并在与图像相同的文件夹中创建一个Python文件。 在Python文件中,编写以下5行代码:

    from detecto import core, utils, visualize
    
    image = utils.read_image( 'fruit.jpg' )
    model = core.Model()
    
    labels, boxes, scores = model.predict_top(image)
    visualize.show_labeled_image(image, boxes, labels)

    运行此文件后(如果您的计算机上没有启用CUDA的GPU,可能会花费几秒钟;稍后再进行介绍),您应该会看到类似于以下内容的内容:

    太棒了! 我们仅用5行代码即可完成所有这些工作。 这是我们在每个过程中所做的:

    1. 导入的Detecto模块
    2. 读入图像
    3. 初始化预训练模型
    4. 在我们的图像上产生了最高的预测
    5. 绘制我们的预测

    Detecto使用PyTorch的模型动物园中的Faster R-CNN ResNet-50 FPN ,它能够检测大约80种不同的物体,例如动物,车辆,厨房用具等。但是,如果您想检测自定义物体(如可乐vs百事可乐罐头,还是斑马与长颈鹿?

    您会很高兴地知道,在自定义数据集上训练Detecto模型同样容易。 同样,您只需要5行代码,以及现有的数据集或花一些时间标记图像。

    建立自定义数据集

    在本教程中,我们将从头开始构建自己的数据集。 我建议您执行相同的操作,但是如果要跳过此步骤,可以在此处下载示例数据集(从Stanford's Dog Dataset修改)。

    对于我们的数据集,我们将训练模型以检测RoboSub竞赛中的水下外星人,蝙蝠和女巫,如下所示:

    理想情况下,每个类至少需要100张图像。 好消息是,每个图像中可以有多个对象,因此,如果每个图像包含要检测的每一类对象,从理论上讲,您可以避免使用100张图像。 另外,如果您有视频素材,Detico可以轻松地将这些视频素材分割成可用于数据集的图像:

    from detecto.utils import split_video
    
    split_video( 'video.mp4' , 'frames/' , step_size= 4 )

    上面的代码在“ video.mp4”中每隔4帧拍摄一次,并将其另存为JPEG文件在“ frames”文件夹中。

    生成训练数据集后,应该有一个类似于以下内容的文件夹:

    images/
    |   image0.jpg
    |   image1.jpg
    |   image2.jpg
    |   ...

    如果需要,您还可以拥有另一个包含一组验证图像的文件夹。

    现在是耗时的部分:标记。 Detecto支持PASCAL VOC格式,其中具有XML文件,其中包含图像中每个对象的标签和位置数据。 要创建这些XML文件,可以使用开源LabelImg工具,如下所示:

    pip3 install labelImg# Download LabelImg using pip
    labelImg                 # Launch the application

    现在,您应该会看到一个弹出窗口。 在左侧,单击“打开目录”按钮,然后选择要标记的图像文件夹。 如果一切正常,您应该会看到类似以下内容的信息:

    要绘制边界框,请单击左侧菜单栏中的图标(或使用键盘快捷键“ w”)。 然后,您可以在对象周围拖动一个框并编写/选择标签:

    标记完图像后,请使用CTRL + S或CMD + S保存XML文件(为简便起见,您可以使用它们自动填充的默认文件位置和名称)。 要标记下一张图像,请单击“下一张图像”(或使用键盘快捷键“ d”)。

    完成整个数据集后,您的文件夹应如下所示:

    images/
    |   image0.jpg
    |   image0.xml
    |   image1.jpg
    |   image1.xml
    |   ...

    我们几乎准备开始训练我们的对象检测模型!

    访问GPU

    首先,检查您的计算机是否具有启用CUDA的GPU 由于深度学习需要大量处理能力,因此在典型的CPU上进行训练可能会非常缓慢。 值得庆幸的是,大多数现代深度学习框架(如PyTorch和Tensorflow)都可以在GPU上运行,从而使处理速度更快。 确保已下载PyTorch(如果已安装Detecto,则应该已经下载了),然后运行以下两行代码:

    import torch
    
    print(torch.cuda.is_available())

    如果打印True,那就太好了! 您可以跳到下一部分。 如果打印为False,请不要烦恼。 请按照以下步骤创建Google Colaboratory笔记本,这是一个在线编码环境,带有免费的可用GPU。 对于本教程,您将只在Google云端硬盘文件夹中而不是在计算机上工作。

    1.登录到Google云端硬盘

    2.创建一个名为“ Detecto Tutorial”的文件夹并导航到该文件夹

    3.将您的训练图像(和/或验证图像)上传到此文件夹

    4.右键单击,转到“更多”,然后单击“ Google Colaboratory”:

    现在,您应该看到如下界面:

    5.如果需要,请给笔记本起个名字,然后转到“编辑”->“笔记本设置”->“硬件加速器”并选择“ GPU”

    6.键入以下代码以“装入”驱动器,将目录更改为当前文件夹,然后安装Detecto:

    import os
    from google.colab import drive
    
    drive.mount( '/content/drive' )
    
    os.chdir( '/content/drive/My Drive/Detecto Tutorial' )
    
    !pip install detecto

    为了确保一切正常,您可以创建一个新的代码单元并键入!ls以检查您是否在正确的目录中。

    训练自定义模型

    最后,我们现在可以在自定义数据集上训练模型! 如所承诺的,这是容易的部分。 它只需要4行代码:

    from detecto import core, utils, visualize
    
    dataset = core.Dataset( 'images/' )
    model = core.Model([ 'alien' , 'bat' , 'witch' ])
    
    model.fit(dataset)

    让我们再次细分每一行代码的处理方式:

    1. 导入的Detecto模块
    2. 从“ images”文件夹(包含我们的JPEG和XML文件)创建了一个数据集
    3. 初始化一个模型来检测我们的自定义对象(外星人,蝙蝠和女巫)
    4. 在数据集上训练我们的模型

    根据数据集的大小,这可能需要10分钟到1小时以上的时间才能运行,因此请确保您的程序在完成上述语句后不会立即退出(即,您使用的Jupyter / Colab笔记本保留了状态)活动时)。

    使用训练好的模型

    现在您已经有了训练有素的模型,让我们在一些图像上对其进行测试。 要从文件路径读取图像,可以使用detecto.utils模块中的read_image函数(也可以使用上面创建的数据 detecto.utils的图像):

    # Specify the path to your image
    image = utils.read_image( 'images/image0.jpg' )
    predictions = model.predict(image)
    
    # predictions format: (labels, boxes, scores)
    labels, boxes, scores = predictions
    
    # ['alien', 'bat', 'bat']
    print(labels) 
    
    #           xmin       ymin       xmax       ymax
    # tensor([[ 569.2125,  203.6702, 1003.4383,  658.1044],
    #         [ 276.2478,  144.0074,  579.6044,  508.7444],
    #         [ 277.2929,  162.6719,  627.9399,  511.9841]])
    print(boxes)
    
    # tensor([0.9952, 0.9837, 0.5153])
    print(scores)

    如您所见,模型的预测方法返回一个由3个元素组成的元组:标签,框和分数。 在上面的示例中,模型在置信度为0.995( scores[0] )的坐标[569,204,1003,658]( boxes[0] )上预测了外星人( labels[0] scores[0] )。

    根据这些预测,我们可以使用detecto.visualize模块绘制结果。 例如:

    visualize.show_labeled_image(image, boxes, labels)

    将上面的代码与收到的图像和预测一起运行将产生如下所示的内容:

    如果您有视频,则可以在其上运行对象检测:

    visualize.detect_video(model,'input.mp4' , 'output.avi' )

    这将获取一个名为“ input.mp4”的视频文件,并根据给定模型的预测结果生成一个“ output.avi”文件。 如果使用VLC或其他视频播放器打开此文件,应该会看到一些有希望的结果!

    最后,您可以从文件中保存和加载模型,从而可以保存进度并稍后返回:

    model.save('model_weights.pth' )
    
    # ... Later ...
    
    model = core.Model.load( 'model_weights.pth' , [ 'alien' , 'bat' , 'witch' ])

    高级用法

    您会很高兴知道Detecto不仅限于5行代码。 例如,假设该模型的运行不如您希望的那样。 我们可以尝试通过使用Torchvision转换扩展我们的数据集并定义一个自定义DataLoader来提高其性能:

    from torchvision import transforms
    
    augmentations = transforms.Compose([
        transforms.ToPILImage(),
        transforms.RandomHorizontalFlip( 0.5 ),
        transforms.ColorJitter(saturation= 0.5 ),
        transforms.ToTensor(),
        utils.normalize_transform(),
    ])
    
    dataset = core.Dataset( 'images/' , transform=augmentations)
    
    loader = core.DataLoader(dataset, batch_size= 2 , shuffle= True )

    此代码对数据集中的图像应用了随机的水平翻转和饱和效果,从而增加了数据的多样性。 然后,我们使用batch_size=2定义一个DataLoader对象; 我们将其传递给model.fit而不是Dataset来告诉我们的模型对2张图像进行批处理,而不是默认的1张。

    如果您之前创建了单独的验证数据集,那么现在是在培训期间加载它的时候了。 通过提供验证数据集, fit方法将返回每个时期的损失列表,如果verbose=True ,那么它还将在训练过程本身中将其打印出来。 以下代码块演示了这一点,并自定义了其他几个训练参数:

    import matplotlib.pyplot as plt
    
    val_dataset = core.Dataset( 'validation_images/' )
    
    losses = model.fit(loader, val_dataset, epochs= 10 , learning_rate= 0.001 , 
                       lr_step_size= 5 , verbose= True )
                       
    plt.plot(losses)
    plt.show()

    损失的结果图应或多或少地减少:

    为了获得更大的灵活性和对模型的控制,您可以完全绕过Detecto。 model.get_internal_model方法返回所使用的基础火炬模型,您可以根据需要随意调整。

    结论

    在本教程中,我们展示了计算机视觉和对象检测不需要挑战。 您只需要一点时间和耐心就可以得出带有标签的数据集。

    如果您有兴趣进一步探索,请在GitHub上查看Detecto或访问文档以获取更多教程和用例!

    先前发布在https://medium.com/@alankbi/build-a-custom-trained-object-detection-model-with-5-lines-of-code-713ba7f6c0fb

    翻译自: https://hackernoon.com/build-a-custom-trained-object-detection-model-with-5-lines-of-code-y08n33vi

    模型训练平台的构建

    展开全文
  • 《基于模型训练平台快速打造AI能力》点击【阅读原文】了解更多相关信息哦~ ...

    《基于模型训练平台快速打造AI能力》

    点击【阅读原文】了解更多相关信息哦~

    展开全文
  • 当地时间7月28日至8月2日,自然语言处理领域顶级会议ACL2019在意大利佛罗伦萨召开,会上滴滴正式宣布开源基于深度学习的语音和自然语言理解模型训练平台DELTA,以进一步帮助AI开发者创建、部署自然语言处理和语音...

           当地时间7月28日至8月2日,自然语言处理领域顶级会议ACL2019在意大利佛罗伦萨召开,会上滴滴正式宣布开源基于深度学习的语音和自然语言理解模型训练平台DELTA,以进一步帮助AI开发者创建、部署自然语言处理和语音模型,构建高效的解决方案,助力NLP应用更好落地。

    滴滴自然语言处理首席科学家KevinKnight在ACL2019现场

           DELTA是滴滴第22个开源项目。自然语言处理模型和语音模型是很多AI系统与用户交互的接口,此次滴滴正式这一开源深度学习模型训练框架,旨在进一步降低开发者创建、部署自然语言处理系统和语音模型的难度。

           DELTA主要基于TensorFlow构建,能同时支持NLP(自然语言处理)和语音任务及数值型特征的训练。整合了包括文本分类、命名实体识别、自然语言推理、问答、序列到序列文本生成、语音识别、说话人验证、语音情感识别等重要算法模型,形成一致的代码组织架构,整体包装统一接口。

           用户准备好模型训练数据,并指定好配置Configuration,模型训练pipeline可以根据配置进行数据处理,并选择相应的任务和模型,进行模型训练。在训练结束之后,自动生成模型文件保存。该模型文件形成统一接口,可以直接上线使用,快速产品化,能让从研究到生产变得更容易。

           值得注意的是,除可支持多种模型的训练,DELTA还支持灵活配置,开发者可基于DELTA搭建成多达几十种的复杂的模型;此外,DELTA在多种常用任务上提供了稳定高效的benchmark,用户可以简单快速的复现论文中的模型的结果,同时也可以在此基础上扩展新的模型。在模型构建完成后,用户可以使用DELTA的部署流程工具,迅速完成模型上线。从论文到产品部署无缝衔接。

           目前AI开发者可登陆Github(DELTA)查看DELTA的详细介绍和源代码,利用DELTA加快实验进度,部署用于文本分类、命名实体识别、自然语言推理、问答、序列到序列文本生成、语音识别、说话人验证、语音情感识别等任务的系统。用户亦可在滴滴的开源平台上(https://didi.github.io/)获取更多滴滴开源项目的相关信息。

           实际上,NLP和语音技术在滴滴已经有广泛的应用。通过大量应用了包括自然语言处理、深度学习、知识图谱、语音、推荐等技术,滴滴自建了基于AI的智能客服系统,能利用人工智能技术辅助人工客服,提高人工客服处理问题的效率,并减少人工客服在重复、简单问题上的处理量。此外,基于语音识别以及自然语言理解技术,滴滴也在构建驾驶员语音助手,日本和澳洲的滴滴司机即将能用语音直接“免接触”接单。而在未来,这一语音助手也将支持全方位的语音交互服务,包括影音娱乐、信息查询、车内环境调节,到乘客通信、客服,甚至是加油、充电或维保服务。与此同时,滴滴也在积极推进相关能力的开放,通过提供一站式自然语言处理工具、一站式机器人开放平台,帮助行业合作伙伴更好地实现AI应用落地。

    展开全文
  • 我们常说的 AI 通用能力...正常 AI 模型开发过程包括数据标注,模型训练,模型部署几个流程,但是不同应用、不同企业业务场景的不同,在开发需求上会有差异,包括业务方向、预算、发展阶段、技术基础等差异,都会...
  • 不过,定制模型往往需要 AI算法科学家们搭建深度学习模型,不断地进行训练和测试才能得到。在实际工作中,业务方往往还要根据场景和数据的变化,持续进行模型改进工作。这时候,低成本快速定制并发布 AI 能力至关...
  • 快手新创建的“Persia”GPU广告模型训练平台比起传统CPU训练平台,单机训练速度提升可达几百倍,在约一小时内即可训练百T级别数据量,并能通过设计算法得到相对于传统训练平台精度更高的模型,对企业收入、计算资源...
  • 课程概要近年来,随着大数据的积累、理论算法的革新、计算能力的提升,人工智能人工智能再次受到学术界和产业界的广泛关注,并在很多应用领域取得了突破性进展。不过,定制模型往往需要 AI 算法科...
  • VideoMind模型训练平台把用户需要的开发成本和技术门槛降到了最低。把模型生产速度、操作的便捷程度和模型质量提到了最高。 目前,VideoMind已经支持四类模型训练: 场景分类模型,如识别出视频中是工厂、农田、还是...
  • ,最直接的好处的就是直接上传代码跟数据集就可以开始模型训练了,根本不用花时间安装驱动,配置环境这些方面,可以将大部分的精力都放在模型调整上面了。   目前支持的API接口是TensorFlow / Python ,其他...
  • ai 模型训练 Google ML教程 (Google ML tutorials) Welcome to the first article in this series about doing Machine Learning stuff on the Google Cloud Platform! 欢迎阅读本系列的第一篇有关在Google Cloud ...
  • Hadoop平台语言模型训练基础 ;参考定义云计算Cloud Computing是一种商业模型它将计算任务分布在大量计算机构成的资源池上使用户能够按需获取计算力存储空间和信息服务 特点 1超大规模 2虚拟化 3高可靠性多副本容错? ...
  • 语音自训练平台4月份公测以来,有1000多名用户创建了1600+模型,涉及医疗、金融、农业、教育、餐饮、物流、建筑、地产等多个行业,模型上线后应用到业务数据采集录入、音频关键词质检、智能语音助手、呼叫中心等多个...
  • 内有四个分类,分别是苹果、香蕉、橘子以及混合水果。 该压缩包可直接上传至百度EasyDL平台进行模型训练
  • Maixhub 模型训练平台 Maixhub 模型训练平台使用说明 vott安装 vott安装包 MaixPy IDE安装 MaixPy IDE 安装包 提取码:8ykb 照片采集 一开始我用的是手机拍的做模型,可以用,但是精确度不如直接用K210拍摄的好。 ...
  • PyTorch 预训练模型,保存,读取和更新模型参数以及多 GPU 训练模型转载 极市平台 9月10日目录1.... 模型训练与测试的设置训练时,应调用 model.train() ;测试时,应调用 model.eval(),以及 with torch.no_grad()...
  • 通过样本增强和格式转换,我们现在终于可以开始进行模型训练和调试了,这里也没什么好说的,就是用经典的Mask R-CNN模型,网上有很多地方可以下载,但是最好去github进行下载,我会在文章最后附上下载地址,包括模型...
  • <div><p>SimNet通过PaddlePaddle 平台训练模型 怎么加入AnyQ的model 系统中 我直接放到anyQ的conf/simnet下启动anyQ报错</p><p>该提问来源于开源项目:baidu/AnyQ</p></div>
  • 模型训练 # -*- coding: utf-8 -*- from __future__ import print_function import os import oss2 import re from tqdm import tqdm from io import BytesIO from PIL import Image import torch i.
  • 百度AI开放平台学习——EasyDL经典版-图像分类模型训练与验证 前言 EasyDL是百度的一个在线机器学习训练与验证的平台。有三个不同的版本,这次我们使用的是经典版。主要任务是识别鬼灭之刃的炭治郎 这次使用的是Easy...
  • CSDN实验平台常见分类模型章节训练步骤 DenseNet Cifar10数据集,需要我们自己下载 链接:https://pan.baidu.com/s/1sTnwUf9Yq8Kyhs97s26d1A 提取码:ek4y 下载之后上传到实验平台我的云盘上
  • 前言 :用Colab训练自己的模型的方法是,先将自己的项目代码上传到goole云盘,然后通过Colab挂载,使其能访问自己的项目代码,然后在ipynb中用命令行执行。 1 设置使用GPU资源 2 挂载Google云盘 方法一,直接点击...
  • 致小白的K210模型训练与运用

    千次阅读 多人点赞 2021-01-26 12:00:38
    致小白的K210模型训练与运用 文章目录致小白的K210模型训练与运用前言一、模型训练方法二、详细介绍1.使用MixHub平台进行训练2.使用Mx-yolov3自己搭建平台进行训练3.V3模型4.V4模型 前言 由于我也是刚接触K210不久...
  • 我们提出Tune,一个模型选择和训练的统一框架,提供训练脚本和搜索算法之间的窄腰接口。我们证明该接口满足各种超参数搜索算法的要求,允许直接将搜索扩展到大型集群,并简化算法实现。我们演示了Tune中几种最...
  • 一、CIFAR-10数据模型训练 1.下载二进制的cifar文件   cd $CAFFE_ROOT ./data/cifar10/get_cifar10.sh   说明:该脚本会下载二进制的cifar,并解压,会在/data/cifar10中出现很多batch文件,如下图所示: ...
  • 生产级,端到端视觉AI平台,具有用于模型构建,自动标记,数据处理,模型训练和超参数调整的完全集成模块。 为什么选择Onepanel? 用于生产规模视觉AI的端到端工作流和基础架构自动化 同类最佳的开源深度学习工具...
  • DIGITS (theDeep LearningGPUTrainingSystem) is a webapp for training deep learning models. The currently supported frameworks are: Caffe, Torch, and Tensorflow. github https://github.com/NVIDIA/D...
  • 免费的机器学习资源平台,自己电脑跑不动的模型,可以尝试在谷歌colab平台跑实验,不过感觉还是比不上阿里天池的机器资源,人家可是16G的内存呀!不过感觉人家这个更加方便。 谷歌云盘 谷歌这个colab是基于云盘的,...
  • 我们提出了一个统一的模型选择和训练框架Tune,它在训练脚本和搜索算法之间提供了一个窄腰接口。结果表明,该接口能够满足大范围超参数搜索算法的要求,可以直接将搜索扩展到较大的集群上,并简化了算法的实现...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,724
精华内容 1,089
关键字:

模型训练平台