V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
CaptainD
V2EX  ›  问与答

conda 环境下怎么使用 cuda、cudnn、tf 等环境

  •  1
     
  •   CaptainD · 2022-07-27 14:08:04 +08:00 · 1400 次点击
    这是一个创建于 880 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 我没有接触过算法相关的环境,今天领导让配置下新买的 GPU 服务器,遇到些麻烦

    问题

    • 我使用 Mini-conda 管理环境,并在虚拟环境中安装了 cuda 、cudnn 、torch 、tf 、paddle 等包
    • nvidia-smi 正常工作
    • conda list 可以看到 cuda
    (nlp) [cs@localhost miniconda3]$ conda list cuda
    # packages in environment at /home/cs/miniconda3/envs/nlp:
    #
    # Name                    Version                   Build  Channel
    cudatoolkit               10.1.243             h6bb024c_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
    
    • nvcc 找不到命令,应该是没有配置环境变量
    (nlp) [cs@localhost miniconda3]$ nvcc -v
    bash: nvcc: 未找到命令...
    
    • 在 python 里可以使用 torch ,但无法使用 tf 和 paddle
    Python 3.7.6 (default, Jan  8 2020, 19:59:22) 
    [GCC 7.3.0] :: Anaconda, Inc. on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import torch
    
    >>> 
    >>> print(torch.cuda.is_available())
    True
    
    >>> import tensorflow as tf
    
    >>> 
    >>> print(tf.config.list_physical_devices('GPU'))
    []
    

    可能是环境变量导致的,我应该怎么设置

    • torch 可用的原因应该是它内置了 cuda 等,但 tf 和 paddle 需要另外安装,而现在 paddle 和 tf 找不到我安装的 cuda

    依赖关系

    版本
    pytorch 1.7.1
    paddle 1.8.5
    tf 2.3
    cuda 10.1
    cudnn 7.6.5
    python 3.7
    8 条回复    2022-07-28 12:02:30 +08:00
    RecLusIveF
        1
    RecLusIveF  
       2022-07-27 14:31:25 +08:00 via iPhone
    tf 讲道理来说,不认 conda 环境里的 cudatoolkit ,只能从英伟达那边下载 cuda ,cudnn 进行安装才能识别
    ysc3839
        2
    ysc3839  
       2022-07-27 15:41:55 +08:00
    建议直接用系统的包管理安装 CUDA ,有的库可能写死了 /usr/local/cuda 路径,你用 conda 安装会麻烦很多的。如果要多版本共存,推荐用 Docker ,NVIDIA 官方有提供 cuda 镜像 https://hub.docker.com/r/nvidia/cuda
    handuo
        3
    handuo  
       2022-07-27 15:58:43 +08:00 via Android   ❤️ 2
    是的 安装完官方下的 cuda 和 cudnn 后,在本用户路径 bashrc zshrc 下把 cuda 的位置 bin 和 lbib64 分别附加到 path 和 ld library path 的环境变量,具体自己谷歌
    whywaoxaks
        4
    whywaoxaks  
       2022-07-27 16:02:14 +08:00
    很多年前,每次一配 gpu 环境就得花好几天,所以就一直用 docker 了,不知道现在好不好配了。
    CaptainD
        5
    CaptainD  
    OP
       2022-07-27 16:16:14 +08:00
    @handuo #3 我大概查到了类似方法,虽然感觉哪里有点怪怪的,但应该是可以用了
    Muniesa
        6
    Muniesa  
       2022-07-27 18:29:13 +08:00 via Android
    conda 的 cudatoolkit 不是完整的 CUDA ,pytorch 和 paddle 我记得如果用 conda 装的话是可以直接用的,不需要完整 CUDA 环境
    hsfzxjy
        7
    hsfzxjy  
       2022-07-27 18:53:33 +08:00 via Android
    建议配 docker ,省心
    pydiff
        8
    pydiff  
       2022-07-28 12:02:30 +08:00 via iPhone
    之前用 paddlepaddle 时试过 conda 装的 cudatool 没用,要用 nvidia 的。建议你用 docker ,选择 nvidia 的 cuda-cudnn-devel 版本做基础镜像
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1057 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:35 · PVG 03:35 · LAX 11:35 · JFK 14:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.