使用Keras预训练好的模型进行目标类别预测详解


Posted in Python onJune 27, 2020

前言

最近开始学习深度学习相关的内容,各种书籍、教程下来到目前也有了一些基本的理解。参考Keras的官方文档自己做一个使用application的小例子,能够对图片进行识别,并给出可能性最大的分类。

闲言少叙,开始写代码

环境搭建相关就此省去,网上非常多。我觉得没啥难度

from keras.applications.resnet50 import ResNet50
from keras.preprocessing import image
from keras.applications.resnet50 import preprocess_input, decode_predictions
import numpy as np

导入权重,首次会从网络进行下载,不过速度还是挺快的,使用ImageNet的数据集

model = ResNet50(weights='imagenet')

定义一个函数读取图片文件并处理。这里需要安装PLI的库。 pip install Pillow ,不然会报错

def load_image(img_path):
  img = image.load_img(img_path, target_size=(224, 224))
  x = image.img_to_array(img)
  x = np.expand_dims(x, axis=0)
  x = preprocess_input(x)
  return x

加载一个图片文件,默认在当前路径寻找

x=load_image('zebra.jpg')

哈哈,开始预测了!激动人心啊

preds = model.predict(x)

执行速度很快,现在看看结果

print('Predicted:', decode_predictions(preds, top=3)[0])

Predicted: [(‘n02391049', ‘zebra', 0.99566585), (‘n02423022', ‘gazelle', 0.0010297714), (‘n01518878', ‘ostrich', 0.00067320856)]

准确率还是不错,后续还测试了一些飞机之类的图片,总体来讲马马虎虎!

是不是非常简单,确实很简单!

补充知识:模型训练loss先迅速下降后一直上升

loss函数走势如下:

使用Keras预训练好的模型进行目标类别预测详解

检查代码没什么问题,分析应该是陷入了局部最优,把学习率调低一点就好了,从0.01调到了0.001

以上这篇使用Keras预训练好的模型进行目标类别预测详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python EOL while scanning string literal问题解决方法
Sep 18 Python
python实现折半查找和归并排序算法
Apr 14 Python
python Matplotlib画图之调整字体大小的示例
Nov 20 Python
transform python环境快速配置方法
Sep 27 Python
从DataFrame中提取出Series或DataFrame对象的方法
Nov 10 Python
python面向对象入门教程之从代码复用开始(一)
Dec 11 Python
python 通过可变参数计算n个数的乘积方法
Jun 13 Python
python读取Excel表格文件的方法
Sep 02 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
May 13 Python
python openCV自制绘画板
Oct 27 Python
一文搞懂如何实现Go 超时控制
Mar 30 Python
PyTorch 如何设置随机数种子使结果可复现
May 12 Python
浅谈keras 模型用于预测时的注意事项
Jun 27 #Python
python suds访问webservice服务实现
Jun 26 #Python
解析Python 偏函数用法全方位实现
Jun 26 #Python
Python如何优雅删除字符列表空字符及None元素
Jun 25 #Python
使用pytorch实现论文中的unet网络
Jun 24 #Python
python连接mysql有哪些方法
Jun 24 #Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
Jun 24 #Python
You might like
php可生成缩略图的文件上传类实例
2014/12/17 PHP
php中switch与ifelse的效率区别及适用情况分析
2015/02/12 PHP
浅谈使用PHP开发微信支付的流程
2015/10/04 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
thinkPHP5.0框架引入Traits功能实例分析
2017/03/18 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
2017/07/16 PHP
Jquery 的扩展方法总结
2011/10/01 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
js function定义函数的几种不错方法
2014/02/27 Javascript
js中unicode转码方法详解
2015/10/09 Javascript
浅析AngularJS中的指令
2016/03/20 Javascript
JavaScript操作 url 中 search 部分方法函数
2016/06/15 Javascript
基于JavaScript实现轮播图代码
2016/07/14 Javascript
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
2016/10/31 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
JS简单生成随机数(随机密码)的方法
2017/05/11 Javascript
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
基于vue-cli 打包时抽离项目相关配置文件详解
2018/03/07 Javascript
angularJs中json数据转换与本地存储的实例
2018/10/08 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
js中!和!!的区别与用法
2020/05/09 Javascript
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
python编程开发之日期操作实例分析
2015/11/13 Python
详解python中的 is 操作符
2017/12/26 Python
代码讲解Python对Windows服务进行监控
2018/02/11 Python
Windows下Python3.6安装第三方模块的方法
2018/11/22 Python
Python脚本去除文件的只读性操作
2020/03/05 Python
Shell编程面试题
2012/05/30 面试题
新闻编辑自荐信
2013/11/03 职场文书
银行批评与自我批评
2014/02/10 职场文书
优秀辅导员事迹材料
2014/02/16 职场文书
安全例会汇报材料
2014/08/23 职场文书
纪念九一八爱国演讲稿600字
2014/09/14 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS