使用Python画激活函数图像

import numpy as np
import matplotlib.pyplot as plt

# 0 设置字体
plt.rc('font',family='Times New Roman', size=15)

# 1.1 定义sigmoid函数
def sigmoid(x):
    return 1. / (1 + np.exp(-x))
# 1.2 定义tanh函数
def tanh(x):
    return (np.exp(x) - np.exp(-x)) / (np.exp(x) + np.exp(-x))
# 1.3 定义relu函数
def relu(x):
    return np.where(x < 0, 0, x)
def Leaky_relu(x):
    return np.maximum(0.01*x,x)

# 2.1 定义绘制函数sigmoid函数
def plot_Sigmoid(fig):
    x = np.arange(-10, 10, 0.1)
    y = sigmoid(x)
    # fig = plt.figure()
    ax = fig.add_subplot(221)
    ax.spines['top'].set_color('none')
    ax.spines['right'].set_color('none')
    ax.spines['left'].set_position(('data', 0))
    ax.plot(x, y,color="blue", lw=3)
    plt.xticks(fontsize=15)
    plt.yticks(fontsize=15)
    plt.xlim([-10.05, 10.05])
    plt.ylim([-0.02, 1.02])
    plt.tight_layout()
    plt.title("Sigmoid")
    # plt.show()
# 2.2 定义绘制函数tanh函数
def plot_Tanh(fig):
    x = np.arange(-10, 10, 0.1)
    y = tanh(x)
    # fig = plt.figure()
    ax = fig.add_subplot(222)
    ax.spines['top'].set_color('none')
    ax.spines['right'].set_color('none')
    ax.spines['left'].set_position(('data', 0))
    ax.spines['bottom'].set_position(('data', 0))
    ax.plot(x, y, color="blue", lw=3)
    plt.xticks(fontsize=15)
    plt.yticks(fontsize=15)
    plt.xlim([-10.05, 10.05])
    plt.ylim([-0.02, 1.02])
    ax.set_yticks([-1.0, -0.5, 0.5, 1.0])
    ax.set_xticks([-10, -5, 5, 10])
    plt.tight_layout()
    plt.title("Tanh")
    # plt.show()
# 2.3 定义绘制函数relu函数
def plot_Relu(fig):
    x = np.arange(-10, 10, 0.1)
    y = relu(x)
    # fig = plt.figure()
    ax = fig.add_subplot(223)
    ax.spines['top'].set_color('none')
    ax.spines['right'].set_color('none')
    ax.spines['left'].set_position(('data', 0))
    ax.plot(x, y, color="blue", lw=3)
    plt.xticks(fontsize=15)
    plt.yticks(fontsize=15)
    plt.xlim([-10.05, 10.05])
    plt.ylim([-0.02, 1.02])
    ax.set_yticks([2, 4, 6, 8, 10])
    plt.tight_layout()
    plt.title("Relu")
    # plt.show()
# 2.4 定义绘制函数Lrelu函数
def plot_Lrelu(fig):
    x = np.arange(-10, 10, 0.1)
    y =Leaky_relu(x)
    # fig = plt.figure()
    ax = fig.add_subplot(224)
    ax.spines['top'].set_color('none')
    ax.spines['right'].set_color('none')
    ax.spines['left'].set_position(('data', 0))
    ax.spines['bottom'].set_position(('data', 0))
    ax.plot(x, y, color="blue", lw=3)
    plt.xticks(fontsize=15)
    plt.yticks(fontsize=15)
    plt.tight_layout()
    plt.title("Leaky_relu")
    plt.show()


# 3 运行程序
fig = plt.figure()
plot_Sigmoid(fig)
plot_Tanh(fig)
plot_Relu(fig)
plot_Lrelu(fig)

使用Python画激活函数图像_第1张图片

你可能感兴趣的:(随笔,python,机器学习,深度学习)