tensorflow prelu的实现细节

output = tf.nn.leaky_relu(input, alpha=tf_gamma_data,name=name)

#tf.nn.leaky_relu 限制了tf_gamma_data在[0 1]的范围内

内部实现方法是 output = tf.maxmum(alpha * input, input)

alpha > 1 时,会出现,正值*alpha, 负值不变

import numpy as np
import tensorflow as tf #bn = np.loadtxt('tfbn.txt')
bn = np.array([[-0.9, -0.9 ,-0.9],[1.1,1.1,1.1]])
print("srcdata ", bn)
gamma_data = np.array([1.205321])
print("gamma_data ", gamma_data)
tf_gamma_data = tf.Variable(gamma_data, dtype=np.float32)
input_data = tf.Variable(bn, dtype=np.float32)
tf_prelu_test = tf.nn.leaky_relu(input_data, alpha=tf_gamma_data,name=None)
#tf_prelu_test = tf.nn.relu(input_data) + tf.multiply(tf_gamma_data, -tf.nn.relu(-input_data))
#tf_prelu_test = tf.nn.relu(input_data,name=None)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
tf_prelu_test = sess.run(tf_prelu_test)
print("tf_prelu_test: \n", tf_prelu_test)

srcdata [[-0.9 -0.9 -0.9]
[ 1.1 1.1 1.1]]
gamma_data [1.205321]
tf_prelu_test:
[[-0.9 -0.9 -0.9 ]
[ 1.3258531 1.3258531 1.3258531]]
[Finished in 2.5s]

使用relu来代替
output = tf.nn.relu(data) + tf.multiply(alpha, -tf.nn.relu(-data))

import numpy as np
import tensorflow as tf #bn = np.loadtxt('tfbn.txt')
bn = np.array([[-0.9, -0.9 ,-0.9],[1.1,1.1,1.1]])
print("srcdata ", bn)
gamma_data = np.array([1.205321])
print("gamma_data ", gamma_data)
tf_gamma_data = tf.Variable(gamma_data, dtype=np.float32)
input_data = tf.Variable(bn, dtype=np.float32)
#tf_prelu_test = tf.nn.leaky_relu(input_data, alpha=tf_gamma_data,name=None)
tf_prelu_test = tf.nn.relu(input_data) + tf.multiply(tf_gamma_data, -tf.nn.relu(-input_data))
#tf_prelu_test = tf.nn.relu(input_data,name=None)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
tf_prelu_test = sess.run(tf_prelu_test)
print("tf_prelu_test: \n", tf_prelu_test)

srcdata [[-0.9 -0.9 -0.9]
[ 1.1 1.1 1.1]]
gamma_data [1.205321]
tf_prelu_test:
[[-1.0847888 -1.0847888 -1.0847888]
[ 1.1 1.1 1.1 ]]
[Finished in 2.7s]

tensorflow prelu的实现细节的更多相关文章

  1. mxnet与tensorflow的卷积实现细节比较

    mxnet的卷积 kernel = 3  pad=1边界补充0后,不管stride是否1还是2,imgw = 奇数或者偶数, 都是从图像位置(0,0)开始卷积 tensorlfow的卷积 kernel ...

  2. Windows系统,Tensorflow的Tensorboard工具细节问题

    随着跟着TensorFlow视频学习,学到Tensorboard可视化工具这里的时候. 在windows,cmd里面运行,tensorboard --logdir=你logs文件夹地址  这行代码,一 ...

  3. TensorFlow 需注意的细节问题

    1. 数据类型 不带小数点的数默认为 int32,带小数点的数默认为 float32:

  4. Tensorflow的基本概念与常用函数

    Tensorflow一些常用基本概念与函数(一) 1.tensorflow的基本运作 为了快速的熟悉TensorFlow编程,下面从一段简单的代码开始: import tensorflow as tf ...

  5. Tensorflow一些常用基本概念与函数(四)

    摘要:本系列主要对tf的一些常用概念与方法进行描述.本文主要针对tensorflow的模型训练Training与测试Testing等相关函数进行讲解.为‘Tensorflow一些常用基本概念与函数’系 ...

  6. 如何使用TensorFlow Hub和代码示例

    任何深度学习框架,为了获得成功,必须提供一系列最先进的模型,以及在流行和广泛接受的数据集上训练的权重,即与训练模型. TensorFlow现在已经提出了一个更好的框架,称为TensorFlow Hub ...

  7. [阿里DIN]从模型源码梳理TensorFlow的形状相关操作

    [阿里DIN]从模型源码梳理TensorFlow的形状相关操作 目录 [阿里DIN]从模型源码梳理TensorFlow的形状相关操作 0x00 摘要 0x01 reduce_sum 1.1 reduc ...

  8. Keras官方中文文档:keras后端Backend

    所属分类:Keras Keras后端 什么是"后端" Keras是一个模型级的库,提供了快速构建深度学习网络的模块.Keras并不处理如张量乘法.卷积等底层操作.这些操作依赖于某种 ...

  9. Deep Learning 资料总结

    http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/ : 理解神经网络   ELU:

随机推荐

  1. FlexPaper:使用flash在线展示pdf

    WFTools工具包中的PDF2SWF工具可用来将PDF格式文件转换成SWF格式.使用下面的命令可以将pdf文件转换为单页swf文件. pdf2swf  pdfPath  –o swfPath  –T ...

  2. hdu Constructing Roads (最小生成树)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1102 /************************************************* ...

  3. HTML5学习笔记(十):CSS常用操作

    对齐 在 CSS 中,可以使用多种属性来水平对齐元素. 水平对齐 使用 margin 属性来水平对齐,可通过将左和右外边距设置为 "auto",来对齐块元素. 把左和右外边距设置为 ...

  4. mongodb学习比较(数据操作篇)

    1.  批量插入:     以数组的方式一次插入多个文档可以在单次TCP请求中完成,避免了多次请求中的额外开销.就数据传输量而言,批量插入的数据中仅包含一份消息头,而多次单条插入则会在每次插入数据时封 ...

  5. transfer learning

    https://github.com/jindongwang/transferlearning ftp://ftp.cs.wisc.edu/machine-learning/shavlik-group ...

  6. 【Gtk】feorda下gtk安装详解

    feorda下gtk安装详解   1.yum在线安装gtk 1)pkg-config -version查看pkg-config的版本(本机测试是0.25)    2)安装必要组建:(在root权限下) ...

  7. String.format和MessageFormat.format的对比用法

    1.MessageFormat.format import java.text.MessageFormat; /** * Created by SYJ on 2017/9/13. */ public ...

  8. System.in的用法

    方法1 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));Scanner scanner=new Sca ...

  9. VMware的快照和克隆总结

    原文:https://www.cnblogs.com/zxz1987/p/6480833.html 多重快照功能简介:  快照的含义:对某一个特定文件系统在某一个特定时间内的一个具有只读属性的镜像.当 ...

  10. 确保安全的HTTPS(对HTTP加密的几种技术,前端面试常问)第一篇

    HTTP固然足够好,但是在安全方面有着很大隐患: 1.与服务器进行通信使用的是明文,内容可能会被窃听(HTTP协议本身并不具备加密功能,所以无法对请求和响应的内容进行加密) 2.使用HTTP协议的服务 ...