tensorflow 实现自定义layer并添加到计算图中


Posted in Python onFebruary 04, 2020

目的

将用户自定义的layer结合tensorflow自带的layer组成多层layer的计算图。

实现功能

对2D图像进行滑动窗口平均,并通过自定义的操作layer返回结果。

import tensorflow as tf
import numpy as np
sess = tf.Session()

#将size设为[1, 4, 4, 1]是因为tf中图像函数是处理四维图片的。
#这四维依次是: 图片数量,高度, 宽度, 颜色通道
x_shape = [1,4,4,1]
x_val = np.random.uniform(size = x_shape)


#tf.nn.conv2d中name表明该layer命名为“Moving_Avg_Window”
#该卷积核为[[0.25,0.25],[0.25,0.25]],所以是一个求平均操作
x_data = tf.placeholder(tf.float32, shape = x_shape)
my_filter = tf.constant(0.25, shape = [2,2,1,1])
my_strides = [1,2,2,1]
mov_avg_layer = tf.nn.conv2d(x_data, my_filter, my_strides, padding = 'SAME', name = 'Moving_Avg_Window')


#自定义layer,对卷积操作之后的输出做操作
def custom_layer(input_matrix):
  input_matrix_sqeeze = tf.squeeze(input_matrix)
  A = tf.constant([1.,2.],[-1.,3.])
  b = tf.constant(1., shape = [2,2])
  temp1 = tf.matmul(A, input_matrix_sqeeze)
  temp2 = tf.add(temp1, b)
  return(tf.sigmod(temp2))
#把刚刚自定义的layer加入到计算图中,并给予自定义的命名(利用tf.name_scope())
with tf.name_scope('Custom_Layer') as scope:
  custom_layer1 = custom_layer(mov_avg_layer)


#为占位符传入4*4图片,并执行计算图
print(sess.run(custom_layer, feed_dict= {x_data: x_val}))

以上这篇tensorflow 实现自定义layer并添加到计算图中就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python中使用NLTK库实现对词干的提取的教程
Apr 08 Python
详解Python的Django框架中的模版相关知识
Jul 15 Python
Python手机号码归属地查询代码
May 04 Python
基于python中pygame模块的Linux下安装过程(详解)
Nov 09 Python
python的socket编程入门
Jan 29 Python
Python实现求解括号匹配问题的方法
Apr 17 Python
Python多进程multiprocessing.Pool类详解
Apr 27 Python
Python opencv实现人眼/人脸识别以及实时打码处理
Apr 29 Python
详解python解压压缩包的五种方法
Jul 05 Python
python或C++读取指定文件夹下的所有图片
Aug 31 Python
解决tensorflow训练时内存持续增加并占满的问题
Jan 19 Python
Python中内建模块collections如何使用
May 27 Python
TensorFlow实现自定义Op方式
Feb 04 #Python
tensorflow使用指定gpu的方法
Feb 04 #Python
TensorFlow梯度求解tf.gradients实例
Feb 04 #Python
基于TensorFlow中自定义梯度的2种方式
Feb 04 #Python
tensorflow 查看梯度方式
Feb 04 #Python
opencv python图像梯度实例详解
Feb 04 #Python
TensorFlow设置日志级别的几种方式小结
Feb 04 #Python
You might like
2019十大人气国漫
2020/03/13 国漫
使用网络地址转换实现多服务器负载均衡
2006/10/09 PHP
PHP网站备份程序代码分享
2011/06/10 PHP
PHP中防止直接访问或查看或下载config.php文件的方法
2012/07/07 PHP
php动态读取数据清除最右边距的方法
2017/04/12 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
2019/12/31 PHP
Jquery 的扩展方法总结
2011/10/01 Javascript
javascript 实现简单的table排序及table操作练习
2012/12/28 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
jQuery中next()方法用法实例
2015/01/07 Javascript
jquery实现的蓝色二级导航条效果代码
2015/08/24 Javascript
js弹出对话框方式小结
2015/11/17 Javascript
Jquery元素追加和删除的实现方法
2016/05/24 Javascript
JS实现简单获取最近7天和最近3天日期的方法
2018/04/18 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
vue强制刷新组件的方法示例
2019/02/28 Javascript
python操作CouchDB的方法
2014/10/08 Python
各个系统下的Python解释器相关安装方法
2015/10/12 Python
实例讲解Python编程中@property装饰器的用法
2016/06/20 Python
浅谈Python traceback的优雅处理
2018/08/31 Python
使用Rasterio读取栅格数据的实例讲解
2019/11/26 Python
python计算auc的方法
2020/09/09 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
CSS3+DIV实现漂亮的动画彩色标签
2016/06/16 HTML / CSS
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
露营世界:Camping World
2017/02/02 全球购物
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
任命书范本大全
2014/06/06 职场文书
商业企业管理专业求职信
2014/07/10 职场文书
五五普法心得体会
2014/09/04 职场文书
高中生第一学年自我鉴定2015
2014/09/28 职场文书
2014标准社保办理委托书
2014/10/06 职场文书
2015幼儿园新学期寄语
2015/02/27 职场文书
门面租赁合同范文
2019/08/06 职场文书
一文搞懂php的垃圾回收机制
2021/06/18 PHP