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 序列的方法总结
Oct 18 Python
python后端接收前端回传的文件方法
Jan 02 Python
Python实现 版本号对比功能的实例代码
Apr 18 Python
Python中一个for循环循环多个变量的示例
Jul 16 Python
django的分页器Paginator 从django中导入类
Jul 25 Python
Python3从零开始搭建一个语音对话机器人的实现
Aug 23 Python
windows下Python安装、使用教程和Notepad++的使用教程
Oct 06 Python
Python爬虫使用代理IP的实现
Oct 27 Python
git查看、创建、删除、本地、远程分支方法详解
Feb 18 Python
Django实现后台上传并显示图片功能
May 29 Python
Django contrib auth authenticate函数源码解析
Nov 12 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自动加载autoload机制示例分享
2014/02/20 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
2010/04/20 Javascript
JQuery动画animate的stop方法使用详解
2014/05/09 Javascript
在JavaScript中处理数组之reverse()方法的使用
2015/06/09 Javascript
javascript中加var和不加var的区别 你真的懂吗
2016/01/06 Javascript
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
ReactNative列表ListView的用法
2017/08/02 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
2019/04/16 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
通过实例解析javascript Date对象属性及方法
2020/11/04 Javascript
python生成IP段的方法
2015/07/07 Python
Python中在脚本中引用其他文件函数的实现方法
2016/06/23 Python
Python中 Lambda表达式全面解析
2016/11/28 Python
利用python实现数据分析
2017/01/11 Python
如何在python中使用selenium的示例
2017/12/26 Python
Python tkinter label 更新方法
2018/10/11 Python
Django REST framework 单元测试实例解析
2019/11/07 Python
python 变量初始化空列表的例子
2019/11/28 Python
用python爬取历史天气数据的方法示例
2019/12/30 Python
Python3 元组tuple入门基础
2020/02/09 Python
python中setuptools的作用是什么
2020/06/19 Python
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
什么是静态路由?什么是动态路由?各自的特点是什么?
2015/09/16 面试题
毕业生求职简历的自我评价
2013/10/07 职场文书
文明风采获奖感言
2014/02/18 职场文书
星级党支部申报材料
2014/05/31 职场文书
纪检干部现实表现材料
2014/08/21 职场文书
课外访万家心得体会
2014/09/03 职场文书
2015年社区精神文明工作总结
2015/05/26 职场文书
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python
springboot 启动如何排除某些bean的注入
2021/08/02 Java/Android
Python图片验证码降噪和8邻域降噪
2021/08/30 Python
以下牛机,你有几个
2022/04/05 无线电
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL