超实用!Google AutoML 图像分类模型全在这!
来源 | Seve
编译 | 火火酱 责编| Carol
出品 | AI科技大本营(ID:rgznai100)
在本教程中,我将向大家展示如何在Google AutoML中创建单个标签分类模型。我们将使用来自generate.photos的AI生成的面孔数据集。通过算法训练来判断一张脸是男性还是女性。之后,我们会将模型部署到云中,并创建该算法的Web浏览器版本。
generate.photos:
https://generated.photos/
获取标签
下面,就让我们开始吧!首先,让我们看一下要分类的数据。总共约有2,000张人脸照片。
数据下载链接:
https://wao.ai/blog/single-label-image-classification-google-automl
很难相信这些面孔是假的对吧!那么,现在让我们获取ground truth标签来对算法进行训练吧。首先创建图片分类作业,我们可以借助wao.ai来迅速完成此操作,你可以通过下方视频链接了解该过程。
wao.ai:https://wao.ai/
视频链接:https://www.youtube.com/watch?v=adjwhyqdXOM
工作完成后,我们会获得一个包含ground-truth标签的CSV文件。
CSV文件下载链接:
https://wao.ai/blog/single-label-image-classification-google-automl
建立项目
现在可以开始使用Google AutoML了。接下来,我们将在Google AutoML上创建一个数据集,并开始训练我们的模型。
如果你还没有账户,请先在Google Cloud Platform上创建一个帐户。然后,我们需要创建一个新项目。
创建项目后,我们可以使用顶部的侧边栏或搜索栏导航到Google AutoML。你可能需要启用一些API并设置好结算功能,GCP会引导你完成该过程。
接下来,点击“图像分类(Image Classification)”。
然后我们将会进入“数据集(Dataset)”界面。在该界面中,单击“创建新数据集(Create New Dataset)”,并填写数据集的一些详细信息以进行训练。
格式化输入数据
现在我们将自己的数据放入Google Cloud Platform。所有数据都必须位于GCP存储桶中。因为我们的数据集太大,所以浏览器界面无法正常工作。
但是,GCP命令行工具应该可以正常运行。你也可以安装Google Cloud SDK(其中包括命令行工具)。
Google Cloud SDK下载链接:
https://cloud.google.com/sdk/
现在,我们只需要执行gsutil cp -r path / to / faces gs:// YOUR_BUCKET / faces即可将文件移到存储桶中。确保将YOUR_BUCKET更改为为你创建的存储库的名称(在下面的截图中,我的存储库名称为woven-icon-263815-vcm)。
接下来,我们要将ground-truth标签CSV从wao.ai转换为AutoML期望的CSV输出。
(wao.ai:https://wao.ai/)
我们的原始CSV如下图所示:
为了方便使用Google AutoML,我们需要将其转换为:
我在ipython终端中使用Pandas DataFrame进行了此操作(如下图所示):
Pandas:https://pandas.pydata.org/
完成创建数据集
现在,我们有了Google AutoML所需格式的CSV,就可以完成创建自己数据集的准备工作了。
将我们创建的新CSV上传到你的存储库中,然后在“导入数据集(Import Dataset)”界面中选择该库。
导入数据后,你可以从浏览器中查看所有的图像和标签。
创建模型
在本节中,我们将创建一个运行在GCP上的云模型,该模型具有易于使用的API以及可以导出到Tensorflow并在本地或本地托管的移动设备和浏览器上运行的Edge模型。
1. 训练云模型
导航到“训练(TRAIN)”选项卡,然后单击“开始训练(START TRAINING)”。我使用了所有的默认选项。
几个小时后,模型完成,并概述了模型的性能和所用的预算(我分配的全部是16小时)。
2. 训练“边缘”模型(可以在任何地方运行的模型)
创建边缘模型的方法基本相同,只需单击“边缘(Edge)”而不是“云(Cloud)”即可。当创建边缘模型时,你可以优化其速度或精度。因为我想将边缘模型与云模型进行比较,所以我决定对精度进行优化。
结果
在“评估(EVALUATE)”选项卡中,我们能够看到模型的执行效果。云模型的准确率为94.5%。边缘模型的准确率为95.5%。让我惊讶的是,云模型的表现竟然稍差一些,特别是考虑到它的培训成本要更高之后!
总的来说,我对两个模型的性能都很满意。由混淆矩阵可知,云模型在预测男性时出错较多,而边缘模型的失误率则更均匀。
云模型性能
在下面的屏幕截图中,你可以看到云模型的混乱矩阵,以及AutoML报告的一些统计信息。它在预测女性方面略优于男性。
边缘模型性能
在以下截图中,你可以看到边缘模型的混淆矩阵以及AutoML报告的一些统计数据。边缘模型在预测男性方面略胜一筹!
边缘案例
Google AutoML为你提供了模型在哪些方面表现良好以及哪些地方出错的细目。和我的keras模型一样,儿童和不寻常的面部角度都是个问题。以下屏幕截图中显示了误报的案例。
部署模型
既然我们已经获得了满意的模型,那么我们就该应用一下了!我们的云模型可以部署在GCP上,Edge模型可供下载并同Tensorflow一起运行。让我们一起来探索云模型和边缘模型的部署吧。
云部署
导航到“测试&使用(TEST&USE)”选项卡,然后单击“部署模型(DEPLOY MODEL)”按钮。为了进行测试,我决定只部署到一个节点。部署该模型大约花费一个小时。
云模型公开了一个易于使用的API,你可以在其中上传一个简单的JSON对象并接收到一组带有返回概率的预测。对我来说,这是简单且完美的集成API。
我们还可以直接在浏览器中使用API并检查结果。我从训练集中上传了一些面部照片,看起来效果还不错!总的来说,如果你有能力在后台运行云实例,那么我认为这是一个非常易于使用的API。
边缘部署
对于边缘部署,我们有多种下载模型的方法。每种方法都非常强大:
TF Lite:允许你在移动设备上运行模型
(TF Lite:https://www.tensorflow.org/lite)
TensorFlow.js:允许你在网络浏览器中运行模型
(TensorFlow.js:https://www.tensorflow.org/js)
Core ML:允许你在Apple设备上运行模型
(Core ML:https://developer.apple.com/documentation/coreml)
Container:允许你在Docker容器中运行模型(对于Web服务器而言是完美的)
(Container:https://www.docker.com/resources/what-container)
我下载了Tensorflow.js 模型,并构建了一个使用Edge模型和网络摄像头的demo示范。注意:此模型不会将你的图像上传到服务器,所有内容都在本地运行!
(demo示范链接:https://wao.ai/blog/can-ai-guess-our-sex)
结语
总而言之,Google AutoML在该任务上易于使用,且非常有效。我期待着尝试其他云提供商,看看他们比较起来表现如何!
原文:
https://hackernoon.com/image-classification-model-with-google-automl-a-how-to-guide-wa7n3b6n
本文为 CSDN 翻译,转载请注明来源出处。
【End】
在中国企业与「远程办公」正面相遇满月之际,2月29日,CSDN 联合广大「远程办公」工具服务企业共同举办【抗击疫情,科技公司在行动】系列之【远程办公】专题线上峰会活动:中国「远程办公」大考。
扫下方二维码或点击阅读原文免费报名直播+抽取奖品+与大牛交流
想提前了解峰会详情,可加小助手微信csdnai,回复远程办公,进直播群
推荐阅读
☞微盟创始人孙涛勇回应员工删库;字节跳动推“头条搜索”独立 App;C++ 20 规范完成| 极客头条
☞疫情病毒全部“抹杀”?用数据模型来解读传播抑制的效果差异!
☞华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020
☞真实版“删库跑路”?程序员蓄意破坏线上生产环境!
☞新知识点!一文告诉你如何调试运行在Docker容器中的远程Node.js应用程序
☞远程办公是一阵“过渡风”还是会“继续燃烧”?
你点的每一个在看,我认真当成了喜欢
超实用!Google AutoML 图像分类模型全在这!相关推荐
- Google AutoML图像分类模型 | 使用指南
来源 | Seve 编译 | 火火酱,责编| Carol 在本教程中,我将向大家展示如何在Google AutoML中创建单个标签分类模型.我们将使用来自generate.photos的AI生成的面孔 ...
- 实操指南:用谷歌AutoML构建图像分类模型
2020-03-16 12:31:00 全文共2710字,预计学习时长8分钟 如何用谷歌AutoML创建单标签分类模型? 今天我们将使用一个来自generated.photos的AI生成的人脸数据集, ...
- 【完结】如何学习AutoML在模型优化中的应用,这12篇文章可以作为一个参考
文/编辑 | 言有三 自动化机器学习技术是非常重要的基础研究,也是如今深度学习模型优化中的热点方向,我们开辟了一个专栏,专门讲解AutoML在深度学习模型优化中的一些重要思路,本次来给大家进行总结. ...
- 【神经网络与深度学习】CIFAR10数据集介绍,并使用卷积神经网络训练图像分类模型——[附完整训练代码]
[神经网络与深度学习]CIFAR-10数据集介绍,并使用卷积神经网络训练模型--[附完整代码] 一.CIFAR-10数据集介绍 1.1 CIFAR-10数据集的内容 1.2 CIFAR-10数据集的结 ...
- AI之AutoML:Google AutoML(Google Cloud自动化机器学习平台库)的简介、安装、使用方法
AI之AutoML:Google AutoML(Google Cloud自动化机器学习平台库)的简介.安装.使用方法 目录 Google AutoML(Google Cloud自动化机器学习平台库)的 ...
- 10亿级数据规模的半监督图像分类模型,Imagenet测试精度高达81.2% | 技术头条...
译者 | linstancy 作者| I. Zeki Yanlniz, Herve Jegou, Kan Chen, Manohar Paluri, Dhruv Mahajan 编辑 | 蓝色琥珀鱼, ...
- keras构建卷积神经网络(CNN(Convolutional Neural Networks))进行图像分类模型构建和学习
keras构建卷积神经网络(CNN(Convolutional Neural Networks))进行图像分类模型构建和学习 全连接神经网络(Fully connected neural networ ...
- 基于Keras Application和Densenet迁移学习(transfer learning)的乳腺癌图像分类模型(良性、恶性)
基于Keras Application和Densenet迁移学习(transfer learning)的乳腺癌图像分类模型(良性.恶性) 概论: 美国癌症学会官方期刊发表<2018年全球癌症统计 ...
- 独家 | 手把手教你用Python构建你的第一个多标签图像分类模型(附案例)
翻译:吴金笛 校对:郑滋 本文约4600字,建议阅读12分钟. 本文明确了多标签图像分类的概念,并讲解了如何构建多标签图像分类模型. 介绍 你正在处理图像数据吗?我们可以使用计算机视觉算法来做很多事情 ...
最新文章
- CentOS系统代理配置
- 算法复习(7)有序二叉树
- hibernate中SessionFactory,Session的理解?
- ESG里程碑:发布第100份实验室报告
- c++面向对象高级编程 学习九 pointer-like classes
- java dev guide
- 秋季海报设计元素|水彩手绘纹理植物素材,从人群中脱颖而出。
- php sql 中文编码,php sql如何设置编码
- PC网站实现微信扫码登录功能(一)
- 关于Bootstrap 中使用Tooltips不生效的问题
- 华硕重装后进入bios_华硕笔记本重装系统后直接进入bios,怎么处理
- Recap | Apache Pulsar Meetup 上海站
- 技术之道、思维的力量和人生观
- 用Mathematica和SciPy阐明Jacobi椭圆函数的定义方法
- 天龙八单机服务器 修改 藏宝,天龙八部单机版
- “庄家”:腾讯的投资“六合彩”
- 记录一次公选课刷课过程,由抓包到代码实现【原创,转载请说明】。
- 随鼠标滚轮缩小和放大图片
- 关于Pytorch中dim使用的一点记录
- 富士康打工到底能不能攒到钱?
热门文章
- Web worker总结
- 黑马程序员___Java基础[04-继承和多态]
- Function eregi() is deprecated
- 趣味物理中的计算机科学,【趣味物理】10个有趣的科学实验,揭示物理原理。...
- 【深度学习】深度学习门前徘徊——正向传播
- ACM training贪心算法——坐椅子的背包问题
- windows下使用conda命令在anaconda环境中安装caffe
- 如何在矩池云上安装java
- python怎么筛选excel数据_Python操作三个excel并过滤数据,python,筛选,其中
- 连接路由器后电脑连不上网_电信光纤猫与无线路由器连接怎么设置【图文教程】...