使用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实现的登录和操作开心网脚本分享
Jul 09 Python
python读写json文件的简单实现
Apr 11 Python
Python3.6安装及引入Requests库的实现方法
Jan 24 Python
Python重新加载模块的实现方法
Oct 16 Python
django创建最简单HTML页面跳转方法
Aug 16 Python
django商品分类及商品数据建模实例详解
Jan 03 Python
DataFrame 数据合并实现(merge,join,concat)
Jun 14 Python
python脚本和网页有何区别
Jul 02 Python
python+django+selenium搭建简易自动化测试
Aug 19 Python
python ssh 执行shell命令的示例
Sep 29 Python
python自动生成sql语句的脚本
Feb 24 Python
pytorch通过训练结果的复现设置随机种子
Jun 01 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 表单数据的获取代码
2009/03/10 PHP
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
从父页面读取和操作iframe中内容方法
2009/07/25 Javascript
javascript 仿QQ滑动菜单效果代码
2010/09/03 Javascript
jquery弹窗插件colorbox绑定动态生成元素的方法
2014/06/20 Javascript
jQuery中prepend()方法用法实例
2014/12/25 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
2015/05/06 Javascript
JavaScript函数的调用以及参数传递
2015/10/21 Javascript
JS实现星星评分功能实例代码(两种方法)
2016/06/09 Javascript
jQuery1.9+中删除了live以后的替代方法
2016/06/17 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
React Native 搭建开发环境的方法步骤
2017/10/30 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
2018/08/24 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
D3.js 实现带伸缩时间轴拓扑图的示例代码
2020/01/20 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
vue3.0中setup使用(两种用法)
2020/12/02 Vue.js
python解析xml文件实例分享
2013/12/04 Python
Python中用pycurl监控http响应时间脚本分享
2015/02/02 Python
用Python给文本创立向量空间模型的教程
2015/04/23 Python
12步教你理解Python装饰器
2016/02/25 Python
深入理解Python对Json的解析
2017/02/14 Python
python图像处理模块Pillow的学习详解
2019/10/09 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
keras Lambda自定义层实现数据的切片方式,Lambda传参数
2020/06/11 Python
Python如何定义有可选参数的元类
2020/07/31 Python
Hunkemöller瑞士网上商店:欧洲最大的内衣品牌之一
2018/12/03 全球购物
.NET方向面试题
2014/11/20 面试题
领班岗位职责范文
2014/02/06 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
2014年销售经理工作总结
2014/12/01 职场文书
亮剑观后感600字
2015/06/05 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
正确使用MySQL INSERT INTO语句
2021/05/26 MySQL
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技