如何在 Google Cloud VM (SSH) 中查看绘图

Posted

技术标签:

【中文标题】如何在 Google Cloud VM (SSH) 中查看绘图【英文标题】:How to view a plot in Google Cloud VM (SSH) 【发布时间】:2020-01-14 16:10:39 【问题描述】:

我正在尝试在 Google Cloud Engine VM(通过 SSH 登录)模型上运行图像分类,并尝试为准确性和损失绘制图表。模型运行良好,但图表出现错误。下面是代码和错误信息。

谁能知道如何修复 SSH 虚拟机中的这个错误?

为 matplotlib 后端尝试了“tkagg”,但仍然出现错误。

图形代码

import matplotlib  matplotlib.use('tkagg')
import matplotlib.pyplot as plt

绘制训练损失和准确率

fig = plt.figure() plt.style.use("ggplot") plt.plot(np.arange(0, 10),
    H.history["loss"], label="train_loss") plt.plot(np.arange(0, 10), 
    H.history["val_loss"], label="val_loss") plt.plot(np.arange(0, 10),
    H.history["acc"], label="train_acc") plt.plot(np.arange(0, 10),
    H.history["val_acc"], label="val_acc") plt.title("Training Loss and Accuracy") 
    plt.xlabel("Epoch #") 
    plt.ylabel("Loss/Accuracy") 
    plt.legend() 
    plt.savefig('without_aug.png', dpi = fig.dpi, bbox_inches = 'tight')

错误:

回溯(最近一次通话最后一次): 文件“minivggnet_flowers17.py”,第 73 行,在 fig = plt.figure() 文件“/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py”,第533行,图中 **kwargs) 文件“/usr/local/lib/python2.7/dist-packages/matplotlib/backend_bases.py”,第 161 行,在 new_figure_manager 返回 cls.new_figure_manager_given_figure(num, fig) 文件“/usr/local/lib/python2.7/dist-packages/matplotlib/backends/_backend_tk.py”,第 1046 行,在 new_figure_manager_given_figure 窗口 = Tk.Tk(className="matplotlib")init 中的文件“/usr/lib/python2.7/lib-tk/Tkinter.py”,第 1823 行 self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use) _tkinter.TclError: 没有显示名称,也没有 $DISPLAY 环境变量

谁能知道如何修复 SSH 虚拟机中的这个错误?

【问题讨论】:

欢迎来到 SO;请花一点时间看看如何正确格式化您的代码块(这次为您完成。另外,问题与deep-learning 无关 - 请不要发送垃圾邮件不相关的标签(已删除)。 谢谢@desertnaut。从下次开始会妥善保存代码块。 【参考方案1】:

您可以使用 jupiter lab 进行可视化并逐行运行代码。在云虚拟机中,您需要使用 pip 安装 jupyter lab - pip install jupyterlab 然后通过键入以下内容启动 jupyter lab 服务器终端中的命令 -

jupyter 实验室 --ip=0.0.0.0 --port=9090 使用此命令输出提供的链接将其粘贴到您的 Web 浏览器以打开 jupyter notebook。在这里你可以运行 matplotlib imshow 函数进行可视化。

注意:- 端口号可以是任何东西,但必须开放才能通过互联网访问。您需要检查谷歌云虚拟机网络设置为全球用户添加端口号或将其公开。

【讨论】:

以上是关于如何在 Google Cloud VM (SSH) 中查看绘图的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Google Cloud Dataflow 中设置到外部数据库服务器的 SSH 隧道?

无法在 Google Cloud DL VM 中使用 Theano Keras 后端

如何在 Google Cloud VM 上隐藏 PHPMyAdmin

错误4003:无法ssh登录到我在Google Cloud Platform中创建的实例

Google Cloud 不允许访问 Jupyter Notebook

如何在 Google Cloud Logs Explorer 中查询 VM 合规性报告