tensorflow学习笔记(二十七):leaky relu

tensorflow leaky relu

tensorflow 0.12.0及之前,都没有内置的leaky relu函数,那么我们如何实现leaky relu函数呢?

方法1

def relu(x, alpha=0., max_value=None):
    '''ReLU.

    alpha: slope of negative section.
    '''
    negative_part = tf.nn.relu(-x)
    x = tf.nn.relu(x)
    if max_value is not None:
        x = tf.clip_by_value(x, tf.cast(0., dtype=_FLOATX),
                             tf.cast(max_value, dtype=_FLOATX))
    x -= tf.constant(alpha, dtype=_FLOATX) * negative_part
    return x

方法2

x = tf.maximum(alpha*x,x)

这两种方法,在BP的时候,梯度都会被正确的计算的。 另外,关于tf.clip...函数在BP的时候,梯度也是会被正确计算的

import tensorflow as tf
w1 = tf.Variable(0) #0或5时,打印出来1, 2时打印出来1,6时打印出来0,-1时打印出来0
g = tf.clip_by_value(w1, 0, 5)
grad = tf.gradients(g, [w1])

with tf.Session() as sess:
    tf.global_variables_initializer().run()
    print(sess.run(grad))

参考资料 https://groups.google.com/a/tensorflow.org/forum/#!topic/discuss/V6aeBw4nlaE

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端架构

js学习思维导图

     能够认真看完就是一次对javascript的回顾与提升,可以很好的检验基础。

391
来自专栏小樱的经验随笔

numpy用法小结

前言   个人感觉网上对numpy的总结感觉不够详尽细致,在这里我对numpy做个相对细致的小结吧,在数据分析与人工智能方面会有所涉及到的东西在这里都说说吧,也...

3034
来自专栏蜉蝣禅修之道

算法考试填数字问题

1612
来自专栏前端儿

ASCII码排序

输入第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。输出对于每组输入数据,输出一行,字符中间...

742
来自专栏数据科学与人工智能

【Python环境】Python Numpy数组及矩阵线性运算

numpy中数组的运算基本分为数组与标量的运算和数组之间的运算(线性运算)。 一、数组和标量之间的运算 数组与标量之间的运算采用的是矢量化运算,它可...

2148
来自专栏磐创AI技术团队的专栏

Tensorflow从入门到精通(二):附代码实战

1.Tensor介绍 Tensor(张量)是Tensorflow中最重要的数据结构,用来表示Tensorflow程序中的所有数据。Tensor本是广泛应用在物...

2807
来自专栏机器之心

入门 | 数据科学初学者必知的NumPy基础知识

选自TowardsDataScience 作者:Ehi Aigiomawu 机器之心编译 参与:李诗萌、路 本文介绍了一些 NumPy 基础知识,适合数据科学初...

2613
来自专栏数据结构与算法

P3742 umi的函数

题目背景 umi 找到了一个神秘的函数 f。 题目描述 这个函数接受两个字符串 s1,s2。这些字符串只能由小写字母组成,并且具有相同的长度。这个函数的输出是另...

3186
来自专栏祥子的故事

python | pandas | 移动窗口函数rolling

4005
来自专栏Java帮帮-微信公众号-技术文章全总结

Java案例-分数查等级程序

Java案例-分数查等级程序 给定一个百分制的分数,输出相应的等级。 90分以上 A级 80~89 B级 70~79 C级 ...

3568

扫码关注云+社区