一种可行的Linux服务器apex安装方法

服务器环境:

  python:3.8

  torch:2.0.0

  cuda:11.7

安装过程:

  

由于最新版的apex不稳定且bug多,因此选择回退到稳定版本。

 

git clone https://github.com/NVIDIA/apex
cd apex
git checkout f3a960f80244cf9e80558ab30f7f7e8cbf03c0a0
pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./a

 

但是,这种安装会导致和环境不兼容,主要是torch版本的问题。

因此需要修改apex中的一些代码:

 

找到conda目录下apex_amp_state.py:

我的是在 usr/local/miniconda3/lib/python3.8/site-packages/apex/amp/_amp_state.py

替换对应位置部分代码,主要是else那块:

if TORCH_MAJOR == 1 and TORCH_MINOR < 8:
    from torch._six import container_abcs
else:
    import collections.abc as container_abcs

  

这是第一个位置,第二个位置是_initialize.py:

将最上面的import torch._six替换为:

int_classes = int
string_classes = str

 

这就完成了基本的修改,理论上可以进行使用apex了。

 

posted on 2023-07-04 11:26  Mr_Xu8717  阅读(299)  评论(0)    收藏  举报