matplotlib實戰二——利用matplotlib畫激活函數曲線

import torch
import torch.nn.functional as f
from torch.autograd import Variable
import matplotlib.pyplot as plt

x = torch.linspace(-5, 5, 200)
var = Variable(x)
x_np = var.data.numpy()

y_relu = f.relu(x).data.numpy()
y_sigmoid= f.sigmoid(x).data.numpy()
y_tanh = f.tanh(x).data.numpy()
y_softplus = f.softplus(x).data.numpy()
# relu
plt.figure(1, figsize=(8, 6))
plt.subplot(221)
plt.ylim(-5, 5)
ax = plt.gca()
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))
plt.plot(x_np, y_relu, c="c", label ='relu')
plt.legend(loc='upper left')
# sigmoid
plt.figure(1, figsize=(8, 6))
plt.subplot(222)
# plt.ylim(0.1,0.1)
# plt.xlim(-7,7)
ax = plt.gca()
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.5))
plt.plot(x_np, y_sigmoid, c="c", label ='softmax')
plt.legend(loc='upper left')
# tanh
plt.figure(1, figsize=(8, 6))
plt.subplot(223)
plt.ylim(-1.2, 1.2)
ax = plt.gca()
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))
plt.plot(x_np, y_tanh, c="c", label ='tanh')
plt.legend(loc='upper left')
# softplus
plt.figure(1, figsize=(8, 6))
plt.subplot(224)
plt.ylim(-6, 6)
ax = plt.gca()
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))
plt.plot(x_np, y_softplus, c="c", label ='softplus')
plt.legend(loc='upper left')

plt.show()

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章