您正在使用IE低版浏览器,为了您的雷峰网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
此为临时链接,仅用于文章预览,将在时失效
人工智能开发者 正文
发私信给奕欣
发送

0

GluonCV — 计算机视觉的深度学习工具包

本文作者:奕欣 2018-04-29 08:20
导语:开发 MXNet 时候感觉最难的是什么。我会毫不犹豫的觉得「重复论文里的实验结果」是最困难的一点。

雷锋网 AI 科技评论按:本文首发于 ApacheMxNet,作者李沐, AI 科技评论获作者授权转载,经不改动原意的编辑。

GluonCV — 计算机视觉的深度学习工具包

起源

有人曾问我,开发 MXNet 时候感觉最难的是什么。我会毫不犹豫的觉得「重复论文里的实验结果」是最困难的一点。举三个例子:

  • Lin Min(Network in network 提出者)在 16 年的时候发现 MXNet 在 ImageNet 上面训练的模型精度比 Torch 低 1%。为了 debug 这个事情甚至开发了一个插件可以在 MXNet 跑任意 Torch 的代码来对比结果。最后发现原因是我们图片裁剪后默认使用 JPEG 的 85 质量保存,改成 95 质量就可以补上丢掉的精度了。

  • 在 Inception V3 论文出现后 Bing Xu(GAN 的作者之一)第一时间去重复这个工作。因为 Google 没有公开代码,而且论文里面细节不明确。幸好认识原论文作者可以问问题,但前后也花了好些天才重复实现出来。

  • 我在 CMU 的博士导师之一(他在 Google 报告给 Jeff Dean)曾在一次报告里面说,他参与了一个内部的从 TensorFlow 前一代系统移植代码的工作,发现在 TensorFlow 上精度死活丢了个点。前后花费了好几个月时间找问题,最后发现是移植的代码在使用图片增强的时候顺序跟原先不一样。

三个例子的主人公都是顶尖的深度学习领域研究人员,但仍然很容易被一些细微的实验细节耗费大量宝贵的时间。一个模型通常多达数十到数百层,不管是模型初始化和数据读取都是随机,每次训练也需数个小时,这些都让 debug 变得很困难。

当然,幸运的是,最近这些年随着开源的深入人心,很多论文都可以找到开源的实现。对于大部分用户来说不需要自己从头开始实现一篇论文,去 Github 找个实现用就行了。但这个并不能解决所有问题:

  1. 网上的实现良莠不齐,很多都是新人练手之做。可能一大半不能重复出论文的结果

  2. 每个项目的实现多多少少有点不同,例如输入数据格式,用什么样的深度学习框架,代码风格不一样。每换一个项目上手成本很大。

  3. 个人维护的项目通常只关注在某些地方,例如只关心某个数据集上的训练。但实际使用的时候大家会关心如何部署,如何换一个数据集训练之类。需要花费时间做二次开发。

  4. 最后代码维护者很容易弃坑。例如我博士期间写过一些项目,但之后工作和生活重心转移,没有精力才去回复用户的提问。对于用户来说,如果碰到一个坑,如果不能很快的沟通维护者,很容易导致被小地方困住大量时间。

理解到这些痛点后我们几位从事计算机视觉的小伙伴,Zhi Zhang (@zhreshold), Hang Zhang (@zhanghang1989), Tong He (@hetong007), Eric Xie (@piiswrong), 拍了拍脑袋说,那我们来动手做一个工具包来试着解决这些问题吧。

这个工具包会对你有用吗

我们想做一个不仅仅是资深用户(数年计算机视觉经验)能用的工具包,而是一个能帮助更加广泛用户(数月计算机视觉经验)的项目。他们包括

  1. 希望能将视觉技术快速应用到产品的工程师

  2. 希望提出新算法的研究者

当然,如果你刚开始学习,请参考《动手学深度学习》,或者你对计算机视觉外的应用感兴趣,请期待我们之后发布的工具包。

所以,里面到底有什么

基于我们的用户假设,这个工具包提供如下的功能:

  1. 最近几年重要论文的复现

  2. 详细文档提供使用说明和代码讲解

  3. 提供预训练的模型可以直接使用

  4. 性能评测,方便大家在不同模型之间做取舍

  5. 每个模型实现和接口尽量保证一致性,降低使用新模型的学习门槛

  6. 定时做重新训练保证代码正确性(嗯,我们用 AWS 不用钱)

  7. 中文社区

给个代码看看

下面一段代码下载预训练好的 SSD 模型然后对图片 street.jpg 进行物体检测并展示结果。

GluonCV — 计算机视觉的深度学习工具包

GluonCV — 计算机视觉的深度学习工具包

项目在哪里

GluonCV 发布在 http://gluon-cv.mxnet.io。目前我们发布了第一个预览版本,其中主要包括了三个模型,均可以重复论文结果

  • 图片识别:在 ImageNet 上训练 ResNet

  • 物体检测:在 Pascal VOC 上训练 SSD

  • 语义分割:在 Pascal VOC 上训练 FCN

自然我们会在接下来的版本里不断加入新的模型。如果对哪些模型特别感兴趣,请原文链接给我们留言。

下一步

扫描或者长按下面 QR 码来关注我们:

GluonCV — 计算机视觉的深度学习工具包

公众号里回复下面关键词获取信息:

  • 课程 --《动手学深度学习》课程视频汇总

  • 论坛 -- 深度学习论坛地址

  • 资源 -- 所有中文资源汇总

请点击下面链接来参与公开讨论:

https://discuss.gluon.ai/t/topic/6081

雷峰网版权文章,未经授权禁止转载。详情见转载须知

GluonCV — 计算机视觉的深度学习工具包

分享:
相关文章
当月热门文章
最新文章
请填写申请人资料
姓名
电话
邮箱
微信号
作品链接
个人简介
为了您的账户安全,请验证邮箱
您的邮箱还未验证,完成可获20积分哟!
请验证您的邮箱
立即验证
完善账号信息
您的账号已经绑定,现在您可以设置密码以方便用邮箱登录
立即设置 以后再说