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实现向QQ群成员自动发邮件的方法
Nov 19 Python
利用python生成一个导出数据库的bat脚本文件的方法
Dec 30 Python
Python实现的文本简单可逆加密算法示例
May 18 Python
Python中模块pymysql查询结果后如何获取字段列表
Jun 05 Python
Python网络编程之TCP套接字简单用法示例
Apr 09 Python
python实现汽车管理系统
Nov 30 Python
Python随机生成身份证号码及校验功能
Dec 04 Python
Python使用requests提交HTTP表单的方法
Dec 26 Python
Python3.5内置模块之random模块用法实例分析
Apr 26 Python
使用python实现画AR模型时序图
Nov 20 Python
详解Python实现进度条的4种方式
Jan 15 Python
使用Django实现把两个模型类的数据聚合在一起
Mar 28 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来处理多个提交任务
2008/05/08 PHP
php-accelerator网站加速PHP缓冲的方法
2008/07/30 PHP
通达OA公共代码 php常用检测函数
2011/12/14 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
2016/12/29 PHP
laravel实现前后台路由分离的方法
2019/10/13 PHP
发现的以前不知道的函数
2006/09/19 Javascript
JQuery对id中含有特殊字符的转义处理示例
2013/09/06 Javascript
JS小游戏之仙剑翻牌源码详解
2014/09/25 Javascript
js实现微信分享代码
2020/10/11 Javascript
JS正则表达式比较常见用法
2016/01/26 Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
2016/05/05 Javascript
利用JS实现简单的日期选择插件
2017/01/23 Javascript
VUE中v-model和v-for指令详解
2017/06/23 Javascript
如何为你的JavaScript代码日志着色详解
2019/04/08 Javascript
详解新手使用vue-router传参时注意事项
2019/06/06 Javascript
vue3+typescript实现图片懒加载插件
2020/10/26 Javascript
[02:36]DOTA2上海特锦赛 回忆电竞生涯的重要瞬间
2016/03/25 DOTA
python实现批量转换文件编码(批转换编码示例)
2014/01/23 Python
Python基础教程之tcp socket编程详解及简单实例
2017/02/23 Python
Python标准库inspect的具体使用方法
2017/12/06 Python
10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)
2018/10/11 Python
Python configparser模块配置文件过程解析
2020/03/03 Python
利用python制作拼图小游戏的全过程
2020/12/04 Python
html Table 表头固定的实现
2019/01/22 HTML / CSS
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
绿色美容,有机护肤品和化妆品:Safe & Chic
2018/10/29 全球购物
Nip + Fab官网:英国美容品牌
2019/08/26 全球购物
Collection和Collections的区别
2016/05/02 面试题
活动志愿者自荐信
2014/01/27 职场文书
机械制造专业毕业生求职信
2014/03/02 职场文书
股指期货心得体会
2014/09/10 职场文书
办公室主任个人对照检查材料思想汇报
2014/10/11 职场文书
2015年党建工作汇报材料
2015/06/25 职场文书
Mysql分库分表之后主键处理的几种方法
2022/02/15 MySQL
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android