Windows下,ssh远程访问服务器保存图片时出现 RuntimeError: Invalid DISPLAY variable

  • 问题描述

        在训练GAN网络时,模型训练过程中,每迭代1000次进行采样测试,查看生成器的生成图片效果。

        在Win10系统下,采用Pycharm作为代码编辑器,在win系统下代码可以跑,也可以保存图片。但是由于模型训练需要强大的计算GPU,故在ubuntu16.0.4系统下进行继续训练,出现如下错误。

RuntimeError: Invalid DISPLAY variable
  • 问题分析

       经查阅资料,发现是matplotlib.pyplot的问题。由于远程访问服务器,不支持GUI(用户交互界面)。matplotlib的默认backend是TkAgg,FltAgg、GTK、GTKCairo、TkAgg、Wx和WxAgg等backend均要求有GUI图形界面,故在ssh操作的时候会报错。

  • 解决问题

    导入matplotlib的时候指定不需要GUI的backend(Agg、Cairo、PS、PDF和SVG)。

mport matplotlib.pyplot as plt
plt.switch_backend('agg')  
# 为了ssh在服务器上运行 不出现 RuntimeError: Invalid DISPLAY variable
  • 结果展示

Iter:0, D_loss:1.8839445114135742, G_loss:2.2248101234436035
Iter:1000, D_loss:0.03361789137125015, G_loss:5.284092903137207
Iter:2000, D_loss:0.11330264061689377, G_loss:3.807420015335083
Iter:3000, D_loss:0.20690235495567322, G_loss:4.786128044128418

猜你喜欢

转载自blog.csdn.net/weixin_40546602/article/details/81409821