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之有容乃大的list(1)
Sep 14 Python
Python中列表、字典、元组、集合数据结构整理
Nov 20 Python
在Python中使用SQLite的简单教程
Apr 29 Python
python 不同方式读取文件速度不同的实例
Nov 09 Python
对python遍历文件夹中的所有jpg文件的实例详解
Dec 08 Python
详解python websocket获取实时数据的几种常见链接方式
Jul 01 Python
Python实现的统计文章单词次数功能示例
Jul 08 Python
python调用Matplotlib绘制分布点图
Oct 18 Python
pandas中read_csv的缺失值处理方式
Dec 19 Python
Python加密模块的hashlib,hmac模块使用解析
Jan 02 Python
tensorflow实现将ckpt转pb文件的方法
Apr 22 Python
音频处理 windows10下python三方库librosa安装教程
Jun 20 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
Laravel 5 框架入门(三)
2015/04/09 PHP
Yii框架实现的验证码、登录及退出功能示例
2017/05/20 PHP
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
Jquery颜色选择器ColorPicker实现代码
2012/11/14 Javascript
jquery选择器之基本过滤选择器详解
2014/01/27 Javascript
js使用for循环与innerHTML获取选中tr下td值
2014/09/26 Javascript
jQuery实现tab选项卡效果的方法
2015/07/08 Javascript
跟我学习javascript的基本类型和引用类型
2015/11/16 Javascript
基于javascript简单实现对身份证校验
2021/01/25 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
2016/05/09 Javascript
使用Vuex实现一个笔记应用的方法
2018/03/13 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
2018/12/11 Javascript
vue如何使用async、await实现同步请求
2019/12/09 Javascript
python实现根据主机名字获得所有ip地址的方法
2015/06/28 Python
Python设计模式编程中Adapter适配器模式的使用实例
2016/03/02 Python
Unicode和Python的中文处理
2017/03/19 Python
ubuntu安装mysql pycharm sublime
2018/02/20 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
2019/05/29 Python
Python lxml模块的基本使用方法分析
2019/12/21 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
html5实现图片转圈的动画效果——让页面动起来
2017/10/16 HTML / CSS
巧克力领导品牌瑞士莲美国官网:Lindt Chocolate美国
2016/08/25 全球购物
意大利网上购书网站:Libraccio.it
2021/02/03 全球购物
JAVA和C++区别都有哪些
2015/03/30 面试题
工程造价专业大学生自荐信
2013/10/01 职场文书
机械专业应届生求职信
2013/12/12 职场文书
最新的咖啡店创业计划书
2013/12/30 职场文书
农民工创业典型事迹
2014/01/25 职场文书
三八红旗手先进事迹材料
2014/05/13 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
公务员政审材料
2014/12/23 职场文书
2015年个人工作总结报告
2015/04/25 职场文书
《鸡兔同笼》教学反思
2016/02/19 职场文书
大学生奶茶店创业计划书
2019/06/25 职场文书