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正则表达式re模块详解
Jun 25 Python
Python中的zipfile模块使用详解
Jun 25 Python
浅谈pandas用groupby后对层级索引levels的处理方法
Nov 06 Python
selenium+python自动化测试环境搭建步骤
Jun 03 Python
pycharm创建scrapy项目教程及遇到的坑解析
Aug 15 Python
Python (Win)readline和tab补全的安装方法
Aug 27 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
Oct 04 Python
keras实现多种分类网络的方式
Jun 11 Python
Python Django搭建网站流程图解
Jun 13 Python
python 多线程共享全局变量的优劣
Sep 24 Python
Python自动化之批量处理工作簿和工作表
Jun 03 Python
Python matplotlib绘制雷达图
Apr 13 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
纯JAVASCRIPT图表动画插件Highcharts Examples
2011/04/16 Javascript
css transform 3D幻灯片特效实现步骤解读
2013/03/27 Javascript
javascript实现焦点滚动图效果 具体方法
2013/06/24 Javascript
jQuery标签编辑插件Tagit使用指南
2015/04/21 Javascript
Vue.js中兄弟组件之间互相传值实例
2017/06/01 Javascript
JavaScript hasOwnProperty() 函数实例详解
2017/08/04 Javascript
原生JS+Canvas实现五子棋游戏
2020/05/28 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
2017/12/01 Javascript
将Sublime Text 3 添加到右键中的简单方法
2017/12/12 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
jQuery+Cookie实现切换皮肤功能【附源码下载】
2018/03/25 jQuery
JavaScript中发出HTTP请求最常用的方法
2018/07/12 Javascript
使用svg实现动态时钟效果
2018/07/17 Javascript
微信小程序页面间值传递的两种方法
2018/11/26 Javascript
vue使用openlayers实现移动点动画
2020/09/24 Javascript
python简单实现基数排序算法
2015/05/16 Python
Python输出9*9乘法表的方法
2015/05/25 Python
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
python中requests和https使用简单示例
2018/01/18 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
python3.5基于TCP实现文件传输
2020/03/20 Python
python学生信息管理系统(完整版)
2020/04/05 Python
使用python进行拆分大文件的方法
2018/12/10 Python
python 使用pandas计算累积求和的方法
2019/02/08 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
Python将json文件写入ES数据库的方法
2019/04/10 Python
python实现猜拳小游戏
2020/04/05 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
2020/04/15 Python
使用python-cv2实现视频的分解与合成的示例代码
2020/10/26 Python
使用Python下载抖音各大V视频的思路详解
2021/02/06 Python
CSS3实战第一波 让我们尽情的圆角吧
2010/08/27 HTML / CSS
ddl,dml和dcl的含义
2016/05/08 面试题
大学生年度自我鉴定
2013/10/31 职场文书
打架检讨书50字
2014/01/11 职场文书
班级课外活动总结
2014/07/09 职场文书
小学教师节活动总结
2015/03/20 职场文书