配置Fairseq的wav2vec采坑记录2

本文详细记录了在Intel Xeon Platinum 8163 CPU和双GeForce RTX 3090上配置Fairseq wav2vec遇到的挑战,包括CUDA 11.1、PyTorch 1.8.1 Nightly版本、Apex编译问题以及设备、算力和任务数据的配置错误。通过一系列的调试和解决方法,最终成功运行wav2vec。
部署运行你感兴趣的模型镜像

前面写过一片Fairseq Wav2ec的踩坑记录,但是没有踩完,没办法3个月之后继续踩,这次总算跑起来了。

#Note# 本文撰写之时PyTorch的1.8版本尚未发布,1.8版之后兼容性和编译问题减少不少,愿对诸君有用

1.基础环境

Intel® Xeon® Platinum 8163 CPU @ 2.50GHz × 96

GeForce RTX 3090 x 2 (这里必须说明以下:3090是导致编译和执行问题的主要背锅的)

Ubuntu 20.04

Ananconda3

Python3.9

PyTorch1.8.1 -Nightly版本 (据说只有这个版本可以适用3090)

Apex (编译通过但是没有安装)

Fairseq (本地编译安装)

CUDA cuda_11.1.0_455.23.05_linux.run (本地安装,没有使用Conda自带的,反正也没有nvcc,无法编译)

显卡驱动 460.39

2. 主要安装过程

跑Wav2ec的例子,大体需要注意以下步骤:

  • 1.更新显卡驱动到最新,(注意最新驱动和最新内核一起会导致 usbnet内核模组莫名奇妙的没了,所以只安装显卡驱动,不要更新内核)
  • 2.本地安装CUDA,conda的cuda_tooltiks不带nvcc ,20210303最新的是:cuda_11.1.0_455.23.05_linux.run
  • 3.创建Conda环境 ,python3.9 (其他版本估计也没问题)
  • 4.安装PyTorch-Nightly版本,见官网,不要同时安装TorchVision和TorchAudio等,这样会导致安装PyTorch的1.7.1版本(Release版)
  • 5.安装Apex
  • 6.安装Fairseq
git clone https://github.com/pytorch/fairseq
cd fairseq
export TORCH_CUDA_ARCH_LIST="8.6"
pip install --editable ./

强制指定3090的算力8.6,2080Ti是7.5

python -c "import torch;print(torch.__version__, torch.version.cuda)"

会显示pytorch版本(1.6.0)和对应cuda版本(10.1);

python -c "import fairseq;print(fairseq.__version__)"

会显示fairseq版本(0.9.0);

python -c "import fairseq;print(fairseq.utils.multi_tensor_l2norm_available)"

会显示apex是否成功安装(True)。

3. 主要的坑

3.1 GeForce RTX 3090 带来的问题

因为3090是新卡,PyTorch对其支持不好,实验了好多次最后才怀疑此问题。

三件套: 驱动最新 CUDA11.1 PyTorch-Nightly

不用按照官网命令加TorchVision和TorchAudio,你可以从官网上手动下载安装
算力查询NVIDIA

3.2 Apex 的编译天坑

Apex编译起来问题太多

首先需要修改setup.py 取消PyTorch和nvcc之间的版本校验,感谢其他人提供的思路

可以在103行的地方 if False and 直接跳过这个检查,反正你也没办法(PyTorch/CUDA/3090就是配不起来)

def check_cuda_torch_binary_vs_bare_metal(cuda_dir):
    raw_output, bare_metal_major, bare_metal_minor = get_cuda_bare_metal_version(cuda_dir)
    torch_binary_major = torch.version.cuda.split("."

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值