import torch
import torch
.nn
.functional as F
from torch
.autograd import Variable
import matplotlib
.pyplot as plt
# fake data
x
= torch
.linspace(-5, 5, 200) # 使用torch生成
500个等差数据
x
= Variable(x
)
x_np
= x
.data
.numpy() # 转换成 np 类型
y_relu
= F
.relu(x
).data
.numpy() # 分别计算
4种激活函数的值
y_sigmoid
= torch
.sigmoid(x
).data
.numpy()
y_tanh
= torch
.tanh(x
).data
.numpy()
y_softplus
= F
.softplus(x
).data
.numpy()
plt
.figure(1, figsize
=(8, 6)) # 分别绘制折线图
plt
.subplot(221)
plt
.plot(x_np
, y_relu
, c
='red', label
='relu')
plt
.ylim((-1, 5))
plt
.legend(loc
='best')
plt
.subplot(222)
plt
.plot(x_np
, y_sigmoid
, c
='red', label
='sigmoid')
plt
.ylim((-0.2, 1.2))
plt
.legend(loc
='best')
plt
.subplot(223)
plt
.plot(x_np
, y_tanh
, c
='red', label
='tanh')
plt
.ylim((-1.2, 1.2))
plt
.legend(loc
='best')
plt
.subplot(224)
plt
.plot(x_np
, y_softplus
, c
='red', label
='softplus')
plt
.ylim((-0.2, 5))
plt
.legend(loc
='best')
plt
.show()