Keras GlobalAveragePooling2D 示例代码

摘要:
GlobalAveragePooling2D层keras.layers。pooling GlobalAveragePooling2D(dim_ordering='default')将全局平均池参数数据应用于空域信号_格式:字符串,“channels_first”或“channels-last”之一,表示图像通道维度的位置。此参数是Keras1.x_dim_orden中的图像

GlobalAveragePooling2D层

keras.layers.pooling.GlobalAveragePooling2D(dim_ordering=‘default‘)

为空域信号施加全局平均值池化

参数

  • data_format:字符串,“channels_first”或“channels_last”之一,代表图像的通道维的位置。该参数是Keras 1.x中的image_dim_ordering,“channels_last”对应原本的“tf”,“channels_first”对应原本的“th”。以128x128的RGB图像为例,“channels_first”应将数据组织为(3,128,128),而“channels_last”应将数据组织为(128,128,3)。该参数的默认值是~/.keras/keras.json中设置的值,若从未设置过,则为“channels_last”。

输入shape

‘channels_first’模式下,为形如(samples,channels, rows,cols)的4D张量

‘channels_last’模式下,为形如(samples,rows, cols,channels)的4D张量

输出shape

形如(nb_samples, channels)的2D张量

 

Keras GlobalAveragePooling2D 示例代码第1张
 

 示例代码

 keras-finetuning  

def build_model(nb_classes):
    base_model = InceptionV3(weights='imagenet', include_top=False)

    # add a global spatial average pooling layer
    x = base_model.output
    x = GlobalAveragePooling2D()(x)
    # let's add a fully-connected layer
    x = Dense(1024, activation='relu')(x)
    # and a logistic layer
    predictions = Dense(nb_classes, activation='softmax')(x)

    # this is the model we will train
    model = Model(input=base_model.input, output=predictions)

    # first: train only the top layers (which were randomly initialized)
    # i.e. freeze all convolutional InceptionV3 layers
    for layer in base_model.layers:
        layer.trainable = False

    # compile the model (should be done *after* setting layers to non-trainable)
    print "starting model compile"
    compile(model)
    print "model compile done"
    return model 

Kaggle-Sea-Lions-Solution

def get_model():
    input_shape = (image_size, image_size, 3)
    
    model = Sequential()

    model.add(Conv2D(32, kernel_size=(3, 3), padding='same',
                     input_shape=input_shape))
    model.add(Activation('relu'))
    model.add(MaxPooling2D(pool_size=(2, 2)))
    
    model.add(Conv2D(64, kernel_size=(3, 3), padding='same'))
    model.add(Activation('relu'))
    model.add(MaxPooling2D(pool_size=(2, 2)))
    
    model.add(Conv2D(128, kernel_size=(3, 3), padding='same'))
    model.add(Activation('relu'))
    model.add(MaxPooling2D(pool_size=(2, 2)))
        
    model.add(Conv2D(n_classes, kernel_size=(3, 3), padding='same'))
    model.add(Activation('relu'))
    model.add(MaxPooling2D(pool_size=(2, 2)))

    model.add(GlobalAveragePooling2D())
    
    print (model.summary())
    #sys.exit(0) #

    model.compile(loss=keras.losses.mean_squared_error,
            optimizer= keras.optimizers.Adadelta())
             
    return model 
 
来源: https://www.programcreek.com/python/example/89688/keras.layers.GlobalAveragePooling2D
 
 
 
 
 

免责声明:文章转载自《Keras GlobalAveragePooling2D 示例代码》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Druid 架构火柴棍等式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用Keras进行深度学习:(二)CNN讲解及实践

欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习、深度学习的知识! 现今最主流的处理图像数据的技术当属深度神经网络了,尤其是卷积神经网络CNN尤为出名。本文将通过讲解CNN的介绍以及使用keras搭建CNN常用模型LeNet-5实现对MNist数据集分类,从而使得读者更好的理解CNN。 1....

LSTM 详解

1、定义:什么是LSTM? 首先,我们知道最基础的神经网络是【全连接神经网络】,keras里为,dense层。Dense就是常用的全连接层,所实现的运算是output = activation(dot(input, kernel)+bias)。其中activation是逐元素计算的激活函数,kernel是本层的权值矩阵,bias为偏置向量,只有当use_b...

利用LSTM(长短期记忆网络)来处理脑电数据

目录 LSTM 原理介绍 LSTM的核心思想 一步一步理解LSTM 代码案例 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区(微信号:Brain_Computer).QQ交流群:903290195 Rose小哥今天介绍一下用LSTM来处理脑电数据。 LSTM 原理介绍 LSTMs(Long Short Term Memory net...

Tensorflow2.0学习(6)---Keras

来自书籍:TensorFlow深度学习 一、常见功能模块 经典数据集加载函数 网络层类 模型容器 损失函数类 优化器类 经典模型类 1、网络层类: 两种实现方式:张量方式(tf.nn)和层方式(tf.keras.layers) 如实现Softmax层: tf.nn.softmax函数实现; layers.Softmax(axis)类搭建Softmax...

《python深度学习》笔记---3.1、神经网络剖析

《python深度学习》笔记---3.1、神经网络剖析 一、总结 一句话总结: |||-being 训练神经网络主要围绕以下四个方面,构建好架构,还是非常简单的 |||-end 层,多个层组合成网络(或模型)。 输入数据和相应的目标。 损失函数,即用于学习的反馈信号。 优化器,决定学习过程如何进行。 1、层:深度学习的基础组件 ? 输入张量转化为输出张量:...

《python深度学习》笔记---3.2-3.3、Keras 简介

《python深度学习》笔记---3.2-3.3、Keras 简介 一、总结 一句话总结: 不处理张量操作:Keras 是一个模型级(model-level)的库,为开发深度学习模型提供了高层次的构建模块。 它不处理张量操作、求微分等低层次的运算 Keras张量操作由后端引擎实现:Keras 有三个后端实现:TensorFlow 后端、 Theano 后端...