简要描述:参考apex 安装/使用 记录 的方法安装,运行代码后遇到问题。适合当下(2021.5.29)的安装方法见最后。
问题1
ModuleNotFoundError: No module named 'fused_adam_cuda'
解决
apex的旧版本较老,参考 https://github.com/NVIDIA/apex/issues/633 这个问题中有一个回答:
you can try FusedAdam in apex.optimizers instead of in apex.optimizers.contrib
主要是因为apex的版本更迭,引入FusedAdam的包名发生了变化。
参考 apex关于FusedAdam的官方文档,把
from apex.contrib.optimizers import FusedAdam
改成
from apex.optimizers import FusedAdam
此外,如果使用 FP16_Optimizer
, 引入的包名也发生了变化。
参考 apex关于FP16_Optimizer的官方文档,把
from apex.contrib.optimizers import FP16_Optimizer
改成
from apex.fp16_utils import FP16_Optimizer
问题2
ModuleNotFoundError: No module named 'fused_layer_norm_cuda'
解决
参考ModuleNotFoundError: No module named ‘fused_layer_norm_cuda’。之前安装apex出现问题,卸载后,进入git后得到的apex文件夹重装。
pip uninstall apex
python setup.py install --cpp_ext --cuda_ext
安装
参考ModuleNotFoundError: No module named ‘fused_layer_norm_cuda’,适合当下(2021.5.29)的安装方法为:
git clone https://github.com/NVIDIA/apex
cd apex
python setup.py install --cpp_ext --cuda_ext