2

我的任务是通过 Torque 在 HPC 节点上使用 tensorflow 和 opencv-python 训练神经网络。

我用 python virtualenv 制作了 privatemodule 并在其中安装了 tensorflow 和 opencv-python 模块。

在节点中,我可以加载我的 python 模块。但是当我尝试运行训练脚本时,出现以下错误:

Traceback (most recent call last): File "tensornetwork/train_user_ind_single_subj2.py", line 16, in <module> from reader_user_ind_single_subj import MyData File "/home/trig/tensornetwork/reader_user_ind_single_subj.py", line 10, in <module> import cv2 File "/home/trig/privatemodules/venv_python275/lib/python2.7/site-packages/cv2/__init__.py", line 4, in <module> from .cv2 import * ImportError: libSM.so.6: cannot open shared object file: No such file or directory

训练脚本可以在头节点上运行,但不能在计算节点上运行。

您能否建议如何修改我的模块或添加一个新模块以使用 Torque 在计算节点上运行训练。

4

1 回答 1

2

Python 模块使用了一个系统库(即libSM.so.6:对 X 的 freedesktop.org 版本的库支持),它存在于头节点上,但不存在于计算节点上(这并不奇怪)

您可以:

  • 要求管理员通过包管理器将该库安装在系统范围内的计算节点上;
  • 或者找到头节点上的文件(可能在/usr/libor/usr/lib64或兄弟姐妹中),并将其复制到/home/trig/privatemodules/venv_python275/lib/python2.7/site-packages/cv2/Python 应该找到它的位置。如果 Python 仍然找不到它,export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/trig/privatemodules/venv_python275/lib/python2.7/site-packages/cv2/请在加载模块后在 Torque 脚本中运行。
  • 或者你可以在你的主目录中搜索libSM并编译它的源代码
于 2018-02-16T15:15:11.013 回答