0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

商汤和港中大开源了基于PyTorch的检测库——mmdetection

电子工程师 来源:未知 作者:李倩 2018-10-19 09:15 次阅读

近日,香港中文大学-商汤联合实验室开源了基于 PyTorch 的检测库——mmdetection。上个月,商汤和港中大组成的团队在 COCO 比赛的物体检测(Detection)项目中夺得冠军,而 mmdetection 正是基于 COCO 比赛时的 codebase 重构。

商汤称,这个开源库提供了已公开发表的多种视觉检测核心模块。通过这些模块的组合,可以迅速搭建出各种著名的检测框架,比如 Faster RCNN,Mask RCNN,和 R-FCN 等,以及各种新型框架,从而大大加快检测技术研究的效率。

目前,mmdetection 的第一个版本已经实现了 RPN,Fast R-CNN,Faster R-CNN,Mask R-CNN,近期还计划放出 RetinaNet 和 Cascade R-CNN。

项目地址:

https://github.com/open-mmlab/mmdetection

此次项目的参与者,香港中文大学陈恺博士称,相比 FAIR 此前开源的 Detectron,mmdetection 有以下几大优势:

编者注:Detectron 是 FAIR 用于实现最先进的目标检测算法(包括 Mask R-CNN)的软件系统。该系统基于深度学习框架 Caffe 2 ,由 Python 编写而成。(《Mask R-CNN 源代码终上线,Facebook 开源目标检测平台—Detectron》)

Performance 稍高:由于 PyTorch 官方 model zoo 里面的 ResNet 结构和 Detectron 所用的 ResNet 有细微差别(mmdetection 中可以通过 backbone 的 style 参数指定),导致模型收敛速度不一样,所以我们用两种结构都跑了实验,一般来说在 1x 的 lr schedule 下 Detectron的会高,但 2x 的结果 PyTorch 的结构会比较高。

训练速度稍快:Mask R-CNN 差距比较大,其余的很小。采用相同的 setting,Detectron 每个 iteration 需要 0.89s,而 mmdetection 只需要 0.69s。Fast R-CNN 比较例外,比 Detectron 的速度稍慢。另外在我们的服务器上跑 Detectron 会比官方 report 的速度慢 20% 左右,猜测是 FB 的 Big Basin 服务器性能比我们好?

所需显存稍小:显存方面优势比较明显,会小 30% 左右。但这个和框架有关,不完全是 codebase 优化的功劳。一个让我们比较意外的结果是现在的 codebase 版本跑 ResNet-50 的 Mask R-CNN,每张卡(12 G)可以放 4 张图,比我们比赛时候小了不少。

易用性更好:基于 PyTorch 和基于 Caffe2 的 code 相比,易用性是有代差的。成功安装 Detectron 的时间,大概可以装好一打的 mmdetection 吧。

当然,陈恺博士也承认 Detectron 也有一些明显优势,“作为第一个全面的 detection codebase,加上 FAIR 的金字招牌,关注人数和用户很多(虽然吐槽也比较多),release 的模型也比较全面。我们也在努力扩充 model zoo,奈何人力和算力还是有很大差距,所以还需要时间。”

与 mmdetection 一起开源的还有一个基础库——mmcv。据陈恺博士介绍, mmcv 基础库主要分为两个部分:一部分是和 deep learning framework 无关的一些工具函数,比如 IO/Image/Video 相关的一些操作;另一部分是为 PyTorch 写的一套训练工具,可以大大减少用户需要写的代码量,同时让整个流程的定制变得容易。

项目地址:

https://github.com/open-mmlab/mmcv

实际上,mmdetection 和 mmcv 都同属于香港中文大学多媒体实验室的 Open-MMLab 计划。港中大助理教授林达华称,启动 Open-MMLab 计划,是希望在一个统一的代码架构上,逐步开放实验室积累的算法和模型,为计算机视觉的研究社区贡献自己的一分力量。以下是简单说明:

1. 这是一个纯粹的学术开源计划,所开放的都是已经公开发表的算法和模型(包括我们自己和其它研究组提出的代表性算法),不涉及任何的商业化技术。

2. 我们希望这个计划能够降低算法复现的难度,和不必要的重复实验与训练,从而让使用者能够专注于新问题的提出、新思路的探索,而不需要花费主要精力用于已有算法组件的细节调试。

3. 我们在开放的 codebase 中会对现有的主流算法框架进行重构,把它们分解为可复用的组件。希望未来的研究者可以基于这些组件,能迅速建立新的算法框架原型,加快探索的进度。

4. 我们希望 Open-MMLab 成为一个学术交流和探讨的渠道。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 深度学习
    +关注

    关注

    73

    文章

    5507

    浏览量

    121266
  • pytorch
    +关注

    关注

    2

    文章

    808

    浏览量

    13249

