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中使用hashlib模块处理算法的教程
Apr 28 Python
win10系统中安装scrapy-1.1
Jul 03 Python
利用python爬取软考试题之ip自动代理
Mar 28 Python
Centos7 Python3下安装scrapy的详细步骤
Mar 15 Python
解决python中使用plot画图,图不显示的问题
Jul 04 Python
解决python中遇到字典里key值为None的情况,取不出来的问题
Oct 17 Python
python 实现批量xls文件转csv文件的方法
Oct 23 Python
Python Pexpect库的简单使用方法
Jan 29 Python
Django 中自定义 Admin 样式与功能的实现方法
Jul 04 Python
Django CBV与FBV原理及实例详解
Aug 12 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
Feb 26 Python
关于python中readlines函数的参数hint的相关知识总结
Jun 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
PHP数组交集的优化代码分析
2011/03/06 PHP
如何突破PHP程序员的技术瓶颈分析
2011/07/17 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
2011/12/25 PHP
关于PHP的相似度计算函数:levenshtein的使用介绍
2013/04/15 PHP
php分享朋友圈的实现代码
2019/02/18 PHP
NiftyCube——轻松实现圆角边框
2007/02/20 Javascript
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
javascript实现汉字转拼音代码分享
2015/04/20 Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
2015/12/04 Javascript
web 屏蔽BackSpace键实例代码
2016/12/24 Javascript
JS排序之选择排序详解
2017/04/08 Javascript
基于nodejs res.end和res.send的区别
2018/05/14 NodeJs
vuejs+element UI table表格中实现禁用部分复选框的方法
2019/09/20 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
[01:24:51]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第二场
2014/05/26 DOTA
python zip文件 压缩
2008/12/24 Python
numpy排序与集合运算用法示例
2017/12/15 Python
Python对Tornado请求与响应的数据处理
2020/02/12 Python
python pptx复制指定页的ppt教程
2020/02/14 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
2020/04/21 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
世界上最好的足球商店:Unisport
2019/03/02 全球购物
接口的多继承会带来哪些问题
2015/08/17 面试题
企业道德讲堂实施方案
2014/03/19 职场文书
服务标兵事迹材料
2014/05/04 职场文书
七一建党节演讲稿
2014/09/11 职场文书
2014财务年度工作总结
2014/11/11 职场文书
2014年银行柜员工作总结
2014/11/12 职场文书
技术员岗位职责
2015/02/04 职场文书
党支部鉴定意见
2015/06/02 职场文书
少年派的奇幻漂流观后感
2015/06/08 职场文书
践行三严三实心得体会(2016推荐篇)
2016/01/06 职场文书
文书工作总结(范文)
2019/07/11 职场文书
Java elasticsearch安装以及部署教程
2021/06/28 Java/Android