Pytoch中提供了多种激活函数,也包含在nn模块中,激活函数类和功能,常用的激活函数对应的类和功能如下:
层对应的类 | 功能 |
torch.nn.Sigmoid() | Sigmoid激活函数 |
.Tanh() | Tanh激活函数 |
.Relu() | Relu激活函数 |
.Softplus() | Softplus激活函数 |
Sigmoid()激活函数:
Tanh()激活函数:
ReLU()激活函数:
Softplus()激活函数:
绘制激活函数
import torch
import numpy as np
from torch import nn
import matplotlib.pyplot as plt
x = torch.linspace(-6, 6, 100)
sigmoid = nn.Sigmoid()
ysigmoid = sigmoid(x)
tanh = nn.Tanh()
ytanh = tanh(x)
relu = nn.ReLU()
yrelu = relu(x)
softplus = nn.Softplus()
ysoftplus = softplus(x)
plt.figure(figsize=(14, 3))
plt.subplot(1, 4, 1)
plt.plot(x.data.numpy(), ysigmoid.data.numpy(), "r-")
plt.title("sigmoid")
plt.grid()
plt.subplot(1, 4, 2)
plt.plot(x.data.numpy(), ytanh.data.numpy(), "r-")
plt.title("tanh")
plt.grid()
plt.subplot(1, 4, 3)
plt.plot(x.data.numpy(), yrelu.data.numpy(), "r-")
plt.title("relu")
plt.grid()
plt.subplot(1, 4, 4)
plt.plot(x.data.numpy(), ysoftplus.data.numpy(), "r-")
plt.title("softplus")
plt.grid()
plt.show()