【发布时间】:2016-10-06 09:32:36
【问题描述】:
我正在使用 Ubuntu 14.04 操作系统的 g2.8xlarge EC-2 实例上运行启用了 cuDNN 的 py-faster-rcnn。一切都已编译,似乎工作正常。我通过以下方式登录远程实例:
ssh -X -i "<key.pem>" ubuntu@<IP address>
我也输入命令:export DISPLAY=:0
运行./tools/demo.py 输出看起来不错:
Loaded network /home/ubuntu/py-faster-rcnn/data/faster_rcnn_models/VGG16_faster_rcnn_final.caffemodel
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Demo for data/demo/000456.jpg
Detection took 0.543s for 300 object proposals
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Demo for data/demo/000542.jpg
Detection took 0.506s for 161 object proposals
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Demo for data/demo/001150.jpg
Detection took 0.507s for 194 object proposals
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Demo for data/demo/001763.jpg
Detection took 0.507s for 196 object proposals
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Demo for data/demo/004545.jpg
Detection took 0.541s for 300 object proposals
但图形输出没有在我的 XQuartz 窗口中呈现。
其他人解决了这个问题吗?需要弄清楚如何使用 AWS 硬件但具有本地可视化功能。在这里检查,但我无法解决我的问题:BVLC/caffe#861
编辑
这里是我的远程sshd_config 和本地ssh_config 文件的链接。
以下是远程 AWS 服务器环境中请求的测试结果:
$ echo $DISPLAY
localhost:10.0
和
$ DISPLAY=localhost:10.0 xhost && echo success
access control enabled, only authorized clients can connect
success
更新
应用上述步骤后,在远程机器上运行命令xeyes 和xcalc 会在本地客户端上产生预期的输出(首先是眼睛,其次是计算器)。这可能是一个python问题。打算开始找那里。
解决方案——更新 Python 库
在回复这篇文章的人的指导下验证我的系统设置为支持 X11 转发后,我专注于在 python 中运行一系列测试,看看matplotlib 是否与 X11 兼容。您可以通过运行this script interactively 自行检查。如果xcalc 和xeyes 按预期工作,但此脚本产生错误,则问题出在python/matplotlib。
我已经解决了这个问题,所以我手头没有这个产生的错误,但是在 Ubuntu 14.04、g2.8xlarge EC2 上修复的步骤如下:
- 安装python gobject:
sudo apt-get install python-gobject-dev - 安装python-tk:
sudo apt-get install python-tk - 安装 pygtk:
wget http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.24/pygtk-2.24.0.tar.gztar -xvzf pygtk-2.24.0.tar.gzcd pygtk-2.24.0./configuremakesudo make installcd
- 如果
matplotlib是使用包管理器安装的,例如pip,卸载它并从源重新安装:sudo pip uninstall matplotlibgit clone https://github.com/matplotlib/matplotlib.gitcd matplotlibsudo python setup.py installcd
- 不确定这是否有必要,但运行
sudo apt-get install xorg openbox以获得良好的效果。
经过上述步骤后,python ./tools/demo.py 与 py-faster-rcnn 根目录返回边界框和类概率的图像,如预期的那样。
【问题讨论】:
-
啊伙计,这是一个令人讨厌的错字。除了语法不正确之外,它还缺少一个单词——图形输出not 在 X11 窗口中呈现。所以终端进程运行良好,但生成的 matplotlib 图都没有出现在 X11 中。我在以前的安装中成功运行了它。不知道这次发生了什么变化。现在任何地方都没有图形输出。
-
xhost测试表明X没问题。在您的语言环境 Xserver 和在远程接口上运行的 x 客户端之间建立了通信。如果您尝试xeyes或xcalc,会打开一个窗口对吗? -
没有错误信息,所以问题可能出在其他地方。也许 demo.py 在编译时或运行时需要 exta 选项?当然我们也可能会错过一些东西...希望其他人可以在这里提供帮助...
-
好看——当我在终端输入
xcalc时,我确实在本地获得了计算器 GUI。这表明这与 demo.py 有关,不是吗? -
回答已接受,感谢您的帮助!如果您对这件事的 python 部分有任何提示,我会欢迎,但我会继续自己研究。