MxNet系列——how_to——faq

2023-05-16

博客新址: http://blog.xuezhisd.top
邮箱:xuezhisd@126.com


常见问题

本节回答了 mxnet/issues上的常见问题。在提问前,请先检查该页面。如果你想要贡献本页面,请尽量使问题和答案简单。如果你的回答非常详细,请发布在其它地方并提供链接。

构建和安装

关于构建和安装的问题,绝大多数问题的答案都可以在 build page 上找到。

速度

在GPU上启动花费很长时间

尝试禁止OpenCV使用GPU: build opencv from source with GPU module disabled.

It’s slow on a single GPU

检查下面几条:

  1. 确保 CUDA/驱动 版本不是太老。
  2. 构建时使用 USE_CUDNN=1。这一般能提速 50+%。尝试使用最近版。
  3. 在运行前执行 export MXNET_CUDNN_AUTOTUNE_DEFAULT=1。这一般能提速 10%-15%。
  4. 如果你使用的是 Tesla GPUs,那么执行命令 nvidia-smi -e 0,来禁用ECC。这需要root权限和重启。You might need root permission and have to reboot.
  5. 对于 Tesla 显卡,执行命令 nvidia-smi -ac ??,设置最大时钟。详细细节,参考 this blog。
  6. No throttle reason 一般是由于温度引起的。 nvidia-smi -q -d PERFORMANCE

使用多个GPU或机器,但速度没有提升

检查下面几条:

  1. 你的神经网络是否已经很快了?比如,>1000样本/秒,或>10 批/秒?如果是的话,由于通信开销,不能通过添加更多资源来提速。
  2. 批的尺度是不是很小?尝试增大批尺度。
  3. GPUs数量是否超过4个? 使用 --kv-store=device

内存使用

CPU内存使用异常

这可能是因为数据预取。查看 issue 2111。

等待审核

下面的话题需要被审核。

如何将部分参数复制到另一个模型

大部分MXNet包含2部分,参数数组和符号。你可以简单地将参数数组复制到另一个模型的参数数组。例如,在Python模型API中,你可以如下操作:

copied_model =  mx.model.FeedForward(ctx=mx.gpu(), symbol=new_symbol,
                                     arg_params=old_arg_params, aux_params=old_aux_params,
                                     allow_extra_params=True);

关于从已存的old_arg_params复制模型参数的更多信息,请查看 notebook。

如何提取某一层的特征图

请查看 notebook.

MXNet 和 CXXNet, Minerva, 与 Purine2是什么关系?

  • MXNet 是由来自以上3个项目的作者们相互协作创建的。
  • MXNet 反映了我们已从这些项目中学习到的东西。
  • MXNet 组合了这些项目的重要方面:效率高,灵活和内存利用率高。
  • MXNet 也包含了新的方法:允许你组合使用不同的编程方式,写出比 CXXNet 和 Purine内存利用率高的CPU/GPU应用,比Minerva更加灵活。

MXNet 和 TensorFlow的是什么关系?

  • MXNet 和 TensorFlow都使用计算图抽象化,它最早在Theano中使用,后来被其它库所采用,比如,CGT, Caffe2, 和 Purine。当前,TensorFlow 使用一个优化的符号API。MXNet 支持一种混合方法,该方法使用动态依赖调度器来组合符号编程和命令编程。

  • 简而言之,MXNet是轻量级的,混合的。既有命令式编程的灵活性,又因计算图(符号编程)而变得速度快和内存高效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MxNet系列——how_to——faq 的相关文章

随机推荐

  • hexo教程系列——hexo安装教程

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 本文详细描述了如何在Github上 xff0c 使用hexo部署博客 安装Hexo 安装node js node js官方下载
  • Python中类成员函数均为虚函数的理解

    python中类成员函数均为虚函数 我们可以通过下面的函数见识其威力 class A def foo self print 39 a 39 class B A def foo self print 39 b 39 for x in A B
  • MxNet系列——Windows上安装MxNet

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 开发环境 操作系统 xff1a Win7 64bit C 43 43 编译器 xff1a Visual Studio 2010
  • Eigen教程1 - 基础

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 固定大小的矩阵和向量 参考链接 xff1a http eigen tuxfamily org dox 2 0 Tutorial
  • Eigen教程2 - 入门

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 安装Eigen 无需安装 只需将Eigen位置添加到include路径中 Demo 1 MatrixXd xff0c X表示动
  • Eigen教程3 - 稀疏矩阵操作

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 稀疏矩阵操作 操作和求解稀疏问题需要的模块 xff1a SparseCore SparseMatrix 和 SparseVec
  • Eigen教程4 - 稀疏矩阵快速参考指南

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 本文对稀疏矩阵SparseMatrix的主要操作进行了总结 首先 xff0c 建议先阅读 Eigen教程2 稀疏矩阵操作 关于
  • Eigen教程5 - 求解稀疏线性方程组

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com Eigen中有一些求解稀疏系数矩阵的线性方程组 由于稀疏矩阵的特殊的表示方式 xff0c 因此获得较好的性能需要格外注意 查看
  • Eigen教程6 - Matrix-free solvers

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com Matrix free solvers 像ConjugateGradient 和 BiCGSTAB这样的迭代求解器可以用在 m
  • Eigen教程7 - Eigen和Matlab的比较

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com Eigen和Matlab比较 参考 http eigen tuxfamily org dox AsciiQuickRefere
  • MxNet系列——how_to——perf

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 性能 下面是一些技巧 xff0c 以尽可能的获取MXNet的最佳性能 数据 对于输入数据 xff0c 需要注意以下内容 xff
  • MxNet系列——how_to——visualize_graph

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 如何将神经网络可视化为计算图 该章节描述了如何在MXNet中使用在mx viz plot network来可视化 xff08
  • 修改antlr错误信息输出格式的方法

    找到 antlr DefaultFileLineFormatter java 修改类DefaultFileLineFormatter的函数getFormatString 我将其修改如下 以适应vc的错误信息输出格式 package antl
  • MxNet系列——how_to——torch

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 如何将MXNet用作Torch的前后端 本章节描述了如何将MXNet用作Torch的两个主要功能 xff08 前端和后端 xf
  • MxNet系列——how_to——smart_device

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 将深度学习库压缩成一个文件 xff0c 以便移植到智能设备中 深度学习系统是复杂的 xff0c 并且常常有些依赖环境 将深度学
  • MxNet系列——how_to——new_op

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 如何创建新的操作符 网络层 本节内容描述了创建新的MXNet操作符 xff08 或网络 xff09 的过程 我们已经尽了最大努
  • MxNet系列——how_to——multi_devices

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 在多个CPU GPUs上以数据并行方式运行MXNet MXNet 支持在多个CPUs和GPUs上进行训练 其中 xff0c 这
  • MxNet系列——how_to——model_parallel_lstm

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 使用模型并行的方式在多个GPUs上训练LSTM 由于复杂的数据依赖 xff0c LSTM评价很困难 LSTM的训练过程 xff
  • MxNet系列——how_to——index

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com MXNet 怎么办系列 How tos 提供了一系列的有关安装 xff0c 基本概念 xff0c 说明 xff0c 命令和使用
  • MxNet系列——how_to——faq

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 常见问题 本节回答了 mxnet issues上的常见问题 在提问前 xff0c 请先检查该页面 如果你想要贡献本页面 xff