python畫激活函數圖像


導入必要的庫

import math
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
mpl.rcParams['axes.unicode_minus'] = False

繪制softmax函數圖像

fig = plt.figure(figsize=(6,4))
ax = fig.add_subplot(111)
x = np.linspace(-10,10)
y = sigmoid(x)

ax.spines['top'].set_color('none')  
ax.spines['right'].set_color('none')  

ax.xaxis.set_ticks_position('bottom')  
ax.spines['bottom'].set_position(('data',0))  
ax.set_xticks([-10,-5,0,5,10])  
ax.yaxis.set_ticks_position('left')  
ax.spines['left'].set_position(('data',0))  
ax.set_yticks([-1,-0.5,0.5,1])  

plt.plot(x,y,label = 'Softmax',linestyle='-',color='blue')
plt.legend(['Softmax'])
plt.savefig('softmax.png')

繪制Relu激活函數圖像

fig =  plt.figure(figsize=(6,4))
ax = fig.add_subplot(111)
x = np.arange(-10,10)
y = np.where(x<0,0,x) # 小於0輸出0,大於0輸出y
plt.xlim(-11,11)
plt.ylim(-11,11)

ax = plt.gca() # 獲得當前axis坐標軸對象
ax.spines['right'].set_color('none') # 去除右邊界線
ax.spines['top'].set_color('none') # 去除上邊界線

ax.xaxis.set_ticks_position('bottom') # 指定下邊的邊作為x軸
ax.yaxis.set_ticks_position('left') # 指定左邊的邊為y軸

ax.spines['bottom'].set_position(('data',0)) # 指定data 設置的bottom(也就是指定的x軸)綁定到y軸的0這個點上
ax.spines['left'].set_position(('data',0))  # 指定y軸綁定到x軸的0這個點上

plt.plot(x,y,label = 'ReLU',linestyle='-',color='darkviolet')
plt.legend(['ReLU'])
plt.savefig('relu.png')

繪制Tanh激活函數圖像

x = np.arange(-10,10)
a = np.array(x)
y = (math.e**(x) - math.e**(-x)) / (math.e**(x) + math.e**(-x))

plt.xlim(-11,11)
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')

ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))
plt.plot(x,y,label='Tanh',linestyle='-',color='green')
plt.legend(['Tanh'])
plt.savefig('Tanh.png',dpi=500) # 指定分辨率

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM