关于使用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,
    )

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

相关推荐
金智维科技官方1 天前
制造业如何用Ki-AgentS智能体平台实现设备巡检自动化?
大数据·运维·人工智能
stereohomology1 天前
大模型看大模型:推理Token的能耗用电量比对
人工智能
Hello world.Joey1 天前
Transformer解读
人工智能·深度学习·神经网络·自然语言处理·nlp·aigc·transformer
机器之心1 天前
Sand.ai开源发布MagiCompiler:突破局部编译界限,定义训推性能上限
人工智能·openai
KieranYin1 天前
AI编程 | 概念
人工智能
飞Link1 天前
LangChain Core 架构深度剖析与 LCEL 高阶实战
人工智能·架构·langchain
liangdabiao1 天前
Seedance 2.0 Skill 一键写好剧本上线了coze的技能商店了,免费
人工智能
喵飞云智AI研发社1 天前
本土AI企业发力 喵飞科技AIGC开年分享会助力天津数字化转型
人工智能·科技·aigc
于过1 天前
AgentMiddleware is All You Need
人工智能·langchain·llm
LLM精进之路1 天前
频域+特征融合:深度学习的黄金组合,顶会顶刊的快速通道
人工智能·计算机视觉·目标跟踪