为了账号安全,请及时绑定邮箱和手机立即绑定

图像分类任务中,Tensorflow 与 Keras 到底哪个更厉害?

标签:
Cocos2d-x

本文为 AI 研习社编译的技术博客,原标题 Tensorflow Vs Keras? — Comparison by building a model for image classification,作者为DataTurks: Data Annotations Made Super Easy。

翻译 | shunshun    整理 |  凡江

webp

是的,标题中的问题在数据科学家之间的谈话中是很常见。有人说TensorFlow更好,有人说Keras更好。让我们看看这个问题在图像分类的实际应用中的答案。

在此之前,先介绍Keras和Tensorflow这两个术语,帮助你在10分钟内构建强大的图像分类器。

Tensorflow:

Tensorflow是开发深度学习模型最常用的库。它是有史以来最好的库,在日常实验中被许多极客选择。如果我说Google已经将Tensor Processing Units(TPU)用于处理张量,你能想象吗?是的,他们已经这样做了。他们提出了一个名为TPU的独立实例,它具有最强大的功率驱动计算能力来处理tensorflow的深度学习模型。

是时候做一个了!

我现在将帮助你使用tensorflow创建一个功能强大的图像分类器。等等!什么是分类器?这只是一个简单的问题,你向你的tensorflow代码询问,给定的图像是玫瑰还是郁金香。所以,首先的首先,让我们在机器上安装tensorflow。官方文档有两个版本,即CPU和GPU版本。对于CPU版本:

webp

请注意,我是在GPU上而非CPU上进行实验后才写的这篇博客。这里给出了详细的GPU安装。  

webp

现在,让我们采用Google的Tensorflow进行实验来训练模型。谷歌的这个仓库有许多令人惊叹的处理图像的简单实验的脚本。它非常简洁,足以满足我们的目的。还记得前面我用过“强大”这个词吗?是的,当我们使用称为迁移学习的方法时,这个词就会生效。迁移学习是一种有效的方式,它使用预训练模型,这些模型已经训练了几天或几周,然后改变最后一层以适应我们自己的类别。

Inception V3是一个非常好的模型,在[2015 ImageNet Challenge](http://image-net.org/challenges/LSVRC/2015/results)图像分类竞赛中排名第二。当数据集的每个类别具有较少图像数量时,它被提及为迁移学习的最佳网络。

webp

 Inception V3

现在克隆git仓库:

webp

现在,你可以选择图像。你所要做的就是以下面的方式存储数据集文件夹。

webp

webp

  FLOWER DATA

它看起来应该像上面图那样(忽略image.py)。通过下面代码获得flower_photos文件夹:

webp

创建数据

你可以使用任何你喜欢的图像。越多越好(目标是几千)。向上面文件夹格式那样以类别将它们分开,并确保它们在一个名为tf_files的文件夹中。

你可以下载已经存在的有多种任务使用的数据集,如癌症检测,权力的游戏中的人物分类。这里有各种图像分类数据集。

或者,如果你有自己独特的用例,则可以为其创建自己的数据集。你可以从网上下载图像并立即制作大型数据集,使用像Dataturks这样的注释工具,你可以手动上传图像并标记图像。更好的是,Dataturks的输出可以很容易地用于构建tf_files。

webp

                             使用Dataturks创建数据

我发现了一个很棒的插件,可以在Google Chrome上批量下载图像。这个和Dataturks将使构建训练数据变得轻而易举。链接在这里。

您可以尝试使用dataturks的image_classification工具执行此操作。这里该工具提供的最佳功能是,如果我们有一个非结构化数据集,其中所有图像都在一个文件夹中。通过手动标记图像的类别,你可以下载一个json文件,该文件包含嵌入其中的类的图像的所有详细信息。然后使用下面给出的keras和tensorflow脚本:

webp

训练

现在是时候训练模型了。在tensorflow-for-poets-2文件夹中,有一个名为scripts的文件夹,它包含重新训练模型所需的一切。retrain.py有一种特殊的裁剪和缩放图像的方式,非常酷。

webp

 然后使用以下命令训练,选项名称本身描述所需的训练路径的位置。

webp

这将下载inception模型并使用training文件夹和给定的参数训练最后一层。我使用12GB Nvidia Tesla k80和7GB Vram在GCP实例上训练了4000步。

webp



作者:AI研习社
链接:https://www.jianshu.com/p/d139dccdaacb


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消