共计 1226 个字符,预计需要花费 4 分钟才能阅读完成。
▲ 让人傻傻分不清楚的柴犬和秋田
作为一个酷爱看柴犬视频“云养柴”多年的观众,很多时候我总是分不清楚柴犬和秋田到底有什么区别。刚巧前几天我在阿里云的开发者云平台下面发现了一个很乏味的试验场景,讲的是基于阿里云的函数计算 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
部署实现之后,让咱们来看看成果吧:
尝试了两个柴犬和秋田的图片,准确度还能够,然而屡次试验之后发现模型的准确度还是不高。不晓得各位大佬们有没有什么改良的办法~