keras slice layer 层实现方式


Posted in Python onJune 11, 2020

注意的地方: keras中每层的输入输出的tensor是张量, 比如Tensor shape是(N, H, W, C), 对于tf后台, channels_last

Define a slice layer using Lamda layer
def slice(x, h1, h2, w1, w2):
 """ Define a tensor slice function
 """
 return x[:, h1:h2, w1:w2, :]

定义完slice function之后,利用lambda layer添加到定义的网络中去

# Add slice layer
slice_1 = Lambda(slice, arguments={'h1': 0, 'h2': 6, 'w1': 0, 'w2': 6})(sliced)
# As for tensorfow backend, Lambda doesn't need output shape argument
slice_2 = Lambda(slice, arguments={'h1': 0, 'h2': 6, 'w1': 6, 'w2': 12})(sliced)

补充知识:tensorflow和keras张量切片(slice)

Notes

想将一个向量keras slice layer 层实现方式 分割成两部分:keras slice layer 层实现方式 操作大概是:

keras slice layer 层实现方式

在 TensorFlow 中,用 tf.slice 实现张量切片,Keras 中自定义 Lambda 层实现。

TensorFlow

tf.slice(input_, begin, size, name=None)

input_:tf.tensor,被操作的 tensor

begin:list,各个维度的开始下标

size:list,各个维度上要截多长

import tensorflow as tf

with tf.Session() as sess:
 a = tf.constant([1, 2, 3, 4, 5])
 b = tf.slice(a, [0], [2]) # 第一个维度从 0 开始,截 2 个
 c = tf.slice(a, [2], [3]) # 第一个维度从 2 开始,截 3 个
 print(a.eval())
 print(b.eval())
 print(c.eval())

输出

[1 2 3 4 5]
[1 2]
[3 4 5]

Keras

from keras.layers import Lambda
from keras.models import Sequential
import numpy as np

a = np.array([[1, 2, 3, 4, 5]])
model = Sequential([
 Lambda(lambda a: a[:, :2], input_shape=[5]) # 第二维截前 2 个
])

print(model.predict(a))

输出

[[1. 2.]]

以上这篇keras slice layer 层实现方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python判断windows系统是32位还是64位的方法
May 11 Python
python统计cpu利用率的方法
Jun 02 Python
python实现随机森林random forest的原理及方法
Dec 21 Python
python使用udp实现聊天器功能
Dec 10 Python
python 命令行传入参数实现解析
Aug 30 Python
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
Oct 14 Python
wxPython实现列表增删改查功能
Nov 19 Python
python 解决cv2绘制中文乱码问题
Dec 23 Python
Python3 获取文件属性的方式(时间、大小等)
Mar 12 Python
Python PyQt5模块实现窗口GUI界面代码实例
May 12 Python
python seaborn heatmap可视化相关性矩阵实例
Jun 03 Python
jupyter notebook指定启动目录的方法
Mar 02 Python
Spring http服务远程调用实现过程解析
Jun 11 #Python
keras Lambda自定义层实现数据的切片方式,Lambda传参数
Jun 11 #Python
python怎么提高计算速度
Jun 11 #Python
Python 实现自动登录+点击+滑动验证功能
Jun 10 #Python
Python函数参数定义及传递方式解析
Jun 10 #Python
什么是python类属性
Jun 10 #Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
Jun 10 #Python
You might like
php禁用函数设置及查看方法详解
2016/07/25 PHP
Javascript中的相等与不等运算
2010/04/25 Javascript
详解JavaScript ES6中的Generator
2015/07/28 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
不能不知道的10个angularjs英文学习网站
2016/03/23 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
Vue中的v-cloak使用解读
2017/03/27 Javascript
Node.js实现文件上传的示例
2017/06/28 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
完美解决linux下node.js全局模块找不到的情况
2018/05/16 Javascript
基于VUE的v-charts的曲线显示功能
2019/10/01 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
2019/12/04 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
node.js使用stream模块实现自定义流示例
2020/02/13 Javascript
[55:16]Mski vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
详解Python的Django框架中manage命令的使用与扩展
2016/04/11 Python
浅谈django中的认证与登录
2016/10/31 Python
python的变量与赋值详细分析
2017/11/08 Python
Python3 列表,数组,矩阵的相互转换的方法示例
2019/08/05 Python
Django之腾讯云短信的实现
2020/06/12 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
Belvilla德国:在线预订度假屋
2018/04/10 全球购物
精细化工应届生求职信
2013/11/17 职场文书
教师现实表现材料
2014/02/14 职场文书
文秘个人求职信范文
2014/04/22 职场文书
小学生爱国演讲稿
2014/04/25 职场文书
考察现实表现材料
2014/05/19 职场文书
公积金贷款承诺书
2015/04/30 职场文书
勤俭节约主题班会
2015/08/13 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
python 逐步回归算法
2021/04/06 Python
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL
电脑只能进入安全模式无法正常启动的解决办法
2022/04/08 数码科技