以下是我在2022年11月使用的方法。
apex.optimizers.FusedAdam
,
apex.normalization.FusedLayerNorm
等需要CUDA和C++扩展(参见
这里)。因此,仅安装Python版本是不够的。要构建
apex
,必须确保
PyTorch
和
apex
的CUDA版本匹配,详细说明请参见
这里。
查询Ubuntu Colab运行的版本:
!lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.6 LTS
Release: 18.04
Codename: bionic
要获取当前的CUDA版本,请运行以下命令:
!nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Sun_Feb_14_21:12:58_PST_2021
Cuda compilation tools, release 11.2, V11.2.152
Build cuda_11.2.r11.2/compiler.29618528_0
在这里查找最新的PyTorch构建和计算平台链接。
![输入图像描述](https://istack.dev59.com/goXuY.webp)
接下来,转到cuda工具包存档并配置与PyTorch的cuda版本和您的操作系统版本相匹配的版本。
![输入图像描述](https://istack.dev59.com/T6817.webp)
复制安装说明:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda-repo-ubuntu1804-11-7-local_11.7.0-515.43.04-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-11-7-local_11.7.0-515.43.04-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu1804-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
删除Sudo
并将最后一行改为包含你的cuda版本,例如!apt-get -y install cuda-11-7
(如果在 shell 直接运行则不需要感叹号):
!wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
!mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
!wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda-repo-ubuntu1804-11-7-local_11.7.0-515.43.04-1_amd64.deb
!dpkg -i cuda-repo-ubuntu1804-11-7-local_11.7.0-515.43.04-1_amd64.deb
!cp /var/cuda-repo-ubuntu1804-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/
!apt-get update
!apt-get -y install cuda-11-7
您的CUDA版本将会被更新:
!nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Jun__8_16:49:14_PDT_2022
Cuda compilation tools, release 11.7, V11.7.99
Build cuda_11.7.r11.7/compiler.31442593_0
接下来,在Google Colab中更新过时的Pytorch版本。
!pip install torch -U
构建顶点。根据您可能需要的全局选项,可能会减少
全局选项的数量。
!git clone https://github.com/NVIDIA/apex.git && cd apex && pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" --global-option="--fast_multihead_attn" . && cd .. && rm -rf apex
...
Successfully installed apex-0.1
您现在可以根据需要导入Apex:
from apex import optimizers, normalization
...