问题描述
由于远程服务器上无法显示实时生成的图片,通常比较笨的方法是通过保存图片,然后下载到本地,这个方法费时又费力。因此,这里我决定介绍一种通过tesorboardX的方法来显示matplotlib画出的图像。
具体步骤
- 如果是在docker上首先需要对tensorboard的6006端口进行映射。
- 对应示例代码
import torch
from torch.autograd import Variable
import torch.nn.functional as F
import matplotlib.pyplot as plt
plt.switch_backend('agg')
from tensorboardX import SummaryWriter
# fake data
x = torch.linspace(-5, 5, 200)
x = Variable(x)
x_np = x.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()
# y_softmax = F.softmax(x)
fig = 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&#