开源框架MXNet | 环境变量配置(显存)

一般情况下,不需要修改有关环境变量的配置。但是一些特殊情况,需要修改的,就涉及到以下这些内容了: 在linux上最简单的修改方式就是export MXNET_GPU_WORKER_NTHREADS=3

一 设置进程数量

  • MXNET_GPU_WORKER_NTHREADS 这个参数用来在一块卡上并行计算,在每一块GPU上最大的进程数,默认值为2
  • MXNET_GPU_COPY_NTHREADS 在每个GPU上执行内存复制作业的并发线程的最大数量,默认值1
  • MXNET_CPU_WORKER_NTHREADS
  • MXNET_CPU_PRIORITY_NTHREADS
  • MXNET_CPU_NNPACK_NTHREADS

二 显存选项

  • MXNET_EXEC_ENABLE_INPLACE 默认值:true
  • NNVM_EXEC_MATCH_RANGE 默认值:16
  • MXNET_EXEC_NUM_TEMP 默认值:1 将此设置为一个小数目可以节省GPU内存。它也可能会降低并行度,这通常是可以接受的。
  • MXNET_GPU_MEM_POOL_RESERVE 默认值:5 If you see a strange out-of-memory error from the kernel launch, after multiple iterations, try setting this to a larger value.

三 Memonger

  • MXNET_BACKWARD_DO_MIRROR 默认值:0,可选0或1 MXNet 使用镜像概念来节省内存。用于训练阶段来节省设备内存,当设置为1 的时候,在前向传播的时候会复制某些层的fp,反向传播的时候会重新计算这些数据。 MXNET_BACKWARD_DO_MIRROR=1 将会节省30%~50%的显存, 保存95%的运行速度。

四 控制数据通信

  • MXNET_KVSTORE_REDUCTION_NTHREADS 默认值:4 用于总结大数组的CPU线程数。
  • MXNET_KVSTORE_BIGARRAY_BOUND
  • MXNET_ENABLE_GPU_P2P

更多配置信息:

http://mxnet.incubator.apache.org/how_to/env_var.html

五 Mxnet恢复训练

Mxnet可以通过断点恢复训练,命令如下:

python train_end2end.py --network resnet --gpu 0 --resume --begin_epoch 10 --end_epoch 15 --lr_step 15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Petrichor的专栏

opencv: 视频中提取帧图片并保存(cv2.VideoCapture)

其中,如何设置合理的 帧提取频率 ,可参考我的另一篇blog:《常见帧率 与 帧率运用》

3112
来自专栏BioIT-TECH

癌症中克隆种群结构统计推断分析软件PyClone安装小记

PyClone 是一种用于推断癌症中克隆种群结构的统计模型。 它是一种贝叶斯聚类方法,用于将深度测序的体细胞突变集分组到假定的克隆簇中,同时估计其细胞流行率(p...

4142
来自专栏社区的朋友们

TAF 必修课(七):负载均衡

前面在过载保护章节中已提及了负载均衡,顾名思义,本节要探究的对象为负载/请求。负载均衡除了起到过载预防的作用,本质上是提高了系统的吞吐量,最小化响应时间,到达资...

4150
来自专栏编程直播室

Hexo中使用MathJax公式我的Hexo环境安装插件配置文章中需要打开公式公式效果存在问题参考资料

1914
来自专栏cs

python下载万方数据库文献

2363
来自专栏AILearning

使用GPU

支持的设备 在典型的系统中,有多个计算设备。在TensorFlow中,支持的设备类型是CPU和GPU。它们被表示为strings。例如: "/cpu:0":...

1895
来自专栏FreeBuf

Office”组合”式漏洞攻击样本分析

by hcl, nine8 of code audit labs of vulnhunt.com 1 概述 网上公开一个疑似CVE-2014-1761的RTF样...

2299
来自专栏挖坑填坑

.net core 项目中几款常用类库收藏

例子源码:https://github.com/yiershan/DonetSpider

1193
来自专栏吉浦迅科技

DAY46:阅读Surface Reference API

reads the CUDA array bound to the one-dimensional surface reference surfRef usin...

985
来自专栏Linux驱动

18.Llinux-触摸屏驱动(详解)

本节的触摸屏驱动也是使用之前的输入子系统 1.先来回忆之前第12节分析的输入子系统 其中输入子系统层次如下图所示, ? 其中事件处理层的函数都是通过input_...

3079

扫码关注云+社区