MxNet系列——how_to——env_var
2017-02-08 15:48
288 查看
环境变量
环境可以修改MXNet的一些设置。一般情况下,你不需要修改这些设置。本节将它们罗列出来,用于参考。设置线程数目
MXNET_GPU_WORKER_NTHREADS (默认值=2)每个GPU上,进行计算的最大线程数
MXNET_GPU_COPY_NTHREADS (默认值=1)
每个GPU上,内存复制的最大线程数
MXNET_CPU_WORKER_NTHREADS (默认值=1)
CPU上的计算任务的最大线程数
MXNET_CPU_PRIORITY_NTHREADS (默认值=4)
优先的CPU任务的线程数
内存选项
MXNET_EXEC_ENABLE_INPLACE (默认值=true)在符号计算中,是否使用原地(计算)优化。
MXNET_EXEC_MATCH_RANGE (默认值=10)
符号计算内存分配器中的粗略匹配规模
如果不想使用(图的)节点间共享内存(用于调试时),可以将该环境变量设置为0。
MXNET_EXEC_NUM_TEMP (默认值=1)
每个设备上分配的临时工作空间的最大数目
将它设置成比较小的数字,可以节省GPU内存。它也可能会降低并行度,但这通常是可接受的。
MXNET_GPU_MEM_POOL_RESERVE (默认值=5)
分配给非GPU数组的GPU内存的比例,比如内核启动器或cudnn句柄空间。
如果在迭代多次之后,看到一个来自内核启动器的内存溢出错误,尝试增大该环境变量的值。
Engine Type
MXNET_ENGINE_TYPE (默认值=ThreadedEnginePerDevice)MXNet的实质执行引擎的类型。
可选值:
NaiveEngine: 非常简单的引擎,使用主线程来计算。
ThreadedEngine: 使用全局线程池来调度作业。
ThreadedEnginePerDevice: 每个GPU上分配线程。
控制数据通信
MXNET_KVSTORE_REDUCTION_NTHREADS (默认值=4)用于大数组求和的CPU线程数
MXNET_KVSTORE_BIGARRAY_BOUND (默认值=1e6)
大数组的最小尺寸
当数组的容量大于该阈值时,将使用线程
MXNET_KVSTORE_REDUCTION_NTHREADS进行规约。
MXNET_ENABLE_GPU_P2P (默认值=1)
如果为True,MXNet尝试使用GPU的 peer-to-peer 通信(前提是P2P可用),当 kvstore 的类型是
device时。
Memonger
MXNET_BACKWARD_DO_MIRROR (默认值=0)在训练过程中,是否执行
mirror以节省设备存储。
当设置成1时,在前向传播过程中,图计算器将会对一些层的特征图进行
mirror操作,并抛弃它们;但当需要时,会重新计算这些抛弃的特征图。
MXNET_BACKWARD_DO_MIRROR=1时,将会节省 30%~50% 的设备内存,同时保持 95% 的运行速度。
在MXNet中,
mirror的一个拓展叫做 memonger technology,它可以在保持75%运行速度的同时节省 O(sqrt(N)) 内存。
其它环境变量
MXNET_CUDNN_AUTOTUNE_DEFAULT (默认值=0)用于卷积层的cudnn_tune的默认值。
Auto tuning 默认是关闭的。For benchmarking, set this to 1 to turn it on by default.
设置最小内存使用
务必确保min(MXNET_EXEC_NUM_TEMP, MXNET_GPU_WORKER_NTHREADS) = 1
默认设置满足这个条件。
设置更多的GPU并行
将MXNET_GPU_WORKER_NTHREADS设置成一个较大的数(比如 2)
为了减少内存的使用,考虑设置
MXNET_EXEC_NUM_TEMP
这可能不会加速,尤其是图像任务。因为GPU通常会被充分利用(甚至在序列化作业中)。
相关文章推荐
- CUDA搭建
- 稀疏自动编码器 (Sparse Autoencoder)
- 白化(Whitening):PCA vs. ZCA
- softmax回归
- 卷积神经网络初探
- Prisma修图软件的图片风格转换算法
- TensorFlow人工智能引擎入门教程之九 RNN/LSTM循环神经网络长短期记忆网络使用
- TensorFlow人工智能引擎入门教程之十 最强网络 RSNN深度残差网络 平均准确率96-99%
- TensorFlow人工智能入门教程之十一 最强网络DLSTM 双向长短期记忆网络(阿里小AI实现)
- TensorFlow人工智能入门教程之十四 自动编码机AutoEncoder 网络
- TensorFlow人工智能引擎入门教程所有目录
- Mxnet Scala Package 学习笔记 一
- Mxnet 实现图片快速风格化
- 如何用70行代码实现深度神经网络算法
- 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等)
- 轻量级深度学习框架 Keras简介
- 卷积神经网络CNN基本概念笔记[转载]
- 画出卷积神经网络结构图[转载]