keras 使用Lambda 快速新建层 添加多个参数操作


Posted in Python onJune 10, 2020

keras许多简单操作,都需要新建一个层,使用Lambda可以很好完成需求。

# 额外参数
def normal_reshape(x, shape):
 return K.reshape(x,shape)
 
output = Lambda(normal_reshape, arguments={'shape':(-1, image_seq, 1000)})(output)
output = Lambda(lambda inp: K.mean(inp, axis=1), output_shape=(1000,))(output)

更多参考

补充知识:keras 实现包括batch size所在维度的reshape,使用backend新建一层 针对多输入使用不同batch size折衷解决办法

新建层,可以在此层内使用backend完成想要的功能,如包含batch size维度在内的reshpe:

def backend_reshape(x): return backend.reshape(x, (-1, 5, 256))

使用lambda方法调用层:

vision_model.add(Lambda(backend_reshape, output_shape=(5, 256)))

注意指定输出维度

在多输入问题中,有时两个输入具有不同的batch size,但在keras无法直接实现。我所遇到的问题是,我有两个输入分别是图像输入和问题输入,对于图像输入每个样本是一个图像序列。这就要求我们在把图像序列输入到CNN中时是一张一张图像。

我的解决办法是在输入是把图像序列作为一个样本,等输入进去后,通过上述的reshape方法将图像序列重新拆分成一张张图像输入到CNN,然后在后期处理时重新reshape成一个序列样本。

代码:

image_seq = 4
def preprocess_reshape(x):
 return K.reshape(x, (-1, 224, 224,3))
 
def backend_reshape(x):
 return K.reshape(x, (-1, image_seq, 256))
image_input = Input(shape=(image_seq, 224, 224, 3) , name='input_img')
image_re = Lambda(preprocess_reshape, output_shape=(224,224,3))(image_input)
im_pre = Lambda(preprocess_input, name='preprocessing')(image_re)

vision_model.add(Lambda(backend_reshape, output_shape=(image_seq, 256))) vision_model.add(LSTM(256, kernel_regularizer=l2, recurrent_regularizer=l2))

以上这篇keras 使用Lambda 快速新建层 添加多个参数操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python3.3使用tkinter开发猜数字游戏示例
Mar 14 Python
Django中使用group_by的方法
May 26 Python
python制作企业邮箱的爆破脚本
Oct 05 Python
Python文本相似性计算之编辑距离详解
Nov 28 Python
Python中的探索性数据分析(功能式)
Dec 22 Python
win10 64bit下python NLTK安装教程
Sep 19 Python
在Python中通过getattr获取对象引用的方法
Jan 21 Python
Python常用数据类型之间的转换总结
Sep 06 Python
tensorflow模型继续训练 fineturn实例
Jan 21 Python
tensorflow 查看梯度方式
Feb 04 Python
python可视化大屏库big_screen示例详解
Nov 23 Python
如何利用python创作字符画
Jun 25 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
Jun 10 #Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
Jun 10 #Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
Jun 10 #Python
浅谈Python中的字符串
Jun 10 #Python
Keras 使用 Lambda层详解
Jun 10 #Python
keras打印loss对权重的导数方式
Jun 10 #Python
Python xlrd模块导入过程及常用操作
Jun 10 #Python
You might like
Laravel中log无法写入问题的解决
2017/06/17 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
2017/12/28 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
PHP 自动加载类原理与用法实例分析
2020/04/14 PHP
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
offsetParent 算法分析
2010/04/05 Javascript
JS 实现获取打开一个界面中输入的值
2013/03/19 Javascript
鼠标滑过出现预览的大图提示效果
2014/02/26 Javascript
javascript实现全角转半角的方法
2016/01/23 Javascript
IScroll5 中文API参数说明和调用方法
2016/05/21 Javascript
jQuery each函数源码分析
2016/05/25 Javascript
AngularJS实现标签页的两种方式
2016/09/05 Javascript
jQuery设计思想
2017/03/07 Javascript
jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
2017/03/09 Javascript
简单实现js进度条加载效果
2020/03/25 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
微信运维交互机器人的示例代码
2018/11/12 Javascript
使用layer弹窗提交表单时判断表单是否输入为空的例子
2019/09/26 Javascript
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
VSCode 添加自定义注释的方法(附带红色警戒经典注释风格)
2020/08/27 Javascript
python实现生命游戏的示例代码(Game of Life)
2018/01/24 Python
24式加速你的Python(小结)
2019/06/13 Python
Django获取该数据的上一条和下一条方法
2019/08/12 Python
OpenCV+face++实现实时人脸识别解锁功能
2019/08/28 Python
pytorch:实现简单的GAN示例(MNIST数据集)
2020/01/10 Python
Perfume’s Club德国官网:在线购买香水
2019/04/08 全球购物
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
献爱心大型公益活动策划方案
2014/09/15 职场文书
甜品店创业计划书
2014/09/21 职场文书
文明班级申报材料
2014/12/24 职场文书
检讨书范文
2015/01/27 职场文书
评职称个人总结
2015/03/05 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
永远是春天观后感
2015/06/12 职场文书
2015年公司国庆放假通知
2015/07/30 职场文书
2016高三毕业赠言寄语
2015/12/04 职场文书