【问题标题】:create environment module to work with opencv-python on hpc nodes创建环境模块以在 hpc 节点上使用 opencv-python
【发布时间】:2026-02-16 23:45:01
【问题描述】:

我的任务是通过 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 在计算节点上运行训练。

【问题讨论】:

    标签: python-2.7 opencv hpc torque environment-modules


    【解决方案1】:

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

    您可以:

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

    【讨论】: