关于使用Mxnet GPU版本运行DeepAR报错解决方案

1.引言

我们经常使用GPU来训练和部署神经网络,因为与CPU相比,它提供了更多的计算能力。在本教程中,我们将介绍如何将GPU与MXNet GluonTS一起使用。

首先,确保您的机器中至少有一个Nvidia GPU,并正确安装了CUDA以及CUDNN。但是在引入import mxnet后出现下面的问题:

MXNet的OSError: libnccl.so.2: cannot open shared object file: No such file or directory

本文将会解决这一问题,亲测好用。

2.博主服务器配置

  • Ubuntu 18.04
  • cuda11.3
  • cudnn 8.2.1

3.安装

(1)首先安装mxnet gpu版本,根据自己的cuda版本,如果是10.0那么就是mxnet-cu100以此类推。

python 复制代码
pip install mxnet-cu113

(2)安装gluonts.

python 复制代码
pip install gluonts

4.解决问题

(1)去 NVIDIA 官网下载(Log in | NVIDIA Developer)跟你 CUDA 版本和操作系统(我的是Ubuntu18.04)适配的 NCCL 文件

(2) 配置下载的deb文件

python 复制代码
sudo dpkg -i nccl-local-repo-ubuntu1804-2.9.9-cuda11.3_1.0-1_amd64.deb
sudo apt update
sudo apt install libnccl2=2.9.9-1+cuda11.3 libnccl-dev=2.9.9-1+cuda11.3

(3)你可以检查你的mxnet当前版本,以及可用的GPU数目:

python 复制代码
import mxnet as mx
print(f'Number of GPUs: {mx.context.num_gpus()}')

然后就解决了,可以利用 GPU 跑 MXNet GluonTS 的深度学习模型做时间序列预测项目。

(3)指定第四块GPU卡参与训练(它应该自动检测GPU,但你可以强制它)

python 复制代码
trainer=Trainer(
        ctx=mxnet.context.gpu(3),
        epochs=train_conf.max_epochs,
        num_batches_per_epoch=train_conf.num_batches_per_epoch,
    )

从下面的图可以看出,指定了第四块卡训练,显存得到占用。

相关推荐
哥布林学者8 分钟前
吴恩达深度学习课程二: 改善深层神经网络 第三周:超参数调整,批量标准化和编程框架(二)batch归一化
深度学习·ai
IT_陈寒26 分钟前
JavaScript性能优化:10个V8引擎隐藏技巧让你的代码快30%
前端·人工智能·后端
Dev7z39 分钟前
基于图像处理技术的智能答题卡识别与评分系统设计与实现
图像处理·人工智能
掘金安东尼1 小时前
本地模型 + 云端模型的 Hybrid Inference 架构设计:下一代智能系统的底层范式
人工智能
强盛小灵通专卖员1 小时前
煤矿传送带异物检测:深度学习引领煤矿安全新革命!
人工智能·目标检测·sci·研究生·煤矿安全·延毕·传送带
学历真的很重要1 小时前
PyTorch 零基础入门:从张量到 GPU 加速完全指南
人工智能·pytorch·后端·深度学习·语言模型·职场和发展
mit6.8241 小时前
[Column] Perplexity 如何构建 AI 版 Google | 模型无关架构 | Vespa AI检索
人工智能
xier_ran1 小时前
深度学习:梯度检验(Gradient Checking)
人工智能·深度学习·梯度检验
B站_计算机毕业设计之家1 小时前
python手写数字识别计分系统+CNN模型+YOLOv5模型 深度学习 计算机毕业设计(建议收藏)✅
python·深度学习·yolo·计算机视觉·数据分析·cnn
尼古拉斯·纯情暖男·天真·阿玮1 小时前
基于卷积神经网络的手写数字识别
人工智能·神经网络·cnn