keras TimeDistributed 包装器
来源:互联网 发布:积分编排软件 编辑:程序博客网 时间:2024/06/05 03:15
官方中文文档的说明如下:
输入至少为3D张量,下标为1的维度将被认为是时间维
例如,考虑一个含有32个样本的batch,每个样本都是10个向量组成的序列,每个向量长为16,则其输入维度为(32,10,16)
,其不包含batch大小的input_shape
为(10,16)
我们可以使用包装器TimeDistributed
包装Dense
,以产生针对各个时间步信号的独立全连接:
用途举例:
在搭建需要独立连接时的结构时需要用到,比如在faster rcnn中,在最后fast rcnn的结构中进行类别判断和box框的回归时,需要对num_rois个感兴趣区域ROIs进行回归处理,每一个区域的处理是相对独立的,等价于此时的时间步为num_rois,举例代码如下:
def classifier(base_layers, input_rois, num_rois, nb_classes=21, trainable=False): # compile times on theano tend to be very high, so we use smaller ROI pooling regions to workaround if K.backend() == 'tensorflow': pooling_regions = 14 input_shape = (num_rois, 14, 14, 1024) elif K.backend() == 'theano': pooling_regions = 7 input_shape = (num_rois, 1024, 7, 7) out_roi_pool = RoiPoolingConv(pooling_regions, num_rois)([base_layers, input_rois]) # 该层的输入为feature maps和roi的坐标信息 out = classifier_layers(out_roi_pool, input_shape=input_shape, trainable=True) # 输出的是(None, num_riois, 2048)的feature map out = TimeDistributed(Flatten())(out) # 因为是对num_rois个feature maps分别处理的,所以需要使用timedistributed进行包装 out_class = TimeDistributed(Dense(nb_classes, activation='softmax', kernel_initializer='zero'), name='dense_class_{}'.format(nb_classes))(out) # 我们可以使用包装器TimeDistributed包装Dense,以产生针对各个时间步信号的独立全连接 # note: no regression target for bg class out_regr = TimeDistributed(Dense(4 * (nb_classes - 1), activation='linear', kernel_initializer='zero'), name='dense_regress_{}'.format(nb_classes))(out) return [out_class, out_regr] # 一共有num_riois个out_class和out_regr
注:个人感觉这个思路和功能与slice layer非常相似
阅读全文
0 0
- keras TimeDistributed 包装器
- keras
- keras
- keras
- Keras
- keras
- Keras
- keras
- 线程包装器
- Mutex包装器
- 日志包装器
- 日期包装器
- 套接字包装器
- 类型包装器
- vector包装器
- Java 包装器潜规则
- redhat passwd包装器
- ServletResponse 包装器 ResponseWrapper
- hadoop eclipse 权威指南天气代码远程调试
- python-scrapy教程(三):实战——采集芒果TV综艺节目信息
- cat sed命令
- [编程题] 黑白卡片
- Android实现拍照及从相册获取图片
- keras TimeDistributed 包装器
- Python list排序的两种方法及实例讲解
- HDOJ 2015 偶数求和问题
- Mysql-01
- ELK-01
- 2017 Multi-University Training Contest
- java面试Linux常用命令使用方法大全
- 程序员的职业素养_心得体会
- node.js中使用http模块发送请求时的一个小错误