zoukankan      html  css  js  c++  java
  • 激活函数

      激活函数主要作用:加入非线性

    # -*- coding: UTF-8 -*-
    
    import numpy as np
    import matplotlib.pyplot as plt
    import tensorflow as tf
    
    # 创建输入数据
    x = np.linspace(-7, 7, 180)  # (-7, 7) 之间等间隔的 180 个点
    
    
    # 激活函数的原始实现
    def sigmoid(inputs):
        y = [1 / float(1 + np.exp(-x)) for x in inputs]
        return y
    
    
    def relu(inputs):
        y = [x * (x > 0) for x in inputs]
        return y
    
    
    def tanh(inputs):
        y = [(np.exp(x) - np.exp(-x)) / float(np.exp(x) - np.exp(-x)) for x in inputs]
        return y
    
    
    def softplus(inputs):
        y = [np.log(1 + np.exp(x)) for x in inputs]
        return y
    
    
    # 经过 TensorFlow 的激活函数处理的各个 Y 值
    y_sigmoid = tf.nn.sigmoid(x)#可以在tensorflow官网搜索tf.nn,查看各个激活函数
    y_relu = tf.nn.relu(x)
    y_tanh = tf.nn.tanh(x)
    y_softplus = tf.nn.softplus(x)
    
    # 创建会话
    sess = tf.Session()
    
    # 运行
    y_sigmoid, y_relu, y_tanh, y_softplus = sess.run([y_sigmoid, y_relu, y_tanh, y_softplus])
    
    # 创建各个激活函数的图像
    plt.figure(1, figsize=(8, 6))
    
    plt.subplot(221)
    plt.plot(x, y_sigmoid, c='red', label='Sigmoid')
    plt.ylim((-0.2, 1.2))
    plt.legend(loc='best')
    
    plt.subplot(222)
    plt.plot(x, y_relu, c='red', label='Relu')
    plt.ylim((-1, 6))
    plt.legend(loc='best')
    
    plt.subplot(223)
    plt.plot(x, y_tanh, c='red', label='Tanh')
    plt.ylim((-1.3, 1.3))
    plt.legend(loc='best')
    
    plt.subplot(224)
    plt.plot(x, y_softplus, c='red', label='Softplus')
    plt.ylim((-1, 6))
    plt.legend(loc='best')
    
    # 显示图像
    plt.show()
    
    # 关闭会话
    sess.close()
    

      

  • 相关阅读:
    [转]C++中cin、cin.get()、cin.getline()、getline()函数的简单总结
    Assert 的用法
    [转]C/C++作用域详解
    C++ 的getline问题
    字符数组的定义与赋值
    [转] 字符数组的赋值
    [转]标准C++中的string类的用法总结
    [转]memmove、memcpy和memccpy
    关于变长数组的一点小想法-C语言定义数组但是数组长度不确定怎么办
    Java动态代理演变之路
  • 原文地址:https://www.cnblogs.com/tianqizhi/p/10830160.html
Copyright © 2011-2022 走看看