一招识狗!基于函数计算打造柴犬秋田鉴定器

Posted 阿里技术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一招识狗!基于函数计算打造柴犬秋田鉴定器相关的知识,希望对你有一定的参考价值。

  如果不想看文字,可直接跳到文末“阅读原文”看视频,更精彩~

让人傻傻分不清楚的柴犬和秋田

作为一个热爱看柴犬视频“云养柴”多年的观众,很多时候我总是分不清楚柴犬和秋田究竟有什么区别。正巧前几天我在阿里云的开发者云平台上面发现了一个很有趣的试验场景,讲的是基于阿里云的函数计算 Function Compute 服务建立一个TensorFlow Serverless AI 推理平台来分辨猫狗。


一招识狗!基于函数计算打造柴犬秋田鉴定器


如果能把试验中的模型换成分辨柴犬和秋田的模型,那不就可以轻松做出一个“柴犬秋田鉴定器”?

如果之前并没有这方面的经验也不要紧,可以使用 Keras 并且以 Tensorflow 作为后端来建立 CNN 模型。

Keras 是一个用 Python 编写的高级神经网络 API,非常容易上手;它能够让用户快速地设计自己想要的高级神经网络。而 CNN 模型的中文名则是卷积神经网络,它很好地提升了人工智能在处理图片时的效率和准确度, 非常适合做图片识别相关的项目。

一招识狗!基于函数计算打造柴犬秋田鉴定器


Keras 是一个用 Python 编写的高级神经网络 API,非常容易上手。

首先我们提前收集好 500 张柴犬和 500 张秋田的图片,并将它们标注作为区分。

一招识狗!基于函数计算打造柴犬秋田鉴定器

然后利用 Keras 来建立我们的 CNN 模型。

CNN 模型一般分为三层:

第一层卷积层,你可以简单把它理解为使用一个过滤器来过滤图像的各个区域,从而提取出这个图片的大概特征。

一招识狗!基于函数计算打造柴犬秋田鉴定器

第二层池化层,继续对图片进行“降维打击”,只保留图最关键的特征。

一招识狗!基于函数计算打造柴犬秋田鉴定器

第三层全连接层,对数据进行分类,得出相应的分析结果。

一招识狗!基于函数计算打造柴犬秋田鉴定器

模型的建立我参考了这里的代码:
https://www.kaggle.com/uysimty/keras-cnn-dog-or-cat-classification

模型建立完成后,我们就可以把图片丢进去训练了,这边示例代码中是将百分之八十的图片作为训练数据,剩下的百分之二十作为验证数据。

保存好模型之后,下一步就是把模型部署到网站的后端了。这个部分可以跟着教程来做,把项目克隆到本地之后只需要以下修改: 替换 models 文件夹里面的文件为我的模型文件, 在 index.html 和 predict.py 里面把所有猫和狗的相关描述改成秋田和柴犬。

一招识狗!基于函数计算打造柴犬秋田鉴定器


具体的过程可以参考实验中的具体步骤,简而言之这个示例采用的是一个基于函数计算的无服务器架构,你可以把它理解为在云端的一个开发环境,你只需要写好代码,打包好,一个命令行部署到阿里云,就能搞定服务的部署。

另外,阿里云还特意为函数计算研发了一个应用部署的工具 Funcraft。和 Docker, Kubernetes, Terraform 的概念类似,Funcraft 的设计思想也是令到用户通过一个模板文件来描述应用中所包含的所有资源,比如函数,API 网关,日志服务等等,然后再通过命令行直接读取这个模板文件来部署。

一招识狗!基于函数计算打造柴犬秋田鉴定器
地址:https://github.com/alibaba/funcraft

部署完成之后,让我们来看看效果吧:

一招识狗!基于函数计算打造柴犬秋田鉴定器

尝试了两个柴犬和秋田的图片,准确度还可以,但是多次试验之后发现模型的准确度还是不高。不知道各位大佬们有没有什么改进的方法~

除了这个实验之外,阿里云的开发者云平台还有挺多其他的试验场景,比如配置云数据库、ECS 等等,如果你是刚刚入门阿里云的新手,可以考虑在这里练习各个服务的操作方法,并且领取免费的云资源来使用。

一招识狗!基于函数计算打造柴犬秋田鉴定器


地址:https://developer.aliyun.com/adc/

识别下方二维码,立即体验:


如果看文字比较枯燥的话,阿里妹还给大家准备了一个趣味教学视频,云计算 up 主小哥哥亲身示范点击“阅读原文”观看吧~

戳我,看创意视频

以上是关于一招识狗!基于函数计算打造柴犬秋田鉴定器的主要内容,如果未能解决你的问题,请参考以下文章

零基础入门Serverless:基于函数计算快速搭建Zblog博客系统(1500份礼品 自己部署自己抽)

函数计算+DuerOS,打造一站式智能生态

R语言构建logistic回归模型并评估模型:构建基于混淆矩阵计算分类评估指标的自定义函数阳性样本比例(垃圾邮件比例)变化对应的分类器性能的变化基于数据阳性样本比例选择合适的分类评估指标

ethers计算函数选择器与事件选择器

python 装饰器计算函数耗时

python Python装饰器函数用于计算函数运行所用的时间