相信不少开发者已经或多或少对百度EasyDL有所耳闻或有所尝试,作为零算法基础实现图像分类和物体检测的”神器”,支持使用少量训练数据,使用通用算法训练,就能很快得到一个图像分类模型。最近百度EasyDL又增加了新的算法AutoDL Transfer (高精度算法)。AutoDL Transfer是百度研发的AutoDL技术之一,结合模型网络结构搜索、迁移学习技术、并针对用户数据进行自动优化的模型,与通用算法相比,训练时间稍长,但更适用于图像的细分类场景,例如,通用算法可适用于区分猫和狗,但如果要区分不同品种的猫,则AutoDL效果会更好。下面我们通过实例来看下这两种算法的应用场景。

不知道大家平时养不养狗,现在大街上狗的品种是真的多,很多都是看着眼熟,如果想准确的叫出名字还真不太容易。笔者利用手里的一些狗的数据来进行训练,看看高精度算法和通用算法的区别。

第一步,登录百度EasyDL,ai.baidu.com/easydl。里面有使用的步骤,还是挺清楚的;

第二步,创建模型、创建数据集。相信使用过EasyDL的朋友对如何创建已经了解了,本文就不详细介绍操作步骤了;

第三步,训练模型,笔者先只添加2个分类共400多张图像(单个分类数据量较丰富)作为训练数据,分别是萨摩耶和博美,在笔者看来这两种犬类从外观特征来看差异很小(忽略体型大小),经常会分不清。

算法上选择通用算法,训练方式默认,然后点击训练。因为数据量较少,不出1个小时,模型就训练好了,我们来看看效果。

Top1的准确率达到了98.49%,通用算法的表现非常不错。那使用AutoDL高精度算法会不会表现得更好呢。接下来我们使用AutoDL算法进行训练看看。

选择百度AutoDL Transfer算法,点击训练。原以为AutoDL会慢一些,结果还是不出一小时就很快完成了训练,我们来看一下效果是不是更好。

结果让笔者很意外,Top1准确率是87.94%,比通用算法的准确率要低一点了。

笔者决定再通过增加分类数量来检验一下两种算法的效果。这次的分类数量提高到了100多种,包含了上万张图像。我们分别用通用算法和百度AutoDL高精度算法进行了训练,因为数据量比较大,这次训练的时间稍微有些长。

采用通用算法的模型准确率是84.25%,而采用百度AutoDL高精度算法的模型准确率是86.88%,这次从准确率来看,高精度算法效果更好。

百度AutoDL算法是以迁移学习为基础的,而迁移学习是机器学习的明天,相比深度学习可以用少量的数据训练出适合的模型。

笔者从网上搜了一张全新的博美狗图像,然后分别用通用和高精度算法来检验模型效果,结果发现采用高精度算法两个训练版本(V2&V4)要比采用通用算法两个版本(V1&V3)准确度更高,这说明 AutoDL高精度算法的分类效果还是非常出色的。

在区分猫和狗这样差异较大的样本时,通用算法性价比更高。而在区分狗的品种这样有大量分类且样本差异更小的场景下,通用算法“举一反三”的能力就相对较弱了,这时候百度AutoDL高精度算法的效果更出色。

作者:郭晶

