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 相关文章推荐
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
Aug 22 Python
python和bash统计CPU利用率的方法
Jul 10 Python
在Django框架中编写Contact表单的教程
Jul 17 Python
Python爬取京东的商品分类与链接
Aug 26 Python
Python实现的中国剩余定理算法示例
Aug 05 Python
itchat-python搭建微信机器人(附示例)
Jun 11 Python
简单了解python代码优化小技巧
Jul 08 Python
Python 日期区间处理 (本周本月上周上月...)
Aug 08 Python
Python内置加密模块用法解析
Nov 25 Python
基于jupyter代码无法在pycharm中运行的解决方法
Apr 21 Python
python时间序列数据转为timestamp格式的方法
Aug 03 Python
python 三边测量定位的实现代码
Apr 22 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
PHP写的获取各搜索蜘蛛爬行记录代码
2012/08/21 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
Yii框架核心组件类实例详解
2019/08/06 PHP
php连接sftp的作用以及实例代码
2019/09/23 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
2020/09/17 PHP
js函数调用常用方法详解
2012/12/03 Javascript
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
d3.js实现立体柱图的方法详解
2017/04/28 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
推荐10款扩展Web表单的JS插件
2017/12/25 Javascript
使用 UniApp 实现小程序的微信登录功能
2020/06/09 Javascript
jQuery 实现扁平式小清新导航
2020/07/07 jQuery
nodejs中的异步编程知识点详解
2021/01/17 NodeJs
详解Python中的join()函数的用法
2015/04/07 Python
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
2015/08/10 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
2019/04/17 Python
pycharm新建一个python工程步骤
2019/07/16 Python
原生python实现knn分类算法
2019/10/24 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
python 使用cx-freeze打包程序的实现
2020/03/14 Python
python爬虫容易学吗
2020/06/02 Python
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
车间主任岗位职责
2014/03/16 职场文书
矿泉水广告词
2014/03/20 职场文书
空气的环保标语
2014/06/12 职场文书
公司活动总结怎么写
2014/06/25 职场文书
学校周年庆活动方案
2014/08/22 职场文书
群众路线教育查摆剖析材料
2014/10/10 职场文书
2014年文秘工作总结
2014/11/25 职场文书
仓库管理员岗位职责
2015/02/03 职场文书
全陪导游词开场白
2015/05/29 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
小学校长开学致辞
2015/07/29 职场文书
62句有关感恩节文案(推荐收藏)
2019/11/28 职场文书