超实用!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应用程序

远程办公是一阵“过渡风”还是会“继续燃烧”?

你点的每一个在看,我认真当成了喜欢

©️2020 CSDN 皮肤主题: 代码科技 设计师: Amelia_0503 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值