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实现根据用户输入从电影网站获取影片信息的方法
Apr 07 Python
python过滤字符串中不属于指定集合中字符的类实例
Jun 30 Python
全面解析Python的While循环语句的使用方法
Oct 13 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
May 24 Python
Python 实现OpenCV格式和PIL.Image格式互转
Jan 09 Python
Python print不能立即打印的解决方式
Feb 19 Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
Feb 27 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
Mar 30 Python
基于Python中random.sample()的替代方案
May 23 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
Jun 01 Python
django学习之ajax post传参的2种格式实例
May 14 Python
Python使用protobuf序列化和反序列化的实现
May 19 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
文件上传程序的全部源码
2006/10/09 PHP
php中使用Imagick实现图像直方图的实现代码
2011/08/30 PHP
自定义php类(查找/修改)xml文档
2013/03/26 PHP
用mysql_fetch_array()获取当前行数据的方法详解
2013/06/05 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
如何通过PHP实现Des加密算法代码实例
2020/05/09 PHP
img的onload的另类用法
2008/01/10 Javascript
基于JQuery实现滚动到页面底端时自动加载更多信息
2014/01/31 Javascript
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
基于jquery实现下拉框美化特效
2016/02/02 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
2016/08/23 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
2020/11/30 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
大白话讲解JavaScript的Promise
2017/04/06 Javascript
微信小程序点击控件修改样式实例详解
2017/07/07 Javascript
基于Bootstrap实现城市三级联动
2017/11/23 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
2018/08/06 Javascript
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
[02:00]DOTA2英雄COSPLAY闹市街头巡游助威2015国际邀请赛
2015/08/02 DOTA
朴素贝叶斯算法的python实现方法
2014/11/18 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
PyQt5 对图片进行缩放的实例
2019/06/18 Python
连接pandas以及数组转pandas的方法
2019/06/28 Python
python简单实现矩阵的乘,加,转置和逆运算示例
2019/07/10 Python
PyTorch: 梯度下降及反向传播的实例详解
2019/08/20 Python
在django模板中实现超链接配置
2019/08/21 Python
Python使用scipy模块实现一维卷积运算示例
2019/09/05 Python
Python Map 函数的使用
2020/08/28 Python
Django日志及中间件模块应用案例
2020/09/10 Python
领班岗位职责范文
2014/02/06 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
行政处罚告知书
2015/07/01 职场文书
大学运动会加油稿
2015/07/22 职场文书
CI Games宣布《堕落之王2》使用虚幻引擎5制作 预计将于2023年正式发售
2022/04/11 其他游戏