最新版本深度学习框架Mxnet和gluonts报错不配(MXNetError: vector::_M_range_insert)

文章最前: 我是Octopus,这个名字来源于我的中文名--章鱼;我热爱编程、热爱算法、热爱开源。所有源码在我的个人github ;这博客是记录我学习的点点滴滴,如果您对 Python、Java、AI、算法有兴趣,可以关注我的动态,一起学习,共同进步。

相关文章:

  1. LeetCode:55. Jump Game(跳远比赛)
  2. Leetcode:300. Longest Increasing Subsequence(最大增长序列)
  3.  LeetCode:560. Subarray Sum Equals K(找出数组中连续子串和等于k)

MXNet(Apache MXNet)是一个开源的深度学习框架,支持多种编程语言,如 Python、Scala、R、JavaScript、Julia、Perl 和 C++。MXNet 的设计目标是高效、灵活,并支持多设备(如 CPU、GPU)上进行大规模训练。它的一个显著特点是支持符号式编程(Symbolic Programming)和命令式编程(Imperative Programming),这为开发者提供了高度的灵活性。

1. MXNet 的核心组件

1.1 NDArray
  • NDArray 是 MXNet 中用于存储和操作多维数组的核心数据结构,相当于 NumPy 中的 ndarray
  • 支持 GPU 加速,可以在 GPU 上进行高效的并行计算。
  • 支持延迟执行,允许系统优化计算图,提升效率。
1.2 Symbol
  • Symbol 是 MXNet 中的符号式编程接口,适用于定义计算图。在训练过程中,整个计算图会被编译并执行。
  • 符号式编程有助于优化计算图、进行内存管理和并行计算,从而提高模型的训练速度。
1.3 Module API
  • Module API 是一个高级 API,封装了训练、预测和评估模型的过程。它提供了更高层次的接口,使得开发者可以更简单地定义、训练和部署深度学习模型。
1.4 Gluon
  • Gluon 是 MXNet 提供的命令式编程接口,类似于 PyTorch 的设计理念。它使得模型的定义和训练更加直观和灵活。
  • Gluon 支持动态计算图,允许开发者在模型训练过程中随时更改模型结构或调试代码。
  • Gluon 提供了大量的预训练模型和模块(如 nnrnn),方便快速搭建模型。

2. MXNet 的主要特性

2.1 高性能
  • 高效计算:MXNet 的底层优化了计算效率,支持 GPU 并行计算和多设备分布式训练,适合大规模数据的深度学习任务。
  • 内存优化:通过计算图的符号式编程,MXNet 可以在运行时对内存进行优化,减少内存占用。
2.2 灵活性
  • 混合编程:MXNet 支持符号式编程和命令式编程的混合使用。你可以先使用命令式编程进行调试,然后将其转化为符号式计算图以提高效率。
  • 多语言支持:MXNet 支持多种编程语言,可以无缝集成到各种开发环境中。
2.3 可扩展性
  • 分布式训练:MXNet 提供了强大的分布式训练能力,可以在多台机器上进行模型训练,以处理大规模数据集。
  • 自动微分:MXNet 支持自动微分,可以自动计算复杂模型的梯度,简化了优化算法的实现。

3. MXNet 的典型使用场景

  • 计算机视觉:MXNet 常用于图像分类、目标检测、图像生成等计算机视觉任务。其支持的多 GPU 训练使其在处理大规模图像数据集时具有显著优势。
  • 自然语言处理(NLP):MXNet 可以用于文本分类、序列到序列模型、机器翻译等 NLP 任务。GluonNLP 是一个基于 MXNet 的 NLP 工具包,提供了丰富的预训练模型和文本处理工具。
  • 强化学习:由于 MXNet 支持灵活的命令式编程和高效的并行计算,它也适合用于构建和训练强化学习模型。

4. MXNet 与其他深度学习框架的对比

  • 与 TensorFlow 的对比:TensorFlow 更侧重于生产环境中的部署和可视化支持(如 TensorBoard),而 MXNet 则在灵活性和易用性方面更有优势,特别是在 Gluon API 的支持下。
  • 与 PyTorch 的对比:PyTorch 和 MXNet 都支持命令式编程,但 PyTorch 社区更活跃,拥有更丰富的生态系统。然而,MXNet 在多设备分布式训练方面表现出色,并且对移动设备的支持更为完善。
  • 与 Keras 的对比:Keras 更加简单易用,适合新手和快速原型设计,而 MXNet 提供了更底层的控制和优化功能,适合需要高度自定义的深度学习任务。

首先要保证安装了python,并配置好了环境变量;

我是利用windows10安装(linux环境下操作更简单)


windows安装pip

1) 下载安装脚本

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py           

  2)    运行安装脚本

python get-pip.py        

这个就安装好最新的pip;

注意: mxnet最新版本为1.5.1与 gluonts最新版本0.4.2不配,所有我选择使用mxnet的1.4.1


安装Mxnet和gluonts

1)安装mxnet

pip install mxnet==1.5.1

2) 安装gluonts

pip install gluonts==0.4.2

如果已经安装了最新版的框架,需要返回到旧版的,需求先卸载新版本的框架,再重启电脑,安装就版本的框架;

提示错误:

MXNetError: vector::_M_range_insert

最新的Mxnet和最新的Gluonts不配:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值