EasyDL的哪种算法更适合你的图像分类应用的更多相关文章

  1. RAID5和RAID10,哪种RAID更适合你(上)

    [IT168 专稿]存储是目前IT产业发展的一大热点,而RAID技术是构造高性能.海量存储的基础技术,也是构建网络存储的基础技术.专家认为,磁盘阵列的性能优势得益于磁盘运行的并行性,提高设备运行并行度 ...

  2. 阅读:RAID5和RAID10,哪种RAID更适合你

    阅读:RAID5和RAID10,哪种RAID更适合你-------------------------------------------2013/10/06 存储是目前IT产业发展的一大热点,而RA ...

  3. 转载:RAID5和RAID10,哪种RAID更适合你

    转自 http://storage.it168.com/h/2007-06-28/200706281204046_3.shtml 存储是目前IT产业发展的一大热点,而RAID技术是构造高性能.海量存储 ...

  4. web前端开发培训和自学 哪种选择更适合你

    web前端相对于其他软件开发是比较容易入门的,但是如果深入学习就比较困难了,这门技能需要从业人员掌握一定的设计.代码.交互技能和一些SEO技能,容易入门还涉及这么多知识和技能,那学习web前端开发到底 ...

  5. Ember.js和Vue.js,哪种框架更适合你?

    JavaScript最初是为Web应用程序而创建的.随着前端技术的发展,比起纯JavaScript 脚本,大多数开发人员更喜欢使用基于JavaScript的框架来开发Web应用,如Vue.React等 ...

  6. 哪种方式更适合在React中获取数据?

    作者:Dmitri Pavlutin 译者:小维FE 原文:dmitripavlutin.com 国外文章,笔者采用意译的方式,以保证文章的可读性. 当执行像数据获取这样的I/O操作时,你必须发起获取 ...

  7. B树、B-树、B+树、B*树介绍,和B+树更适合做文件索引的原因

    今天看数据库,书中提到:由于索引是采用 B 树结构存储的,所以对应的索引项并不会被删除,经过一段时间的增删改操作后,数据库中就会出现大量的存储碎片, 这和磁盘碎片.内存碎片产生原理是类似的,这些存储碎 ...

  8. B+树比B树更适合实际应用中操作系统的文件索引和数据库索引

    B+树比B树更适合实际应用中操作系统的文件索引和数据库索引 为什么选择B+树作为数据库索引结构?   背景 首先,来谈谈B树.为什么要使用B树?我们需要明白以下两个事实: [事实1]不同容量的存储器, ...

  9. nignx 负载均衡的几种算法介绍

    负载均衡,集群必须要掌握,下面介绍的负载均衡的几种算法.   1 .轮询,即所有的请求被一次分发的服务器上,每台服务器处理请求都相同,适合于计算机硬件相同.   2.加权轮询,高的服务器分发更多的请求 ...

随机推荐

  1. CentOS 7使用yum快速搭建LAMP环境

    1.安装Apache [root@localhost ~]# yum -y install httpd # 开机自启动 [root@localhost ~]# chkconfig httpd on # ...

  2. C#图片灰度处理(位深度24→位深度8),用灰度数组byte[]新建一个8位灰度图像Bitmap 。

    原文:C#图片灰度处理(位深度24→位深度8) #region 灰度处理 /// <summary> /// 将源图像灰度化,并转化为8位灰度图像. /// </summary> ...

  3. Android零基础入门第79节:Intent 属性详解(上)

    Android应用将会根据Intent来启动指定组件,至于到底启动哪个组件,则取决于Intent的各属性.本期将详细介绍Intent的各属性值,以及 Android如何根据不同属性值来启动相应的组件. ...

  4. delphi中最小化其他程序及所有程序最小化(使用 shell.minimizeAll 和自己寻找窗口这两种办法)

    1.所有程序最小化 uses ComObj;   var    shell : OleVariant; begin      shell := CreateOleObject('Shell.Appli ...

  5. RIO的性能

    看了一下微软官网RIO没有达到四五倍的宣称(而且必须在windows 2012r2才可以)最多一倍github.com/aspnet/benchmarks测试代码可以从github.com/zelia ...

  6. Qt4.7.4下单独编译QtWebkit

    最近编译出了Qt4.7.4的嵌入式版本,但没有编译QtWebkit库.在编译一个使用Webkit的工程时出错,而根据工程的需要,要单独编译QtWebkit库.    由于不想再次编译整个的Qt库,于是 ...

  7. c# 文本超长截断

    根据控件大小进行截断 private void SetStringTruncat(Static.LabelEx lbl) { string oldStr = lbl.Text; if (string. ...

  8. C#基础原理拾遗——引用类型的值传递和引用传递

    以前写博客不深动,只搭个架子,像做笔记,没有自己的思考,也没什么人来看.这个毛病得改,就从这一篇开始- 最近准备面试,深感基础之重要,奈何我不是计算机科班出身,基础方面有些捉襟见肘.短期怎么补?做面实 ...

  9. 安装使用Cloudera Impala

    安装与使用Cloudera Impala Cloudera Impala提供快速的.交互式的SQL查询方式,直接基于Apache Hadoop存储在HDFS或HBase中的数据进行查询.除了使用与Ap ...

  10. 转载 make版MYsql 5.5.13

    使用cmake安装mysql5.5.132014-04-09 12:59:42 分类: Mysql/postgreSQL 原文地址:使用cmake安装mysql5.5.13 作者:isqlw 安装cm ...