文章目录

  • 1.网络结构:
    • (1)包含顶层:
    • (2)不包含顶层:
  • 2.特征查看:
    • (1)包含顶层:
    • (2)不包含顶层:
  • 3.主文件:main.py:

1.网络结构:

(1)包含顶层:

(2)不包含顶层:


注意这里它们参数的对比:


可以发现它们的参数量差距在近10倍,这说明VGG16的主要参数量都集中在了全连接层,全连接层的参数量之大,所以我们在使用迁移学习的时候或者微调时,都是在最后一个Max Pooling2D之后自己定义输出。

2.特征查看:

(1)包含顶层:




(2)不包含顶层:


注意:可以发现输出不再是1000个类别的概率输出,从上面的网路结构也可以看出:

3.主文件:main.py:

import os
import cv2
import tensorflow
import numpy as  np
from tensorflow.keras.preprocessing import image
from tensorflow.keras.applications.vgg16 import preprocess_input,decode_predictions#加载VGG16模型(包含全连接层)
def load_VGG16_TrueTop():model_VGG16 = tensorflow.keras.applications.vgg16.VGG16(weights='imagenet')return model_VGG16
#加载VGG16模型(不包含全连接层)
def load_VGG16_FalseTop():model_VGG16 = tensorflow.keras.applications.vgg16.VGG16(weights='imagenet',include_top=False)return model_VGG16#提取图像特征
def ExtractFeature_TrueTop():model_VGG16=load_VGG16_TrueTop()img_path='images/train/dog/1.jpg'img=image.load_img(img_path,target_size=(224,224))img=image.img_to_array(img)img=np.expand_dims(img,axis=0)img_out=preprocess_input(img)features=model_VGG16.predict(img_out)#输出网络结构model_VGG16.summary()#输出最后的1000个类别概率print('features: {}'.format(features))print('featureSize: {}'.format(len(features[0])))#查看输入层print('Input_1: {}'.format(model_VGG16.input))#输出第一层卷积层的偏置项和权重参数print('block1_conv1_bias: {}'.format(model_VGG16.layers[1].bias))print('block1_conv1_parameters: {}'.format(model_VGG16.layers[1].kernel))#提取图像特征
def ExtractFeature_FalseTop():model_VGG16=load_VGG16_FalseTop()img_path='images/train/dog/1.jpg'img=image.load_img(img_path,target_size=(224,224))img=image.img_to_array(img)img=np.expand_dims(img,axis=0)img_out=preprocess_input(img)features=model_VGG16.predict(img_out)#输出网络结构model_VGG16.summary()print('features: {}'.format(features))#输出特征图的大小print('featureShape: {}'.format(np.shape(features)))#输出最后特征图的高print('feature_H: {}'.format(len(features[0])))#输出最后特征图的宽print('feature_W: {}'.format(len(features[0][0])))#输出最后特征图的通道数print('feature_C: {}'.format(len(features[0][0][0])))#查看输入层print('Input_1: {}'.format(model_VGG16.input))#输出第一层卷积层的偏置项和权重参数print('block1_conv1_bias: {}'.format(model_VGG16.layers[1].bias))print('block1_conv1_parameters: {}'.format(model_VGG16.layers[1].kernel))if __name__ == '__main__':print('Pycharm')ExtractFeature_TrueTop()ExtractFeature_FalseTop()

