Google AutoML图像分类模型 | 使用指南


       Google AutoML图像分类模型 | 使用指南_第1张图片

来源 | 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

       Google AutoML图像分类模型 | 使用指南_第2张图片  

很难相信这些面孔是假的对吧!那么,现在让我们获取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图像分类模型 | 使用指南_第3张图片   

创建项目后,我们可以使用顶部的侧边栏或搜索栏导航到Google AutoML。你可能需要启用一些API并设置好结算功能,GCP会引导你完成该过程。

       Google AutoML图像分类模型 | 使用指南_第4张图片   

接下来,点击“图像分类(Image Classification)”。

     Google AutoML图像分类模型 | 使用指南_第5张图片      

然后我们将会进入“数据集(Dataset)”界面。在该界面中,单击“创建新数据集(Create New Dataset)”,并填写数据集的一些详细信息以进行训练。

       Google AutoML图像分类模型 | 使用指南_第6张图片       

格式化输入数据

现在我们将自己的数据放入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)。

       Google AutoML图像分类模型 | 使用指南_第7张图片   

接下来,我们要将ground-truth标签CSV从wao.ai转换为AutoML期望的CSV输出。

(wao.ai:https://wao.ai/

我们的原始CSV如下图所示:

       Google AutoML图像分类模型 | 使用指南_第8张图片   

为了方便使用Google AutoML,我们需要将其转换为:

       Google AutoML图像分类模型 | 使用指南_第9张图片      

我在ipython终端中使用Pandas DataFrame进行了此操作(如下图所示):

Pandas:https://pandas.pydata.org/

       Google AutoML图像分类模型 | 使用指南_第10张图片  

       Google AutoML图像分类模型 | 使用指南_第11张图片      

完成创建数据集

现在,我们有了Google AutoML所需格式的CSV,就可以完成创建自己数据集的准备工作了。

将我们创建的新CSV上传到你的存储库中,然后在“导入数据集(Import Dataset)”界面中选择该库。

       Google AutoML图像分类模型 | 使用指南_第12张图片      

导入数据后,你可以从浏览器中查看所有的图像和标签。

       Google AutoML图像分类模型 | 使用指南_第13张图片

创建模型

在本节中,我们将创建一个运行在GCP上的云模型,该模型具有易于使用的API以及可以导出到Tensorflow并在本地或本地托管的移动设备和浏览器上运行的Edge模型。

1.  训练云模型

导航到“训练(TRAIN)”选项卡,然后单击“开始训练(START TRAINING)”。我使用了所有的默认选项。

       Google AutoML图像分类模型 | 使用指南_第14张图片

       Google AutoML图像分类模型 | 使用指南_第15张图片              Google AutoML图像分类模型 | 使用指南_第16张图片       

几个小时后,模型完成,并概述了模型的性能和所用的预算(我分配的全部是16小时)

       Google AutoML图像分类模型 | 使用指南_第17张图片      

2. 训练“边缘”模型(可以在任何地方运行的模型)

创建边缘模型的方法基本相同,只需单击“边缘(Edge)”而不是“云(Cloud)”即可。当创建边缘模型时,你可以优化其速度或精度。因为我想将边缘模型与云模型进行比较,所以我决定对精度进行优化。

       Google AutoML图像分类模型 | 使用指南_第18张图片  

       Google AutoML图像分类模型 | 使用指南_第19张图片       

结果

在“评估(EVALUATE)”选项卡中,我们能够看到模型的执行效果。云模型的准确率为94.5%。边缘模型的准确率为95.5%。让我惊讶的是,云模型的表现竟然稍差一些,特别是考虑到它的培训成本要更高之后!

总的来说,我对两个模型的性能都很满意。由混淆矩阵可知,云模型在预测男性时出错较多,而边缘模型的失误率则更均匀。

云模型性能

在下面的屏幕截图中,你可以看到云模型的混乱矩阵,以及AutoML报告的一些统计信息。它在预测女性方面略优于男性。

       Google AutoML图像分类模型 | 使用指南_第20张图片       

边缘模型性能

在以下截图中,你可以看到边缘模型的混淆矩阵以及AutoML报告的一些统计数据。边缘模型在预测男性方面略胜一筹!

       Google AutoML图像分类模型 | 使用指南_第21张图片  

边缘案例

Google AutoML为你提供了模型在哪些方面表现良好以及哪些地方出错的细目。和我的keras模型一样,儿童和不寻常的面部角度都是个问题。以下屏幕截图中显示了误报的案例。

       Google AutoML图像分类模型 | 使用指南_第22张图片              Google AutoML图像分类模型 | 使用指南_第23张图片 

部署模型

既然我们已经获得了满意的模型,那么我们就该应用一下了!我们的云模型可以部署在GCP上,Edge模型可供下载并同Tensorflow一起运行。让我们一起来探索云模型和边缘模型的部署吧。

云部署

导航到“测试&使用(TEST&USE)”选项卡,然后单击“部署模型(DEPLOY MODEL)”按钮。为了进行测试,我决定只部署到一个节点。部署该模型大约花费一个小时。

       Google AutoML图像分类模型 | 使用指南_第24张图片  

云模型公开了一个易于使用的API,你可以在其中上传一个简单的JSON对象并接收到一组带有返回概率的预测。对我来说,这是简单且完美的集成API。

       Google AutoML图像分类模型 | 使用指南_第25张图片      

我们还可以直接在浏览器中使用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

       Google AutoML图像分类模型 | 使用指南_第26张图片   

我下载了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

(*本文由 AI 科技大本营编译,转载请联系微信1092722531)

【end】

精彩推荐

今晚晚7点,阿里巴巴集团副总裁华先胜——《人工智能:是风、是云,还是雨?》

面向开发者详解视觉智能技术规模化落地的挑战;面向企业详述如何通过核心AI技术、产品化 及平台化实现客户价值并构建壁垒?

识别下方二维码或者点击阅读原文即刻报名

Google AutoML图像分类模型 | 使用指南_第27张图片

推荐阅读

  • 机器学习中的线性回归,你理解多少?

  • 华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3

  • 两成开发者月薪超 1.7 万、算法工程师最紧缺! | 中国开发者年度报告

  • 探索处理数据的新方法,8 个重点带你搞懂云数据库——DBaaS(数据库即服务)到底是什么!

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

  • 在家办公憋疯了?不,我还能再待一年!

    你点的每个“在看”,我都认真当成了AI

你可能感兴趣的:(Google AutoML图像分类模型 | 使用指南)