當前位置:
首頁 > 知識 > python實現並繪製 sigmoid函數,tanh函數,ReLU函數,PReLU函數

python實現並繪製 sigmoid函數,tanh函數,ReLU函數,PReLU函數

# -*- coding:utf-8 -*-

from matplotlib import pyplot as plt

import numpy as np

import mpl_toolkits.axisartist as axisartist

def 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 plot_sigmoid():

x = np.arange(-10, 10, 0.1)

y = sigmoid(x)

fig = plt.figure()

# ax = fig.add_subplot(111)

ax = axisartist.Subplot(fig,111)

ax.spines["top"].set_color("none")

ax.spines["right"].set_color("none")

# ax.spines["bottom"].set_color("none")

# ax.spines["left"].set_color("none")

ax.axis["bottom"].set_axisline_style("-|>",size=1.5)

ax.spines["left"].set_position(("data", 0))

ax.plot(x, y)

plt.xlim([-10.05, 10.05])

plt.ylim([-0.02, 1.02])

plt.tight_layout()

plt.savefig("sigmoid.png")

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["bottom"].set_color("none")

# ax.spines["left"].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)

fig = plt.figure()

ax = fig.add_subplot(111)

ax.spines["top"].set_color("none")

ax.spines["right"].set_color("none")

# ax.spines["bottom"].set_color("none")

# ax.spines["left"].set_color("none")

ax.spines["left"].set_position(("data", 0))

ax.plot(x, y)

plt.xlim([-10.05, 10.05])

plt.ylim([0, 10.02])

ax.set_yticks([2, 4, 6, 8, 10])

plt.tight_layout()

plt.savefig("relu.png")

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["bottom"].set_color("none")

# ax.spines["left"].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()

if __name__ == "__main__":

plot_sigmoid()

plot_tanh()

plot_relu()

plot_prelu()

---------------------

作者:經年不往

原文:https://blog.csdn.net/mago2015/article/details/85158021

python實現並繪製 sigmoid函數,tanh函數,ReLU函數,PReLU函數

打開今日頭條,查看更多圖片
喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

使用node.js的開發框架express創建一個web應用

TAG:程序員小新人學習 |