zoukankan      html  css  js  c++  java
  • Keras GlobalAveragePooling2D 示例代码

    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-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 
     
     
  • 相关阅读:
    文件上传漏洞之js验证
    文件上传漏洞靶机upload-labs(1到10)
    URI/URL/URN都是什么
    解压jdk报错gzip: stdin: not in gzip format
    burpsuite常见问题
    C/C++字符串反转的N种方法
    转 二叉树之Java实现二叉树基本操作
    MySQL 面试基础
    转 MySQL中的行级锁,表级锁,页级锁
    MySQL问题排查工具介绍
  • 原文地址:https://www.cnblogs.com/jins-note/p/9769324.html
Copyright © 2011-2022 走看看