VGG16之特征提取和网络参数的查看(偏置和权重)(这里只做简单介绍)
文章目录
- 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之特征提取和网络参数的查看(偏置和权重)(这里只做简单介绍)相关推荐
- 网络直播的发展和视频直播APP系统软件的简单介绍
网络直播平台自2012年起,在以YY为代表的一部分提供视频实时直播的网络平台上兴起,随着网络直播技术的日益发展,游戏等相关产业的飞速发展,以斗鱼为代表的一部分网络公司,在借鉴YY等平台的直播功能的基础 ...
- android 网络篇简单介绍
1 简介 本文简单介绍android 开发中常用的webview .url. volley. json解析等网络工具.由于篇幅问题,这里只做简单介绍并不做详解. 2 WebView的用法 2.1 简单 ...
- aix下光纤卡与网卡连接状态查看及网络参数修改
AIX 下光纤卡使用状态 #fcstat fcs0 FIBRE CHANNEL STATISTICS REPORT: fcs0Device Type: 8Gb PCI Express Dual Por ...
- linux下网络排错与查看
linux下网络排错与查看 2014-09-25 0个评论 来源:生死看淡,不服就干! 收藏 我要投稿 基本的故障排除错误 故障的排除一定是先简单后复杂的,有的人把上述的文件 ...
- 玩转mini2440开发板之【如何设置开发板的网络参数】
今天在研究nfs时,内核启动时一直提示挂载nfs文件系统失败,怀疑是网络参数没有配置正确,导致开发板连不上ubuntu.所以回过头来仔细研究了一下如何给mini2440开发板配置网络参数,验证网络连接 ...
- Linux 命令之 ifconfig -- 配置和显示网卡的网络参数
文章目录 一.命令介绍 二.常用选项 三.参考示例 (一)显示网络设备信息(激活状态的) (二)启动关闭指定网卡 (三)显示所有配置的网络接口,不论其是否激活 (四)显示第一个物理以太网卡 eth0 ...
- Zigbee 设置信道,PANID,发射功率现对z-stack里几个网络参数的设置以及如何获取总结一下。
Zigbee 设置信道,PANID,发射功率现对z-stack里几个网络参数的设置以及如何获取总结一下. 信道配置: Zigbee在3个频段定义了27个物理信道:868MHz频段中定义了1个信道,91 ...
- DEEP COMPRESSION(深度学习网络参数压缩)
DEEP COMPRESSION: DEEP COMPRESSION: COMPRESSING DEEP NEURAL NETWORKS WITH PRUNING, TRAINED QUANTIZAT ...
- 快速配置电脑网络参数
大家有时需要更改自己的IP,DNS地址,下面介绍两种快速配置电脑网络参数的方法 方法1 1.打开控制面板,点击网络和Internet 2.点击查看网络状态和任务 3.再点击左边栏目的更改适配器的设置 ...
最新文章
- ESXi6.5环境搭建(二:ESXi 6.5环境的安装及配置)
- linux基于流的文件操作
- 30个让人兴奋的视差滚动(Parallax Scrolling)效果网站
- python mysql 性能监控_MySQL性能监控工具 orzdba python版本
- 无需写try/catch,也能正常处理异常
- Maven [ERROR] 不再支持源选项 5。请使用 6 或更高版本
- 微课|玩转Python轻松过二级:第1章课后习题解答
- mysql单向加密_MariaDB(Mysql)双向加密与单向加密 | 彬菌
- 为什么运营商的机顶盒(IPTV)看直播不卡?
- mysql视图字段大小_在()MySQL()中,使用()_______()语句可以查看视图的字段信息,其中包括字段名、字段类...
- 注册表:基本概念和reg文件
- STM32——触摸屏实验-电阻型触摸屏-M4
- 计算机软件树状图,树状图怎么画|画树状图步骤
- C语言复习 随手写3
- 二级LOGO设计代表什么
- RNA提取和建库流程对mRNA-Seq的影响
- 计算机基础知识表格斜线,在WORD中,其中一个表格里画一斜线怎么画?
- c++基础二(基本知识-基本内置 类型)
- java 减法基础_Java 基础入门
- ValueError: With n_samples=0, test_size=0.3 and train_size=None, the resulting train set will be emp