Python3 用matplotlib繪製sigmoid函式的案例
阿新 • • 發佈:2020-12-13
我就廢話不多說了,大家還是直接看程式碼吧~
import matplotlib.pyplot as plt import numpy as np def sigmoid(x): # 直接返回sigmoid函式 return 1. / (1. + np.exp(-x)) def plot_sigmoid(): # param:起點,終點,間距 x = np.arange(-8,8,0.2) y = sigmoid(x) plt.plot(x,y) plt.show() if __name__ == '__main__': plot_sigmoid()
如圖:
補充知識: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,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,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',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,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',10.05]) plt.ylim([0,10.02]) ax.set_yticks([2,4,6,10]) plt.tight_layout() plt.savefig("relu.png") plt.show() def plot_prelu(): x = np.arange(-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',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()
以上這篇Python3 用matplotlib繪製sigmoid函式的案例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。