首页 > 其他分享 >keras中application模型可视化

keras中application模型可视化

时间:2022-10-27 13:36:46浏览次数:60  
标签:layers keras application add 可视化 import model smodel


问题描述

keras提供了模型的可视化,如下:

keras中application模型可视化_继承关系

import keras
from keras import models, layers,Model
from keras.applications import VGG16

conv_base=VGG16(weights='imagenet',include_top=False,input_shape=(128,128,3))

smodel = models.Sequential()
smodel.add(conv_base)
smodel.add(layers.Flatten())
smodel.add(layers.Dense(256, activation='relu'))
smodel.add(layers.Dense(1, activation='sigmoid'))

keras.utils.plot_model(smodel, to_file='model.png', show_shapes=True, show_layer_names=True, rankdir='LR')

可以看出,其对Model对象VGG16仅展示了概要信息,如何展示其详尽信息呢?

解决方案

keras.utils.plot_model时,会遍历到模型的各层,并使用诸如layer的name属性等,如上,使用的就是 conv_base(Model对象) 的name。具体可以查看keras.utils.vis_utils.model_to_dot()的源码。


注意以下继承关系:
Model->Container->Layer->Object。(子类->父类)

故新建模型,并将application的每一层加入该模型中。实现效果如下。

keras中application模型可视化_继承关系_02

import keras
from keras import models, layers
from keras.applications import VGG16


conv_base=VGG16(weights='imagenet',include_top=False,input_shape=(128,128,3))

smodel = models.Sequential()
for m in conv_base.layers:
smodel.add(m)
smodel.add(layers.Flatten())
smodel.add(layers.Dense(256, activation='relu'))
smodel.add(layers.Dense(1, activation='sigmoid'))

keras.utils.plot_model(smodel, to_file='model.png', show_shapes=True, show_layer_names=True, rankdir='TB')


标签:layers,keras,application,add,可视化,import,model,smodel
From: https://blog.51cto.com/u_15847885/5800885

相关文章

  • keras中的keras.utils.to_categorical方法
    ​​to_categorical(y,num_classes=None,dtype='float32')​​将整型标签转为onehot。y为​​int​​数组,num_classes为标签类别总数,大于max(y)(标签从0开始的)。返回:如果nu......
  • keras SegNet实现
    代码位置​​https://github.com/lsh1994/keras-segmentation​​​模型结构我这里用到了vgg16微调作为编码器,读者可以参照着自定义层对称的编解码结构。训练结果......
  • python决策树(二叉树、树)的可视化
    问题描述在我学习​​机器学习实战-决策树​​部分,欲可视化决策树结构。最终可视化结果:解决方案决策树由嵌套字典组成,如:{“nosurfacing”:{0:“no”,1:{“flippers”:......
  • keras SegNet使用池化索引(pooling indices)
    keras中不能直接使用池化索引。最近学习到SegNet(网上许多错的,没有用池化索引),其中下采样上采样用到此部分。此处用到自定义层。完整测试代码如下。"""@author:LiShiHang@so......
  • keras FCN实现(2)
    FCN-8/FCN-16Add了底层特征。FCN-8的实现,承接​​上篇​​。代码位置:​​​https://github.com/lsh1994/keras-segmentation​​结构:训练曲线:可视化结果:......
  • 综合布线可视化资源管理
    什么是数据可视化有句话说得好“一图胜千言”,放到数据领域就是说,对于复杂难懂且体量庞大的数据而言,图表的信息量要大得多,这也是我们为什么要谈数据可视化。今天小编就带大家......
  • anaconda 下安装tensorflow & keras
    首先,同胞们要记住,你要做什么?该怎么做?你的目标是什么?千万不要因为中间遇到的连带问题,而忘记了你要做什么?一下开始介绍:????下载:官网速度很慢,容易断线:https://www.......
  • Keras搭建CNN进行人脸识别系列(四)--为模型训练准备人脸数据
          机器学习最本质的地方就是基于海量数据统计的学习,说白了,机器学习其实就是在模拟人类儿童的学习行为。举一个简单的例子,成年人并没有主动教孩子学习语言,但随着......
  • Keras搭建CNN进行人脸识别系列(三)--利用haar级联检测器识别出人脸
    人脸识别原理        从实时视频流中识别出人脸区域,从原理上看,其依然属于机器学习的领域之一,本质上与谷歌利用深度学习识别出猫没有什么区别。程序通过大量的......
  • 数量生态学冗余分析(RDA)分析植物多样性物种数据结果可视化|附代码数据
    全文下载链接:tecdat.cn/?p=25564冗余分析(redundancyanalysis,RDA)是一种回归分析结合主成分分析的排序方法,也是多因变量(multiresponse)回归分析的拓展。从概念上讲,RDA是因变......