简短介绍

相信很多AI研究者刚入门时或多或少都被环境配置坑过一把,哪怕是老手也可能被复杂的配置折腾一会儿。我们今天的主题是:深度学习环境配置涉及哪些层次结构?我们每天所谓的配环境,到底是在配什么?遇到问题之后可以从哪些方面下手?

环境层级

按照从顶层到底层的顺序,我们大致可以将深度学习环境分为以下几个层级:

常见问题

配置环境很难一蹴而就,以下是一些常见问题和解决思路:

解决思路:检查显卡算力与 CUDA Runtime 版本的匹配度。对于新卡,优先尝试安装 Nightly 版本的 PyTorch。Conda 环境迁移导致的路径报错:如果你直接拷贝别人的 Conda 文件夹,或者在代码中使用了绝对路径(如 /home/old_user/…),程序会因为找不到对应的 Prefix 而崩溃。解决思路:在项目根目录使用 grep 搜索硬编码路径,并使用 sed 批量替换为当前的物理路径或相对路径。

解决思路:只要 驱动版本 工具包版本,环境就能正常运行。

Takeaway

  1. 先看硬件,再配软件:查清楚你的显卡 Compute Capability,它是所有配置的基准。

  2. 驱动“向下兼容”:保持宿主机驱动尽可能新,它能兼容更低版本的 CUDA Toolkit。

  3. 理解 Prefix 的物理意义:它是环境的隔离墙,也是路径报错的重灾区。

Appendix

CUDA SDK Tesla Fermi Kepler Maxw. Pasc. Volt. Turi. Amp. Ada Hopp. Black.
1.0 - 2.0 1.0-1.3 - - - - - - - - - -
3.0 - 4.2 1.0 2.0-2.1 - - - - - - - - -
5.0 - 6.0 1.0 - 3.0-3.5 - - - - - - - -
6.5 - 7.5 1.1 2.0 3.7 5.x - - - - - - -
8.0 - 2.0 - - 6.x - - - - - -
9.0 - 9.2 - - 3.0 - - 7.0-7.2 - - - - -
10.0 - 10.2 - - 3.0 - - - 7.5 - - - -
11.0 - - - 3.5 - - - 8.0 - - -
11.1 - 11.7 - - - 3.5 - - - 8.6-8.7 - - -
11.8 - - - 3.5 - - - 8.6 8.9 9.0 -
12.0 - 12.6 - - - - 5.0 6.0 7.0 8.0 8.9 9.0 -
12.8 - - - - 5.0 6.0 7.0 8.0 8.9 9.0 12.0
13.0 - - - - - - 7.5 8.6 8.9 9.0 12.1