V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vthe
V2EX  ›  程序员

抱怨一下深度学习相关的环境配置

  •  
  •   vthe · 2023-03-13 21:32:44 +08:00 · 2480 次点击
    这是一个创建于 381 天前的主题,其中的信息可能已经有所发展或是发生改变。

    可能配置过一次深度学习或类似的环境,就会对深度学习完全失去热情吧。

    我最近在做毕业设计,任务是去复刻某个深度学习,然后再改进一些。本来我以为会是个挺轻松的任务,没想到光安环境就能折腾我这么久。

    我用的是谷歌的 colab ,好像不管怎么弄,cuda 的环境都改不动,就算我卸载了,也还是 11.8 。 就很奇怪,要被 cuda 折磨疯了。

    下面给出原代码给出的环境,各位觉得这个配置存在问题吗?或者有更简单的安装环境的方法吗?

    PyTorch version: 1.8.0
    CUDA version: 11.1
    cudnn version: 8005
    GPU: Tesla V100-SXM2-32GB
    
    requirements.txt
    matplotlib==3.4.2
    pynvml==11.0.0
    torchvision==0.8.0
    pandas==1.3.2
    numpy==1.20.3
    imbalanced_learn==0.8.0
    tqdm==4.62.1
    torch==1.7.0
    fairseq==0.10.2
    transformers==4.10.2
    imblearn==0.0
    librosa==0.8.1
    Pillow==8.3.2
    pysndfx==0.3.6
    scikit_learn==1.0
    
    15 条回复    2023-03-16 23:25:20 +08:00
    nightwitch
        1
    nightwitch  
       2023-03-13 22:00:19 +08:00 via Android
    11.8 和 11.1 理论上是兼容的,所以问题在哪里
    ruxuan1306
        2
    ruxuan1306  
       2023-03-13 22:01:40 +08:00   ❤️ 2
    注意选择 Github 或 Hugging Face 上正儿八经的、工程水平较高的、有预训练检查点或 Cobab 实例的深度学习项目。

    因为绝大多数搞炼丹的研究生都是臭鱼烂虾,开源代码仓库主要是为了忽悠审稿人,不说结果能不能复现,就依赖列表都不一定准确。
    allegory
        3
    allegory  
       2023-03-14 00:22:22 +08:00
    11.6 以上的 cuda 对应的 torch 版本不是 1.7 吧 至少得 1.13.0cu+116
    allegory
        4
    allegory  
       2023-03-14 00:23:31 +08:00
    你安装 torch 的时候一定要用官网给的那个命令,并且选择正确的版本和工具。PS 不推荐 conda. conda 就 tm 一坑 b
    Muniesa
        5
    Muniesa  
       2023-03-14 00:49:01 +08:00 via Android
    pytorch 兼容性很好,不写奇奇怪怪的代码一般升级都不会有问题,直接拿 colab 已有的环境跑一下试试
    lbingl
        6
    lbingl  
       2023-03-14 01:01:12 +08:00 via Android
    你这项目用的是 v100 ,colab 跑不动的,不用试了,换 kaggle 没准能跑动。不用换 cuda 环境,torch 也应该不用换,直接跑,报缺什么包再安装什么就行。
    chesha1
        7
    chesha1  
       2023-03-14 01:01:54 +08:00
    首先 CUDA 有两个版本,一个普通 CUDA 驱动,一个 CUDA toolkit ,你看看是不是搞混了
    另外就是版本不严格兼容也是可以的,不像 tensorflow 那么坑
    另外建议把报错发上来看看,光说环境有问题我们也不清楚问题在哪啊
    0attocs
        8
    0attocs  
       2023-03-14 02:43:12 +08:00
    `torch==1.7.0` 改成 `torch==1.7.0+cu110`, 这是 1.7.0+cuda11 的唯一一个 whl ,参见 https://download.pytorch.org/whl/torch/

    你也可以选一个更新的 torch ,一般都没问题,就是不过 torchvision 接口不太稳定,不同版本可能有坑。
    0attocs
        9
    0attocs  
       2023-03-14 02:48:02 +08:00
    仔细看了下,上面环境写的是 torch 1.8.0 + cuda 11.1 ,但下面 requirements.txt 写的是 cuda==1.7.0 。改成 torch==1.8.0+cu111 就可以了,这个 whl 是存在的。
    vthe
        10
    vthe  
    OP
       2023-03-14 10:12:26 +08:00
    谢谢各位,我这才明白原来环境不用一模一样,直接跑就是了。然后的话只安装了一个 transformers 就可以跑了。我之前其实也跑通过,但是一分钟不到 colab 就崩溃了,所以我以为环境一定要大概相同才能跑。

    然后刚才直接跑了一下,还是一分钟不到就崩溃了。

    warning 信息只有
    ```
    2023-03-14 02:02:56.805401: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 FMA
    To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
    2023-03-14 02:03:00.821268: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/lib64-nvidia
    2023-03-14 02:03:00.822404: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/lib64-nvidia
    2023-03-14 02:03:00.822449: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
    ```

    然后关于显卡的话,由于之前 colab 崩溃,我也以为是显卡配置。我问过我的导师,他说 T4 足够了。
    lonewolfakela
        11
    lonewolfakela  
       2023-03-14 11:04:56 +08:00
    你崩溃了,但是只有 warning ,没有 error ?
    vthe
        12
    vthe  
    OP
       2023-03-14 11:29:26 +08:00
    @lonewolfakela 是的,这个 warning 好像也是不用管的。所以我现在就是觉得,要么 colab 12G 的显存不够用,要么就是环境的问题。
    elboble
        13
    elboble  
       2023-03-14 11:52:54 +08:00 via Android
    @vthe 这个 warning 我也有,但是不影响调 cuda ,我是用 sd-webui ,基本上是按一键安装包下来的。
    vthe
        14
    vthe  
    OP
       2023-03-15 00:02:31 +08:00
    各位好,请问一个大小为 4 到 5g 的数据集,一个小时能够跑完吗?
    我打算去租个大点显存的显卡,看一下到底是环境的问题还是配置不够。
    vthe
        15
    vthe  
    OP
       2023-03-16 23:25:20 +08:00
    大概率是解决了这个问题,我去显卡租赁平台租了个 P100 还是 V100,16G 内存,程序果然可以跑起来了。
    但还是不够用,这次的提示很明显,cuda 的内存不够了。由于不会调参数,只能用更高性能的显卡去试了。
    或者按网上的一些优化,试着把 batch_size 从 64 调到 32 ,只是不知道影响大不大。任重道远!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3066 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 14:37 · PVG 22:37 · LAX 07:37 · JFK 10:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.