使用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中循环语句while用法实例
May 16 Python
Python实现数通设备端口使用情况监控实例
Jul 15 Python
Python for Informatics 第11章 正则表达式(一)
Apr 21 Python
python实现发送邮件功能代码
Dec 14 Python
python 高效去重复 支持GB级别大文件的示例代码
Nov 08 Python
Python利用heapq实现一个优先级队列的方法
Feb 03 Python
基于python实现把图片转换成素描
Nov 13 Python
PyTorch实现更新部分网络,其他不更新
Dec 31 Python
python matplotlib中的subplot函数使用详解
Jan 19 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
Mar 09 Python
基于python实现简单网页服务器代码实例
Sep 14 Python
python中绕过反爬虫的方法总结
Nov 25 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缓存类代码(附详细说明)
2011/06/09 PHP
PHP中文竖排转换实现方法
2015/10/23 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
XENON基于JSON变种
2010/07/27 Javascript
js单例模式的两种方案
2013/10/22 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
javascript实现类似超链接的效果
2014/12/26 Javascript
浅谈javascript实现八大排序
2015/04/27 Javascript
Jquery实现瀑布流布局(备有详细注释)
2015/07/31 Javascript
实例解析Array和String方法
2016/12/14 Javascript
使用grunt合并压缩js和css文件的方法
2017/03/02 Javascript
JS奇技之利用scroll来监听resize详解
2017/06/15 Javascript
基于Vue2.X的路由和钩子函数详解
2018/02/09 Javascript
vue-cli3.0 特性解读
2018/04/22 Javascript
nodejs二进制与Buffer的介绍与使用
2019/07/11 NodeJs
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
简单了解Python中的几种函数
2017/11/03 Python
django之session与分页(实例讲解)
2017/11/13 Python
python 与服务器的共享文件夹交互方法
2018/12/27 Python
python PrettyTable模块的安装与简单应用
2019/01/11 Python
python中树与树的表示知识点总结
2019/09/14 Python
Python 导入文件过程图解
2019/10/15 Python
python入门之基础语法学习笔记
2020/02/08 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
python语言是免费还是收费的?
2020/06/15 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
2020/09/21 Python
详解如何在css3打包后自动追加前缀插件:autoprefixer
2018/12/18 HTML / CSS
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
2014/08/09 面试题
党员入党表决心的话
2014/03/11 职场文书
企业人事任命书
2014/06/05 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
干部竞争上岗演讲稿
2014/09/11 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
Html5获取用户当前位置的几种方式
2022/01/18 HTML / CSS
教你使用Python获取QQ音乐某个歌手的歌单
2022/04/03 Python