如何在 slurm 中导入 cv2?

How to import cv2 in slurm?

我有一个 python 程序,我在 运行 上使用 slurm。 我的 python 程序正在导入不同的包。当我尝试 import cv2 时,我遇到了以下错误:

import cv2
ImportError: No module named 'cv2'

我的作业脚本是:

#!/bin/bash
#SBATCH --job-name=myjob
#SBATCH --account=default
#SBATCH --time=2-00:00:00
#SBATCH --ntasks=4
#SBATCH --ntasks-per-node=4
#SBATCH --cpus-per-task=1
#SBATCH --gres=gpu:1
#SBATCH --partition=m3c
#SBATCH --mem=4000
module load python/3.5.2-gcc4
module load cuda/8.0
module load cudnn/5.1
module load hdf5/1.10.0-patch1
module list
python3 /path/to/pythonscript/mycode.py

如何在 slurm 上解决这个问题?

首先,通过检查是否可以在作业提交之外导入 cv2 来确保这是一个 slurm 问题。

module load python/3.5.2-gcc4
module load cuda/8.0
module load cudnn/5.1
module load hdf5/1.10.0-patch1
python3 -c 'import cv2'

看看你是否收到错误。

尝试使用这个: module load OpenCV

如果仍然失败,则在终端中通过运行 module spider检查集群中是否安装了OpenCV。此命令将列出集群中所有可用的模块。