解决PaddlePaddle-GPU安装问题及排除bug操作

释放双眼,带上耳机,听听看~!
本文介绍了在安装PaddlePaddle-GPU时可能遇到的问题以及排除bug的操作,包括创建Anaconda虚拟环境、安装CUDA 11.7和cuDNN 8.4.1,同时提醒了在安装过程中需要删除特定命令以提升安装速度和避免中断。

本文正在参加tuna.moe 找到 miniconda ,下载并安装。

  • 打开 tuna.moe/oh-my-tuna ,按指示操作换源(conda、pip)
  • 3.安装 PaddlePaddle-GPU

    打开 www.paddlepaddle.org.cn/ 官网,选择 conda、linux、2.4、cuda 11.7

    解决PaddlePaddle-GPU安装问题及排除bug操作

    3.1创建虚拟环境

    首先根据具体的 Python 版本创建 Anaconda 虚拟环境,PaddlePaddle 的 Anaconda 安装支持 3.6 – 3.10 版本的 Python 安装环境。

    conda create -n paddle_env python=YOUR_PY_VER
    

    3.2 进入 Anaconda 虚拟环境

    conda activate paddle_env
    

    3.3 安装paddlepaddle-gpu=

    • 对于 CUDA 11.7,需要搭配 cuDNN 8.4.1(多卡环境下 NCCL>=2.7),安装命令为:
    conda install paddlepaddle-gpu==2.4.0 cudatoolkit=11.7 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ 
    

    切记:

    不要按照官网:

    conda install paddlepaddle-gpu==2.4.0 cudatoolkit=11.7 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c conda-forge
    

    解决PaddlePaddle-GPU安装问题及排除bug操作

    操作,要删掉 -c conda-forge, 否则安装会特别慢,说不定还会中断,切记。。。。。。

    4.排除bug操作

    4.1 ImportError: libpython3.9.so.1.0: cannot open shared object file: No such file or directory

    import paddle

    >>> import paddle
    Error: Can not import paddle core while this file exists: /home/livingbody/miniconda3/envs/p2/lib/python3.9/site-packages/paddle/fluid/libpaddle.so
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "https://b2.7b2.com/home/livingbody/miniconda3/envs/p2/lib/python3.9/site-packages/paddle/__init__.py", line 25, in <module>
        from .framework import monkey_patch_variable
      File "https://b2.7b2.com/home/livingbody/miniconda3/envs/p2/lib/python3.9/site-packages/paddle/framework/__init__.py", line 17, in <module>
        from . import random  # noqa: F401
      File "https://b2.7b2.com/home/livingbody/miniconda3/envs/p2/lib/python3.9/site-packages/paddle/framework/random.py", line 16, in <module>
        import paddle.fluid as fluid
      File "https://b2.7b2.com/home/livingbody/miniconda3/envs/p2/lib/python3.9/site-packages/paddle/fluid/__init__.py", line 36, in <module>
        from . import framework
      File "https://b2.7b2.com/home/livingbody/miniconda3/envs/p2/lib/python3.9/site-packages/paddle/fluid/framework.py", line 37, in <module>
        from . import core
      File "https://b2.7b2.com/home/livingbody/miniconda3/envs/p2/lib/python3.9/site-packages/paddle/fluid/core.py", line 304, in <module>
        raise e
      File "https://b2.7b2.com/home/livingbody/miniconda3/envs/p2/lib/python3.9/site-packages/paddle/fluid/core.py", line 249, in <module>
        from . import libpaddle
    ImportError: libpython3.9.so.1.0: cannot open shared object file: No such file or directory
    

    处理办法:

    如下所示,各位根据自己路径进行修改。

    (p2) livingbody@gaint:~/miniconda3/envs/p2/lib$ sudo cp libpython3.9.so.1.0 /usr/lib
    [sudo] livingbody 的密码: 
    (p2) livingbody@gaint:~/miniconda3/envs/p2/lib$ sudo cp libpython3.9.so.1.0 /usr/lib64
    

    4.2 PreconditionNotMetError: Cannot load cudnn shared library. Cannot invoke method cudnnGetVersion.

    PreconditionNotMetError: Cannot load cudnn shared library. Cannot invoke method cudnnGetVersion.

    >>> paddle.utils.run_check()
    Running verify PaddlePaddle program ... 
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "https://b2.7b2.com/home/livingbody/miniconda3/lib/python3.9/site-packages/paddle/utils/install_check.py", line 269, in run_check
        _run_static_single(use_cuda, use_xpu, use_npu)
      File "https://b2.7b2.com/home/livingbody/miniconda3/lib/python3.9/site-packages/paddle/utils/install_check.py", line 173, in _run_static_single
        exe.run(startup_prog)
      File "https://b2.7b2.com/home/livingbody/miniconda3/lib/python3.9/site-packages/paddle/fluid/executor.py", line 1463, in run
        six.reraise(*sys.exc_info())
      File "https://b2.7b2.com/home/livingbody/miniconda3/lib/python3.9/site-packages/six.py", line 703, in reraise
        raise value
      File "https://b2.7b2.com/home/livingbody/miniconda3/lib/python3.9/site-packages/paddle/fluid/executor.py", line 1450, in run
        res = self._run_impl(program=program,
      File "https://b2.7b2.com/home/livingbody/miniconda3/lib/python3.9/site-packages/paddle/fluid/executor.py", line 1661, in _run_impl
        return new_exe.run(scope, list(feed.keys()), fetch_list,
      File "https://b2.7b2.com/home/livingbody/miniconda3/lib/python3.9/site-packages/paddle/fluid/executor.py", line 631, in run
        tensors = self._new_exe.run(scope, feed_names,
    RuntimeError: In user code:
    
        File "<stdin>", line 1, in <module>
          
        File "https://b2.7b2.com/home/livingbody/miniconda3/lib/python3.9/site-packages/paddle/utils/install_check.py", line 269, in run_check
          _run_static_single(use_cuda, use_xpu, use_npu)
        File "https://b2.7b2.com/home/livingbody/miniconda3/lib/python3.9/site-packages/paddle/utils/install_check.py", line 159, in _run_static_single
          input, out, weight = _simple_network()
        File "https://b2.7b2.com/home/livingbody/miniconda3/lib/python3.9/site-packages/paddle/utils/install_check.py", line 33, in _simple_network
          weight = paddle.create_parameter(
        File "https://b2.7b2.com/home/livingbody/miniconda3/lib/python3.9/site-packages/paddle/fluid/layers/tensor.py", line 152, in create_parameter
          return helper.create_parameter(attr, shape, convert_dtype(dtype), is_bias,
        File "https://b2.7b2.com/home/livingbody/miniconda3/lib/python3.9/site-packages/paddle/fluid/layer_helper_base.py", line 381, in create_parameter
          self.startup_program.global_block().create_parameter(
        File "https://b2.7b2.com/home/livingbody/miniconda3/lib/python3.9/site-packages/paddle/fluid/framework.py", line 3965, in create_parameter
          initializer(param, self)
        File "https://b2.7b2.com/home/livingbody/miniconda3/lib/python3.9/site-packages/paddle/fluid/initializer.py", line 56, in __call__
          return self.forward(param, block)
        File "https://b2.7b2.com/home/livingbody/miniconda3/lib/python3.9/site-packages/paddle/fluid/initializer.py", line 184, in forward
          op = block.append_op(type="fill_constant",
        File "https://b2.7b2.com/home/livingbody/miniconda3/lib/python3.9/site-packages/paddle/fluid/framework.py", line 4017, in append_op
          op = Operator(
        File "https://b2.7b2.com/home/livingbody/miniconda3/lib/python3.9/site-packages/paddle/fluid/framework.py", line 2858, in __init__
          for frame in traceback.extract_stack():
    
        PreconditionNotMetError: Cannot load cudnn shared library. Cannot invoke method cudnnGetVersion.
          [Hint: cudnn_d_handle should not be null.] (at /paddle/paddle/phi/backends/dynload/cudnn.cc:60)
          [operator < fill_constant > error]
    
    

    解决办法:
    根据命令所知,需要的cuda、cudnn都已经安装,出现这个问题是找不到对应的动态库,所以要针对性处理。

    4.2.1 mkdir

    创建存放动态库的文件夹

    mkdir /usr/local/cuda/lib64 -rf
    

    4.2.2 拷贝 cuda 的 lib

    拷贝动态库到lib

    ~/miniconda3/pkgs/cudatoolkit-11.7.0-hd8887f6_10/lib$ sudo cp * /usr/local/cuda/lib64 -rf
    

    4.2.3 拷贝 cudnn 的 lib

    覆盖性拷贝,同手动安装cudnn操作

    ~/miniconda3/pkgs/cudnn-8.4.1.50-hed8a83a_0/lib$ sudo cp * /usr/local/cuda/lib64/ -rf
    

    4.2.4 设置 LD_LIBRARY_PATH 环境变量

    编辑 .bahsrc

    gedit ~/.bashrc
    

    末尾添加

    export LD_LIBRARY_PATH="/usr/local/cuda/lib64"
    

    5.安装完毕

    解决PaddlePaddle-GPU安装问题及排除bug操作

    如果大家觉得有用,欢迎来个

    本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
    AI教程

    百度网盘推出基于自然语言的图片内容语义检索功能

    2023-12-15 20:37:14

    AI教程

    自然语言预训练技术的演进之路

    2023-12-15 20:47:14

    个人中心
    购物车
    优惠劵
    今日签到
    有新私信 私信列表
    搜索