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数组条件过滤filter函数使用示例
Jul 22 Python
django model去掉unique_together报错的解决方案
Oct 18 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
Sep 18 Python
Django入门使用示例
Dec 12 Python
Python DataFrame 设置输出不显示index(索引)值的方法
Jun 07 Python
使用Python处理BAM的方法
Sep 28 Python
python面向对象实现名片管理系统文件版
Apr 26 Python
python读写配置文件操作示例
Jul 03 Python
解决python3插入mysql时内容带有引号的问题
Mar 02 Python
python numpy库np.percentile用法说明
Jun 08 Python
Python实现敏感词过滤的4种方法
Sep 12 Python
Python提取PDF指定内容并生成新文件
Jun 09 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
微信公众平台天气预报功能开发
2014/07/06 PHP
浅谈ThinkPHP的URL重写
2014/11/25 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
Jquery替换已存在于element上的event的方法
2010/03/09 Javascript
jquery 页面全选框实践代码
2010/04/02 Javascript
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
Backbone.js的Hello World程序实例
2015/06/19 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
浅谈js里面的InttoStr和StrtoInt
2016/06/14 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
使用JavaScript获取URL中的参数(两种方法)
2016/11/16 Javascript
js中DOM三级列表(代码分享)
2017/03/20 Javascript
详解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
2017/06/16 Javascript
Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
2018/06/19 Javascript
微信小程序实现留言板
2018/10/31 Javascript
深入浅析Vue.js 中的 v-for 列表渲染指令
2018/11/19 Javascript
node中使用es6/7/8(支持性与性能)
2019/03/28 Javascript
ES6知识点整理之函数数组参数的默认值及其解构应用示例
2019/04/17 Javascript
[02:05]2014DOTA2国际邀请赛 BBC外卡赛赛后总结
2014/07/09 DOTA
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
用python登录Dr.com思路以及代码分享
2014/06/25 Python
Bottle框架中的装饰器类和描述符应用详解
2017/10/28 Python
Python实现类似比特币的加密货币区块链的创建与交易实例
2018/03/20 Python
Python multiprocessing多进程原理与应用示例
2019/02/28 Python
python向图片里添加文字
2019/11/26 Python
windows下python安装pip方法详解
2020/02/10 Python
python Autopep8实现按PEP8风格自动排版Python代码
2021/03/02 Python
.NET面试10题
2014/02/24 面试题
生物制药毕业生自荐信
2013/10/16 职场文书
财务支持类个人的自我评价
2014/02/14 职场文书
销售代理协议书
2014/09/30 职场文书
研讨会通知
2015/04/27 职场文书
政协工作总结2015
2015/05/20 职场文书
一篇文章弄懂Python关键字、标识符和变量
2021/07/15 Python