我正在寻找一种方法来使用pip或类似方法将python包列表安装到自定义目标目录(ex./mypath/python/pkgs/),但也排除/黑名单特定依赖项.
我想排除特定的依赖项,因为它们已经从不同的安装路径(例如anaconda安装)得到满足.我没有权限将包添加到默认的python安装(我也不想).
我目前使用pip的-r和-t选项.但还没有找到排除特定包的方法.
像这样的pip命令是理想的:
pip install --log pip.log -r req.txt -t /mypath/pypkgs/ --exclude exclude.txt
Run Code Online (Sandbox Code Playgroud)
--no-deps 因为我需要一些依赖项,所以不是一个选项.
我目前正在寻求一个python脚本来执行pip安装,其中包含我不需要的依赖项:
pip install --log pip.log -r req.txt -t /mypath/python/pkgs/
Run Code Online (Sandbox Code Playgroud)
然后(自动)在pip安装完成后删除不需要的依赖项.
我希望pip命令的某些组合可以实现我正在寻找的一些直截了当的东西.我正在使用pip 7.1.2.谢谢!
类似,但我没有升级,想要指定目标路径:
我们正在寻求一些有关 slurm salloc GPU 分配的建议。目前,给出:
% salloc -n 4 -c 2 -gres=gpu:1
% srun env | grep CUDA
CUDA_VISIBLE_DEVICES=0
CUDA_VISIBLE_DEVICES=0
CUDA_VISIBLE_DEVICES=0
CUDA_VISIBLE_DEVICES=0
Run Code Online (Sandbox Code Playgroud)
然而,我们希望使用的不仅仅是设备 0。
有没有办法用 srun/mpirun 指定 salloc 以获得以下内容?
CUDA_VISIBLE_DEVICES=0
CUDA_VISIBLE_DEVICES=1
CUDA_VISIBLE_DEVICES=2
CUDA_VISIBLE_DEVICES=3
Run Code Online (Sandbox Code Playgroud)
这是期望的,以便每个任务获得 1 个 GPU,但总体 GPU 使用量分布在 4 个可用设备中(请参阅下面的 gres.conf)。不是所有任务都获得 device=0 的地方。
这样,每个任务就不会像当前的情况一样等待设备 0 释放其他任务。
或者即使我们有超过 1 个可用/空闲的 GPU(总共 4 个)用于 4 个任务,这是否是预期的行为?我们遗漏或误解了什么?
总结我们希望能够使用 slurm 和 mpi,以便每个等级/任务使用 1 个 GPU,但作业可以在 4 个 GPU 之间分散任务/等级。目前看来我们仅限于设备 0。我们还希望避免由于 mpi 使用而在 salloc/sbatch 中多次提交 srun。
操作系统:CentOS …