1

我正在使用 Python+Tensorflow 在高性能计算集群上进行 CNN 训练。我需要 opencv (cv2) 来进行一些数据扩充和预处理。我执行 python 代码的节点没有图形界面。但是,python 中的 cv2 想要加载一个没有图形界面时不可用的文件,它是 X 显示管理器控制协议库的一部分。

import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/username/anaconda3/lib/python3.5/site-packages/cv2/__init__.py", line 9, in <module>
    from .cv2 import *
ImportError: libXdmcp.so.6: cannot open shared object file: No such file or directory

有什么想法可以让它发挥作用吗?我让它在几台具有图形界面的独立机器上工作。

集群中的所有机器都使用 Red Hat Linux。我将 Python3.5 与 Anaconda3 一起使用。我的最终目标是使用需要 cv2 的 imgaug 包(https://github.com/aleju/imgaug)。我使用 opencv-python ( https://pypi.python.org/pypi/opencv-python ) 安装了 opencv。我没有管理员权限,因此我几乎无法安装系统相关的东西。

4

1 回答 1

0

I was able to solve this by installing libXdmcp:

yum install libXdmcp -y

Or:

apt install libXdmcp -y

Depending on your cluster's OS.

Also, since you mentioned a computational cluster, if you are using common tools for computation like Jupyter or Zeppelin, you can use ! or %sh to run bash commands within the notebook itself.

于 2018-08-20T05:28:16.547 回答