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新手实现2048小游戏
Mar 31 Python
Python设计模式编程中Adapter适配器模式的使用实例
Mar 02 Python
python脚本爬取字体文件的实现方法
Apr 29 Python
Python栈算法的实现与简单应用示例
Nov 01 Python
python+rsync精确同步指定格式文件
Aug 29 Python
TensorFlow tensor的拼接实例
Jan 19 Python
Python实现序列化及csv文件读取
Jan 19 Python
python seaborn heatmap可视化相关性矩阵实例
Jun 03 Python
新手学python应该下哪个版本
Jun 11 Python
Python如何给你的程序做性能测试
Jul 29 Python
Python-split()函数实例用法讲解
Dec 18 Python
怎么用Python识别手势数字
Jun 07 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
十天学会php之第八天
2006/10/09 PHP
一步一步学习PHP(5) 类和对象
2010/02/16 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
2016/11/14 PHP
php文件上传及下载附带显示文件及目录功能
2017/04/27 PHP
PHP新特性之字节码缓存和内置服务器
2017/08/11 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
IE和Mozilla的兼容性汇总event
2007/08/12 Javascript
ie和firefox不兼容的解决方法集合
2009/04/28 Javascript
jQuery find和children方法使用
2011/01/31 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
jquery 无限级联菜单案例分享
2013/03/26 Javascript
60个很实用的jQuery代码开发技巧收集
2014/12/15 Javascript
jQuery each函数源码分析
2016/05/25 Javascript
vuex实现简易计数器
2016/10/27 Javascript
浅谈Node.js:理解stream
2016/12/08 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
2017/02/06 Javascript
jQuery图片切换动画效果
2017/02/28 Javascript
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
利用Vue.js实现求职在线之职位查询功能
2017/07/03 Javascript
关于JavaScript中的this指向问题总结篇
2017/07/23 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
vue中el-upload上传图片到七牛的示例代码
2018/10/19 Javascript
[04:36]DOTA2国际邀请赛 ti3精彩集锦
2013/08/19 DOTA
[01:55]《走出家门看比赛》——DOTA2 2015国际邀请赛同城线下观战
2015/07/18 DOTA
python实现根据图标提取分类应用程序实例
2014/09/28 Python
跟老齐学Python之不要红头文件(1)
2014/09/28 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
2019/08/05 Python
Python通过VGG16模型实现图像风格转换操作详解
2020/01/16 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
会计找工作求职信范文
2013/12/09 职场文书
大学生学习2014全国两会心得体会
2014/03/13 职场文书
服装设计专业毕业生求职信
2014/04/09 职场文书
2014年底工作总结
2014/12/15 职场文书
每日六道java新手入门面试题,通往自由的道路
2021/06/30 Java/Android
logback如何自定义日志存储
2021/08/30 Java/Android