VGG16之特征提取和网络参数的查看(偏置和权重)(这里只做简单介绍)相关推荐

  1. 网络直播的发展和视频直播APP系统软件的简单介绍

    网络直播平台自2012年起,在以YY为代表的一部分提供视频实时直播的网络平台上兴起,随着网络直播技术的日益发展,游戏等相关产业的飞速发展,以斗鱼为代表的一部分网络公司,在借鉴YY等平台的直播功能的基础 ...

  2. android 网络篇简单介绍

    1 简介 本文简单介绍android 开发中常用的webview .url. volley. json解析等网络工具.由于篇幅问题,这里只做简单介绍并不做详解. 2 WebView的用法 2.1 简单 ...

  3. aix下光纤卡与网卡连接状态查看及网络参数修改

    AIX 下光纤卡使用状态 #fcstat fcs0 FIBRE CHANNEL STATISTICS REPORT: fcs0Device Type: 8Gb PCI Express Dual Por ...

  4. linux下网络排错与查看

    linux下网络排错与查看 2014-09-25      0个评论    来源:生死看淡,不服就干!   收藏    我要投稿 基本的故障排除错误 故障的排除一定是先简单后复杂的,有的人把上述的文件 ...

  5. 玩转mini2440开发板之【如何设置开发板的网络参数】

    今天在研究nfs时,内核启动时一直提示挂载nfs文件系统失败,怀疑是网络参数没有配置正确,导致开发板连不上ubuntu.所以回过头来仔细研究了一下如何给mini2440开发板配置网络参数,验证网络连接 ...

  6. Linux 命令之 ifconfig -- 配置和显示网卡的网络参数

    文章目录 一.命令介绍 二.常用选项 三.参考示例 (一)显示网络设备信息(激活状态的) (二)启动关闭指定网卡 (三)显示所有配置的网络接口,不论其是否激活 (四)显示第一个物理以太网卡 eth0 ...

  7. Zigbee 设置信道,PANID,发射功率现对z-stack里几个网络参数的设置以及如何获取总结一下。

    Zigbee 设置信道,PANID,发射功率现对z-stack里几个网络参数的设置以及如何获取总结一下. 信道配置: Zigbee在3个频段定义了27个物理信道:868MHz频段中定义了1个信道,91 ...

  8. DEEP COMPRESSION(深度学习网络参数压缩)

    DEEP COMPRESSION: DEEP COMPRESSION: COMPRESSING DEEP NEURAL NETWORKS WITH PRUNING, TRAINED QUANTIZAT ...

  9. 快速配置电脑网络参数

    大家有时需要更改自己的IP,DNS地址,下面介绍两种快速配置电脑网络参数的方法 方法1 1.打开控制面板,点击网络和Internet 2.点击查看网络状态和任务 3.再点击左边栏目的更改适配器的设置 ...

最新文章

  1. ESXi6.5环境搭建(二:ESXi 6.5环境的安装及配置)
  2. linux基于流的文件操作
  3. 30个让人兴奋的视差滚动(Parallax Scrolling)效果网站
  4. python mysql 性能监控_MySQL性能监控工具 orzdba python版本
  5. 无需写try/catch,也能正常处理异常
  6. Maven [ERROR] 不再支持源选项 5。请使用 6 或更高版本
  7. 微课|玩转Python轻松过二级:第1章课后习题解答
  8. mysql单向加密_MariaDB(Mysql)双向加密与单向加密 | 彬菌
  9. 为什么运营商的机顶盒(IPTV)看直播不卡?
  10. mysql视图字段大小_在()MySQL()中,使用()_______()语句可以查看视图的字段信息,其中包括字段名、字段类...
  11. 注册表:基本概念和reg文件
  12. STM32——触摸屏实验-电阻型触摸屏-M4
  13. 计算机软件树状图,树状图怎么画|画树状图步骤
  14. C语言复习 随手写3
  15. 二级LOGO设计代表什么
  16. RNA提取和建库流程对mRNA-Seq的影响
  17. 计算机基础知识表格斜线,在WORD中,其中一个表格里画一斜线怎么画?
  18. c++基础二(基本知识-基本内置 类型)
  19. java 减法基础_Java 基础入门
  20. ValueError: With n_samples=0, test_size=0.3 and train_size=None, the resulting train set will be emp

热门文章

  1. Vue之axios发送Ajax请求
  2. Django视图之介绍、项目准备、URL、路由命名、reverse反解析和Postman测试
  3. 汇编语言 执行push和执行pop区别 栈顶的变化范围
  4. LINUX:PS命令详解与使用!
  5. 语义SLAM近5年主要技术进展及研究趋势
  6. 细粒度图像分割 (FGIS)
  7. 收藏 | 图像识别的可视化解释神经网络
  8. 传统CV和深度学习方法的比较
  9. 神经网络中参数数量的计算
  10. Python组织文件 实践:查找大文件、 用Mb、kb显示文件尺寸 、计算程序运行时间...