文章目录

  • 1.实现的效果:
  • 2.主文件TransorResNet.py:

1.实现的效果:


实际的图片:

(1)可以看到ResNet50预测的前三个结果中第一个结果为:whippet(小灵狗)
(2)ResNet50预测的前三个结果中第一个结果为:Walker_hound(步行猎犬)
(3)从结果上来看,比之前的VGG16和VGG19预测的效果都要好(这里虽然不知道图片中的够具体是什么狗,但是结果都预测成了“狗”的类别)


关于InceptionV3(159层),Xception(126层),Inception_ResNet_V2(572层):
https://mydreamambitious.blog.csdn.net/article/details/123907490
关于VGG16和VGG19:
https://mydreamambitious.blog.csdn.net/article/details/123906643
关于MobileNet(88层)和MobileNetV2(88层):
https://mydreamambitious.blog.csdn.net/article/details/123907955
关于DenseNet121(121层),DenseNet169(169层),DenseNet201(201层):
https://mydreamambitious.blog.csdn.net/article/details/123908742
EfficientNetBX
https://mydreamambitious.blog.csdn.net/article/details/123929264

2.主文件TransorResNet.py:

import os
import keras
import numpy as np
from PIL import Image
from keras.preprocessing import image
from keras.preprocessing.image import img_to_array
from keras.applications.resnet import preprocess_input,decode_predictionsdef load_ResNet50():#加载ResNet50并且保留顶层(也就是全连接层)model_ResNet50=keras.applications.resnet.ResNet50(weights='imagenet')#图形路径curr_path=os.getcwd()img_path=curr_path+'\\images\\train\\dog\\1.jpg'#将图像转换为网络需要的大小,因为我们这里加载的模型都是固定输入大小224*224img=image.load_img(img_path,target_size=(224,224))#首先需要转换为向量的形式img_out=image.img_to_array(img)#扩充维度img_out=np.expand_dims(img_out,axis=0)#对输入的图像进行处理img_out=preprocess_input(img_out)# decode the results into a list of tuples (class, description, probability)# (one such list for each sample in the batch)#上面这段话的意思是输出包括(类别,图像描述,输出概率)preds=model_ResNet50.predict(img_out)#输出前三个结果的可能性print('Predicted: ',decode_predictions(preds,top=3)[0])print('Predicted: ',decode_predictions(preds,top=3))def load_ResNet101():# 加载ResNet50并且保留顶层(也就是全连接层)model_ResNet50 = keras.applications.resnet.ResNet101(weights='imagenet')# 图形路径img_path = 'images/train/dog/1.jpg'# 将图像转换为网络需要的大小,因为我们这里加载的模型都是固定输入大小224*224img = image.load_img(img_path, target_size=(224, 224))# 首先需要转换为向量的形式img_out = image.img_to_array(img)# 扩充维度img_out = np.expand_dims(img_out, axis=0)# 对输入的图像进行处理img_out = preprocess_input(img_out)# decode the results into a list of tuples (class, description, probability)# (one such list for each sample in the batch)# 上面这段话的意思是输出包括(类别,图像描述,输出概率)preds = model_ResNet50.predict(img_out)# 输出前三个结果的可能性print('Predicted: ', decode_predictions(preds, top=3)[0])print('Predicted: ', decode_predictions(preds, top=3))if __name__ == '__main__':print('Pycharm')print('load_ResNet50:\n')load_ResNet50()print('load_ResNet101:\n')load_ResNet101()

