随笔--解决ubuntu虚拟环境的依赖问题

文章目录

  • 问题一:在conda虚拟环境中报错ImportError: libcupti.so.11.7:cannot open shared object file: No such file or directory
  • 解决步骤
  • 问题二: RuntimeError: CUDA error: CUBLAS_STATUS_INVALID_VALUE when calling cublasSgemmStridedBatched( handle, opa, opb, m, n, k, &alpha, a, lda, stridea, b, ldb, strideb, &beta, c, ldc, stridec, num_batches)。
  • 解决方案:
  • 问题三: RuntimeError: ProcessGroupNCCL is only supported with GPUs, no GPUs found!
  • 解决方案

问题一:在conda虚拟环境中报错ImportError: libcupti.so.11.7:cannot open shared object file: No such file or directory

解决步骤

  1. 查询是否存在libcupti.so.11.7文件
find / -name libcupti.so.11.7

在这里插入图片描述
2. 将到nvidia这步都拷贝到conda环境中

# conda 虚拟环境的路径在 cd /opt/conda/envs/你的虚拟环境的名字  下
cp -r /home/ubuntu/.local/lib/python3.8/site-packages/nvidia/ /opt/conda/envs/你的虚拟环境的名字/

问题二: RuntimeError: CUDA error: CUBLAS_STATUS_INVALID_VALUE when calling cublasSgemmStridedBatched( handle, opa, opb, m, n, k, &alpha, a, lda, stridea, b, ldb, strideb, &beta, c, ldc, stridec, num_batches)。

解决方案:

  1. 方法一:
pip uninstall nvidia-cublas-cu11
  1. 方法二:
 unset LD_LIBRARY_PATH

该命令作用:
unset LD_LIBRARY_PATH 是一个用于清空 Linux 或 Unix 操作系统环境变量 LD_LIBRARY_PATH 的命令。

在 Linux 或 Unix 系统中,LD_LIBRARY_PATH 是一个环境变量,用于指定共享库文件(也称为动态链接库)的搜索路径。当一个程序启动时,系统会在 LD_LIBRARY_PATH 指定的路径下搜索共享库文件。如果 LD_LIBRARY_PATH 没有被设置,系统会使用默认的共享库搜索路径。

使用 unset LD_LIBRARY_PATH 命令可以清空 LD_LIBRARY_PATH 环境变量,这意味着系统将只使用默认的共享库搜索路径。这个命令通常用于解决程序运行时由于错误的 LD_LIBRARY_PATH 设置导致的问题。

问题三: RuntimeError: ProcessGroupNCCL is only supported with GPUs, no GPUs found!

解决方案

  1. cuda版本和torch版本不匹配的问题
  2. 查看cuda版本: nvcc --version
  3. 再去这里查看对应版本并用conda命令安装。

你可能感兴趣的:(机器学习基础算法,ubuntu,linux,运维)