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中对元组和列表按条件进行排序的方法示例
Nov 10 Python
Python中列表和元组的使用方法和区别详解
Dec 30 Python
Python开发的实用计算器完整实例
May 10 Python
Python matplotlib绘图可视化知识点整理(小结)
Mar 16 Python
JavaScript实现一维数组转化为二维数组
Apr 17 Python
Python/Django后端使用PIL Image生成头像缩略图
Apr 30 Python
Python分支语句与循环语句应用实例分析
May 07 Python
Python 控制终端输出文字的实例
Jul 12 Python
详解numpy矩阵的创建与数据类型
Oct 18 Python
python中的itertools的使用详解
Jan 13 Python
python 解压、复制、删除 文件的实例代码
Feb 26 Python
python实现自动清理重复文件
Aug 24 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
2019年漫画销量排行榜:鬼灭登顶 海贼单卷制霸 尾田盛赞鬼灭
2020/03/08 日漫
php json_encode奇怪问题说明
2011/09/27 PHP
5款适合PHP使用的HTML编辑器推荐
2015/07/03 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
2016/01/08 PHP
laravel框架实现去掉URL中index.php的方法
2019/10/12 PHP
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
2019/10/15 PHP
javascript中获取选中对象的类型
2007/04/02 Javascript
JS去除字符串的空格增强版(可以去除中间的空格)
2009/08/26 Javascript
javascript window对象属性整理
2009/10/24 Javascript
jQuery实现的简单提示信息插件
2015/12/08 Javascript
Angular.js中$apply()和$digest()的深入理解
2016/10/13 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
Vue项目引进ElementUI组件的方法
2018/11/11 Javascript
vue中将html字符串转换成html后遇到的问题小结
2018/12/10 Javascript
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
[04:52]DOTA2亚洲邀请赛附加赛 TOP10精彩集锦
2015/01/29 DOTA
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
2017/11/29 Python
Python实现微信机器人的方法
2019/09/06 Python
Python partial函数原理及用法解析
2019/12/11 Python
matplotlib绘制多子图共享鼠标光标的方法示例
2021/01/08 Python
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
ASOS英国官网:英国在线时装和化妆品零售商
2017/05/19 全球购物
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
学前教育毕业生自荐信
2013/10/29 职场文书
教师简历自我评价
2014/02/03 职场文书
关于成绩下滑的自我检讨书
2014/09/20 职场文书
领导班子对照检查材料
2014/09/22 职场文书
职工培训工作总结
2015/08/10 职场文书
2016年教师寒假学习心得体会
2015/10/09 职场文书
关于Vue Router的10条高级技巧总结
2021/05/06 Vue.js
springboot中的pom文件 project报错问题
2022/01/18 Java/Android