迁移学习之ResNet50和ResNet101(图像识别)相关推荐

  1. 迁移学习实战 | 快速训练残差网络 ResNet-101,完成图像分类与预测,精度高达 98%!...

    作者 | AI 菌 出品 | CSDN博客 头图 | CSDN付费下载自视觉中国 前言 笔者在实现ResNet的过程中,由于电脑性能原因,不得不选择层数较少的ResNet-18进行训练.但是很快发现, ...

  2. Python 迁移学习实用指南 | iBooker·ApacheCN

    原文:Hands-On Transfer Learning with Python 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心如何实现目标.--<原则& ...

  3. 手把手带你从0完成医疗行业影像图像检测三大经典模型InceptionV3-RestNet50-VGG16(附python源代码及数据库)——改变世界经典人工智能项目实战(一)手把手教学迁移学习

    手把手带你从0完成医疗行业影像图像检测三大经典模型InceptionV3-RestNet50-VGG16 1.迁移学习简介 2.项目简介 3.糖尿病视网膜病变数据集 4.考虑类别不平衡问题 5.定义模 ...

  4. Python 迁移学习实用指南:6~11

    原文:Hands-On Transfer Learning with Python 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 深度学习 译文集],采用译后编辑(MT ...

  5. 迁移学习:数据不足时如何深度学习

    转自:http://www.sohu.com/a/125849954_470008 使用深度学习技术解决问题的过程中,最常见的障碍在于训练模型过程中所需的海量数据.需要如此多的数据,原因在于机器在学习 ...

  6. 1、VGG16 2、VGG19 3、ResNet50 4、Inception V3 5、Xception介绍——迁移学习

    ResNet, AlexNet, VGG, Inception: 理解各种各样的CNN架构 本文翻译自ResNet, AlexNet, VGG, Inception: Understanding va ...

  7. resnet50代码_十余行代码完成迁移学习,百度PaddleHub实战解读

    机器之心专栏 来源:百度 PaddlePaddle 迁移学习 (Transfer Learning) 是属于深度学习的一个子研究领域,该研究领域的目标在于利用数据.任务.或模型之间的相似性,将在旧领域 ...

  8. 深度迁移学习在花生叶部病害图像识别中的应用

    深度迁移学习在花生叶部病害图像识别中的应用 1.论文思路 首先迁移 Inception-v3 模型在茶叶叶部病害图像数据集上进行微调, 然后将微调所得模型迁移至花生叶部病害图像数据集上继续训练.实验结 ...

  9. 手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)

    文章目录 1.VGG16训练结果: 2.微调ResNet50之后的训练结果: 3.结果分析: 4.实验效果: (1)VGG16模型预测的结果: (2)在ResNet50微调之后预测的效果: 5.相关代 ...

最新文章

  1. 图像分类再思考DNN似乎遵循一种令人困惑的简单策略来对图像分类
  2. σ(゚∀゚ ∬オレの性格だ
  3. java实验7线程2020.5.28
  4. 误执行了rm -fr /*之后,除了跑路还能怎么办?!
  5. 关于tr:hover变色的问题
  6. JDK源码解析之 Java.lang.StringBuilder
  7. 太极图正确画法_太极图的三种画法你知道吗?
  8. win10wifi多了数字_win10系统电脑查看wifi密码是多少的方法
  9. Mybatis trim 标签的 2 个妙用!
  10. Android内容提供者(Content provider)
  11. XMPP即时通讯协议使用(前传)——协议详解
  12. python numpy.linalg.norm函数的用法
  13. 【历史上的今天】8 月 19 日:大型计算机先驱和小型机之父诞生;中国雅虎邮箱成历史
  14. 好用的区块链浏览器--BlockScout安装
  15. 车载网络: CAN (Control Area Network) 控制器局域网络
  16. php 分数大于80 小于90优,“ 90 分改成 80 分”学生期末成绩须“正态分布”?不必搞一刀切...
  17. 写推文满一年,分享 5 个小编常用的写作软件
  18. 常用小波基函数以及多尺度多分辨率的理解
  19. Ubuntu Server 20.04 安装桌面(图形界面) 以及 远程桌面
  20. 北京尚学堂退课退课,口碑还不错

热门文章

  1. Python上下文语法with小述
  2. 爬虫之selenium开启无界面模式
  3. 数据类型:Struct 和 Union区别
  4. 2021.5.13指导论文
  5. ResNet在计算机视觉中的应用
  6. CV领域最经典的Paper是什么来头?
  7. 港中文自动驾驶点云上采样方法
  8. MaxCompute Studio使用心得系列7—作业对比
  9. PyQt5+eric6之旅(四) - 信号与槽的绑定
  10. Array Networks ***官网 客户端下载地址