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内置函数bin() oct()等实现进制转换
Dec 30 Python
零基础写python爬虫之爬虫框架Scrapy安装配置
Nov 06 Python
Python中的进程分支fork和exec详解
Apr 11 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
Jun 28 Python
Python面向对象程序设计类的封装与继承用法示例
Apr 12 Python
python 循环数据赋值实例
Dec 02 Python
python多进程并发demo实例解析
Dec 13 Python
解决Pycharm的项目目录突然消失的问题
Jan 20 Python
python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例
Mar 09 Python
Python的历史与优缺点整理
May 26 Python
Pycharm生成可执行文件.exe的实现方法
Jun 02 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
Nov 30 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
解析VS2010利用VS.PHP插件调试PHP的方法
2013/07/19 PHP
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
深入理解PHP+Mysql分布式事务与解决方案
2020/12/03 PHP
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
2012/12/27 Javascript
jquery解决图片路径不存在执行替换路径
2013/02/06 Javascript
javascript 对象数组根据对象object key的值排序
2015/03/09 Javascript
详解iframe与frame的区别
2016/01/13 Javascript
实战node静态文件服务器的示例代码
2018/03/08 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
2018/09/18 Javascript
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
2018/10/19 Javascript
js实现简单的随机点名器
2020/09/17 Javascript
python3访问sina首页中文的处理方法
2014/02/24 Python
Python简单实现安全开关文件的两种方式
2016/09/19 Python
Python 基础教程之包和类的用法
2017/02/23 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
Python实现将数据写入netCDF4中的方法示例
2018/08/30 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
2020/01/03 Python
Jupyter Notebook输出矢量图实例
2020/04/14 Python
python logging.info在终端没输出的解决
2020/05/12 Python
Tensorflow tensor 数学运算和逻辑运算方式
2020/06/30 Python
Python faker生成器生成虚拟数据代码实例
2020/07/20 Python
PyQt中使用QtSql连接MySql数据库的方法
2020/07/28 Python
Django3中的自定义用户模型实例详解
2020/08/23 Python
python 绘制国旗的示例
2020/09/27 Python
美国大型的健身社区和补充商店:Bodybuilding.com
2016/09/06 全球购物
幼儿园国庆节活动方案
2014/02/01 职场文书
保护母亲河倡议书
2014/04/14 职场文书
幼儿园课题方案
2014/06/09 职场文书
学习型家庭事迹材料
2014/12/20 职场文书
六一儿童节开幕词
2015/01/29 职场文书
安全生产培训心得体会
2016/01/18 职场文书
员工试用期工作总结
2019/06/20 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL
Pygame Rect区域位置的使用(图文)
2021/11/17 Python