NVIDIA APEX安装完全指南及Megatron-LM/Pytorch运行问题解决(fused_layer_norm_cuda/packaging/amp_C/libc10.so)

1. 问题列表

在Megatron-LM/Pytorch运行中报错如下:

  1. No module named 'fused_layer_norm_cuda': apex没有装或者装的不对,注意直接用pip install apex装的不是真正的nvdia-apex,必须通过源码编译安装
  2. ModuleNotFoundError: No module named 'packaging': 在新版的apex上编译会遇到报错,需要切换到之前的代码版本
  3. No module named 'amp_C': 编译指令使用 pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./,编译后还需要额外执行python setup.py install
  4. ImportError: libc10.so: cannot open shared object file: No such file or directory: libc10.so是跟着pytorch一起装的

NVIDIA APEX 代码库:https://github.com/NVIDIA/apex

2. 完整APEX编译安装命令

  • 步骤一:在ubuntu系统中提前安装依赖:
apt-get install -y ninja-build libssl-dev libffi-dev

如果上面依赖不够,可以试试如下:

apt install -y ninja-build build-essential pkg-config zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev libbz2-dev
  • 步骤二:python安装(如已安装, 跳过)
wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz
tar zxf Python-3.10.12.tgz && cd Python-3.10.12
./configure
make altinstall 

python默认安装路径是/usr/local/bin下,需要设置下PATH和软链

export PATH=/usr/local/bin:$PATH
ln -s /usr/local/bin/python3.10 /usr/local/bin/python
ln -s /usr/local/bin/pip3.10 /usr/local/bin/pip
  • 步骤三:pytorch-1.12.1-gpu版安装,为了解决libc10.so找不到的问题,同时apex安装也依赖torch
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 --extra-index-url https://download.pytorch.org/whl/cu113
  • 步骤四:重装apex
pip uninstall apex 
git clone https://github.com/NVIDIA/apex
cd apex
git checkout 22.04-dev
pip install -r requirements.txt
pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
  • 步骤五:测试, 在引入amp_C之前要先引入torch
import torch
import amp_C
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MLTalks

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值