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

 更新时间:2020年02月04日 11:28:13   作者:yuanCruise  
今天小编就为大家分享一篇tensorflow 实现自定义layer并添加到计算图中,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

目的

将用户自定义的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使用socket创建tcp服务器和客户端

    python使用socket创建tcp服务器和客户端

    这篇文章主要为大家详细介绍了python使用socket创建tcp服务器和客户端,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 详解如何在Django项目中使用Jinja2模板引擎

    详解如何在Django项目中使用Jinja2模板引擎

    Django是一个强大的Python Web框架,它提供了一个内置的模板引擎,然而,在某些场景中,开发者可能倾向于使用更快、更灵活的模板引擎,比如Jinja2,在本文中,我们将详细探讨如何在Django项目中使用Jinja2模板引擎,并提供丰富的示例
    2023-11-11
  • python urllib urlopen()对象方法/代理的补充说明

    python urllib urlopen()对象方法/代理的补充说明

    这篇文章主要介绍了python urllib urlopen()对象方法/代理的补充说明的相关资料,需要的朋友可以参考下
    2017-06-06
  • 利用Pygame绘制圆环的示例代码

    利用Pygame绘制圆环的示例代码

    这篇文章主要介绍了利用Python中的Pygame模块绘制一个彩色的圆环,文中的示例代码讲解详细,对我们学习Pygame有一定帮助,需要的可以参考一下
    2022-01-01
  • Django使用jinja2模板的实现

    Django使用jinja2模板的实现

    本文主要介绍了Django使用jinja2模板的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Python判断变量是否为Json格式的字符串示例

    Python判断变量是否为Json格式的字符串示例

    这篇文章主要给大家介绍了利用Python判断变量是否为Json格式的字符串的相关资料,文中给出了详细的示例代码供大家参考学习,需要的朋友们下面来一起看看吧。
    2017-05-05
  • python3 自动识别usb连接状态,即对usb重连的判断方法

    python3 自动识别usb连接状态,即对usb重连的判断方法

    今天小编就为大家分享一篇python3 自动识别usb连接状态,即对usb重连的判断方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • 一文教你将Visual Studio Code变成Python开发神器

    一文教你将Visual Studio Code变成Python开发神器

    Visual Studio Code 是一款功能强大、可扩展且轻量级的代码编辑器,经过多年的发展,已经成为 Python 社区的首选代码编辑器之一。本文将为大家介绍一下如何将Visual Studio Code变成Python开发神器,需要的可以参考一下
    2022-07-07
  • OpenCV清除小面积连通域的实现方法

    OpenCV清除小面积连通域的实现方法

    本文主要介绍了OpenCV清除小面积连通域的实现方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Python正则表达式教程之一:基础篇

    Python正则表达式教程之一:基础篇

    正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。下面这篇文章主要介绍了关于Python正则表达式基础的相关资料,需要的朋友可以参考下。
    2017-03-03

最新评论