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 相关文章推荐
浅谈MySQL中的触发器
May 05 Python
python数字图像处理之骨架提取与分水岭算法
Apr 27 Python
python3实现windows下同名进程监控
Jun 21 Python
Python合并多个Excel数据的方法
Jul 16 Python
Python实现拷贝/删除文件夹的方法详解
Aug 29 Python
python微信撤回监测代码
Apr 29 Python
Python 堆叠柱状图绘制方法
Jul 29 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
Sep 20 Python
基于torch.where和布尔索引的速度比较
Jan 02 Python
python3实现将json对象存入Redis以及数据的导入导出
Jul 16 Python
使用numpy实现矩阵的翻转(flip)与旋转
Jun 03 Python
Python实现生活常识解答机器人
Jun 28 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
中英文字符串翻转函数
2008/12/09 PHP
php读取javascript设置的cookies的代码
2010/04/12 PHP
thinkphp的静态缓存用法分析
2014/11/29 PHP
Yii数据模型中rules类验证器用法分析
2016/07/15 PHP
PHP连续签到功能实现方法详解
2019/12/04 PHP
IE和Mozilla的兼容性汇总event
2007/08/12 Javascript
用js实现计算代码行数的简单方法附代码
2007/08/13 Javascript
jquery 输入框数字限制插件
2009/11/10 Javascript
过虑特殊字符输入的js代码
2010/08/05 Javascript
Javascript 浮点运算精度问题分析与解决
2014/03/26 Javascript
JavaScript设计模式之策略模式实例
2014/10/10 Javascript
jquery.cookie.js使用指南
2015/01/05 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
JavaScript中模拟实现jsonp
2015/06/19 Javascript
Jquery揭秘系列:ajax原生js实现详解(推荐)
2016/06/08 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
AngularJS实现的锚点楼层跳转功能示例
2018/01/02 Javascript
如何使用pm2快速将项目部署到远程服务器
2019/03/12 Javascript
layer弹出层自定义提交取消按钮的例子
2019/09/10 Javascript
编写Python脚本来获取mp3文件tag信息的教程
2015/05/04 Python
python中input()与raw_input()的区别分析
2016/02/27 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
python实现维吉尼亚算法
2019/03/20 Python
对Python中TKinter模块中的Label组件实例详解
2019/06/14 Python
Python IDE Pycharm中的快捷键列表用法
2019/08/08 Python
Hoka One One法国官网:美国专业跑鞋品牌
2018/12/29 全球购物
参观监狱心得体会
2014/01/02 职场文书
旷课检讨书大全
2014/01/21 职场文书
庆元旦活动总结
2014/07/09 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
领导班子党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
2015年关爱留守儿童工作总结
2015/05/22 职场文书
安全事故隐患排查治理制度
2015/08/05 职场文书
践行三严三实心得体会(2016推荐篇)
2016/01/06 职场文书