代码(总)
from matplotlib import pyplot as plt
import numpy as np
import mpl_toolkits.axisartist as axisartist
from matplotlib.pyplot import MultipleLocatordef sigmoid(x):return 1. / (1 + np.exp(-x))def tanh(x):return (np.exp(x) - np.exp(-x)) / (np.exp(x) + np.exp(-x))def relu(x):return np.where(x < 0, 0, x)def prelu(x):return np.where(x < 0, 0.5 * x, x)def sigmoid(x):return 1. / (1. + np.exp(-x))
def softmax(x):return np.exp(x)/np.sum(np.exp(x), axis=0)def plot_sigmoid():x = np.arange(-10, 10, 0.5)print(x)y = sigmoid(x)plt.grid()plt.plot(x, y,label='sigmoid',color='r')plt.legend(fontsize=20)plt.xlabel("x",fontsize=20)plt.ylabel("f(x)",fontsize=20)plt.xticks(fontsize=20)plt.yticks(fontsize=20)plt.xlim([-10, 10])plt.ylim([0, 1])x_major_locator = MultipleLocator(5)y_major_locator = MultipleLocator(0.2)ax = plt.gca()ax.xaxis.set_major_locator(x_major_locator)ax.yaxis.set_major_locator(y_major_locator)plt.show()def plot_tanh():x = np.arange(-10, 10, 0.1)y = tanh(x)fig = plt.figure()ax = fig.add_subplot(111)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)plt.xlim([-10.05, 10.05])plt.ylim([-1.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.savefig("tanh.png")plt.show()def plot_relu():x = np.arange(-10, 10, 0.1)y = relu(x)plt.grid()plt.plot(x, y, label='relu', color='r')plt.legend(fontsize=20)plt.xlabel("x",fontsize=20)plt.ylabel("f(x)",fontsize=20)plt.xticks(fontsize=20)plt.yticks(fontsize=20)plt.xlim([-10, 10])plt.ylim([0, 10])x_major_locator = MultipleLocator(5)y_major_locator = MultipleLocator(5)ax = plt.gca()ax.xaxis.set_major_locator(x_major_locator)ax.yaxis.set_major_locator(y_major_locator)plt.show()def plot_prelu():x = np.arange(-10, 10, 0.1)y = prelu(x)fig = plt.figure()ax = fig.add_subplot(111)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)plt.xticks([])plt.yticks([])plt.tight_layout()plt.savefig("prelu.png")plt.show()def plot_softmax():x = np.arange(-10, 10, 0.1)y = softmax(x)plt.grid()plt.plot(x, y, label='softmax', color='r')plt.legend(fontsize=20)plt.xlabel("x",fontsize=20)plt.ylabel("f(x)",fontsize=20)plt.xlim([-10, 10])plt.ylim([0, 0.1])plt.xticks(fontsize=20)plt.yticks(fontsize=20)x_major_locator = MultipleLocator(5)y_major_locator = MultipleLocator(0.02)ax = plt.gca()ax.xaxis.set_major_locator(x_major_locator)ax.yaxis.set_major_locator(y_major_locator)plt.show()
if __name__ == "__main__":plot_softmax()