原文标题:港中大、商汤开源目标检测工具包mmdetection,对比Detectron如何?

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    利用Arm Kleidi技术实现PyTorch优化

    PyTorch 是一个广泛应用的开源机器学习 (ML) 。近年来,Arm 与合作伙伴通力协作,持续改进 PyTorch 的推理性能。本文将详细介绍如何利用 Arm Kleidi 技术
    的头像 发表于 12-23 09:19 198次阅读
    利用Arm Kleidi技术实现<b class='flag-5'>PyTorch</b>优化

    PyTorch 数据加载与处理方法

    PyTorch 是一个流行的开源机器学习,它提供强大的工具来构建和训练深度学习模型。在构建模型之前,一个重要的步骤是加载和处理数据。 1. Py
    的头像 发表于 11-05 17:37 433次阅读

    如何在 PyTorch 中训练模型

    PyTorch 是一个流行的开源机器学习,广泛用于计算机视觉和自然语言处理等领域。它提供强大的计算图功能和动态图特性,使得模型的构建和调试变得更加灵活和直观。 数据准备 在训练模型
    的头像 发表于 11-05 17:36 356次阅读

    如何使用 PyTorch 进行强化学习

    强化学习(Reinforcement Learning, RL)是一种机器学习方法,它通过与环境的交互来学习如何做出决策,以最大化累积奖励。PyTorch 是一个流行的开源机器学习,它提供
    的头像 发表于 11-05 17:34 325次阅读

    pytorch怎么在pycharm中运行

    第一部分:PyTorch和PyCharm的安装 1.1 安装PyTorch PyTorch是一个开源的机器学习,用于构建和训练神经网络。要
    的头像 发表于 08-01 16:22 1488次阅读

    pycharm如何调用pytorch

    引言 PyTorch是一个开源的机器学习,广泛用于计算机视觉、自然语言处理等领域。PyCharm是一个流行的Python集成开发环境(IDE),提供代码编辑、调试、测试等功能。将
    的头像 发表于 08-01 15:41 645次阅读

    pytorch环境搭建详细步骤

    、创建虚拟环境、安装PyTorch及其依赖、配置PyCharm等。 一、安装Anaconda Anaconda是一个开源的Python和R语言的分布式版本控制系统,旨在简化包管理和部署。它包含
    的头像 发表于 08-01 15:38 871次阅读

    pytorch中有神经网络模型吗

    处理、语音识别等领域取得了显著的成果。PyTorch是一个开源的深度学习框架,由Facebook的AI研究团队开发。它以其易用性、灵活性和高效性而受到广泛欢迎。在PyTorch中,有许多预训练的神经网络模型可供选择,这些模型可以
    的头像 发表于 07-11 09:59 723次阅读

    PyTorch神经网络模型构建过程

    PyTorch,作为一个广泛使用的开源深度学习,提供丰富的工具和模块,帮助开发者构建、训练和部署神经网络模型。在神经网络模型中,输出层是尤为关键的部分,它负责将模型的预测结果以合适
    的头像 发表于 07-10 14:57 522次阅读

    PyTorch的介绍与使用案例

    PyTorch是一个基于Python的开源机器学习,它主要面向深度学习和科学计算领域。PyTorch由Meta Platforms(原Facebook)的人工智能研究团队开发,并逐渐
    的头像 发表于 07-10 14:19 415次阅读

    tensorflow和pytorch哪个更简单?

    : TensorFlow和PyTorch都是用于深度学习和机器学习的开源框架。TensorFlow由Google Brain团队开发,而PyTorch由Facebook的AI研究团队开发。 易用性:
    的头像 发表于 07-05 09:45 905次阅读

    解读PyTorch模型训练过程

    PyTorch作为一个开源的机器学习,以其动态计算图、易于使用的API和强大的灵活性,在深度学习领域得到了广泛的应用。本文将深入解读PyTorch模型训练的全过程,包括数据准备、模型
    的头像 发表于 07-03 16:07 1099次阅读

    PyTorch的特性和使用方法

    PyTorch是一个开源的Python机器学习,由Meta Platforms(前身为Facebook)的人工智能研究团队开发,并于2017年1月正式推出。PyTorch基于Torc
    的头像 发表于 07-02 14:27 578次阅读

    如何使用PyTorch建立网络模型

    PyTorch是一个基于Python的开源机器学习,因其易用性、灵活性和强大的动态图特性,在深度学习领域得到了广泛应用。本文将从PyTorch的基本概念、网络模型构建、优化方法、实际
    的头像 发表于 07-02 14:08 431次阅读

    PyTorch与PyCharm的区别

    在深入探讨PyTorch与PyCharm的区别时,我们首先需要明确两者在计算机科学和数据科学领域中的不同定位和功能。PyTorch是一个开源的深度学习,而PyCharm则是一款功能强
    的头像 发表于 07-02 12:36 3193次阅读