Keras GlobalAveragePooling2D 示例代码
2024-08-21 13:45:01
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
最新文章
- 0039 Java学习笔记-多线程-线程控制、线程组
- pdf.js pdfdom.js使用(转)
- div,li,span自适应宽度换行问题
- session保存用户信息
- 7、SQL Server索引、表压缩
- 钉钉客户端JS-API权限签名算法.NET版
- XMLHTTPRequest/Ajax请求 和普通请求的区别
- jenkins集成ansible注意事项Failed to connect to the host via ssh.
- Eclipse for Mac 常用快捷键
- csuoj 1507: 超大型LED显示屏
- hdu5314 Happy King
- (转)用AGG实现高质量图形输出(一)
- rsync同步工具学习笔记
- JSP和Servlet的区别。
- android 豆瓣客户端 视频
- linux的视频学习4(网络配置和rpm)
- 如何获得select被选中option的value和text
- Windows下Mongodb启动问题
- C语言实例:数组与字符串
- 使用libvirtAPI打快照原理
热门文章
- Openerp负载平衡
- 搭建Nuget.Server push时,";Failed to process request. 'Method Not Allowed'";
- sql 获取列名
- SpringMVC和dubbo简单的整合(附Demo)
- java学习-java.lang.Math随机数生成
- tensorflow summary
- java-TreeSet进行排序的2种方式
- Linux C 遍历指定目录
- java 之 异常处理小结
- tomcat与jboss等容器的区别