DL框架之MXNet :神经网络算法简介之MXNet 常见使用方法总结(神经网络DNN、CNN、RNN算法)之详细攻略(个人使用)
DL框架之MXNet :神经网络算法简介之MXNet 常见使用方法总结(神经网络DNN、CNN、RNN算法)之详细攻略(个人使用)
相关文章
DL框架之MXNet :深度学习框架之MXNet 的简介、安装、使用方法、应用案例之详细攻略
目录
MXNet 常见使用方法
1、关于GPU、CPU运算
MXNet 常见进阶使用方法
MXNet 常见高阶使用方法
MXNet 常见使用方法
1、关于GPU、CPU运算
1、目前MxNet支持相同平台下的变量运算,如果一个变量在GPU一个变量在CPU,则需要通过copyto之类的方式来统一。
MxNet中,可以通过gpu_device=mx.gpu()
来创建GPU的context。下边的方式是切换到GPU上执行运算。
gpu_device=mx.gpu() # Change this to mx.cpu() in absence of GPUs.def f():a = mx.nd.ones((100,100))b = mx.nd.ones((100,100))c = a + bprint(c)
# in default mx.cpu() is used
f()
# change the default context to the first GPU
with mx.Context(gpu_device):f()
2、参数同步:当我们使用多个GPU来训练模型时,gluon.Trainer
会自动做数据并行,例如划分小批量数据样本并复制到各个GPU上,对各个GPU上的梯度求和再广播到所有GPU上。这样,我们就可以很方便地实现训练函数了。
loss = gloss.SoftmaxCrossEntropyLoss()def train(num_gpus, batch_size, lr):train_iter, test_iter = gb.load_data_fashion_mnist(batch_size)ctx = [mx.gpu(i) for i in range(num_gpus)]print('running on:', ctx)net.initialize(init=init.Normal(sigma=0.01), ctx=ctx, force_reinit=True) # 网络初始化于各个设备trainer = gluon.Trainer(net.collect_params(), 'sgd', {'learning_rate': lr}) # 优化器会自动识别net对象的设备列表for epoch in range(1, 6):start = time()for X, y in train_iter:gpu_Xs = gutils.split_and_load(X, ctx) # 数据划分到各个设备gpu_ys = gutils.split_and_load(y, ctx)with autograd.record():ls = [loss(net(gpu_X), gpu_y) for gpu_X, gpu_y in zip(gpu_Xs, gpu_ys)] # 记录各个设备的损失函数for l in ls:l.backward() # 各个设备分别反向传播trainer.step(batch_size) # 优化时自动同步各个设备参数nd.waitall()print('epoch %d, training time: %.1f sec'%(epoch, time() - start))test_acc = gb.evaluate_accuracy(test_iter, net, ctx[0])print('validation accuracy: %.4f'%(test_acc))train(num_gpus=2, batch_size=512, lr=0.3)
参考文章
『MXNet』第七弹_多GPU并行程序设计
MXNet 常见进阶使用方法
后期继续更新……
1、CNN算法
executor = sym.simple_bind(ctx = mx.cpu(), **input_shapes) executor.forward() #前向运行
excutor.backward() #后向运行
executor.outputs[0].asnumpy()
sym.simple_bind方法
MXNet 常见高阶使用方法
后期继续更新……
DL框架之MXNet :神经网络算法简介之MXNet 常见使用方法总结(神经网络DNN、CNN、RNN算法)之详细攻略(个人使用)相关推荐
- Py之cv2:cv2(OpenCV,opencv-python)库的简介、安装、使用方法(常见函数、图像基本运算等)最强详细攻略
Py之cv2:cv2(OpenCV,opencv-python)库的简介.安装.使用方法(常见函数.图像基本运算等)最强详细攻略 目录 cv2(OpenCV,opencv-python)库的简介 1. ...
- DL:神经网络算法简介之耗算力的简介、原因、经典模型耗算力计算、GPU使用之详细攻略
DL:神经网络算法简介之耗算力的简介.原因.经典模型耗算力计算.GPU使用之详细攻略 目录 神经网络算法耗算力的简介 神经网络算法耗算力的原因 神经网络算法耗算力的经典模型耗算力计算 1.AlexNe ...
- DL之CNN:卷积神经网络算法应用之卷积神经网络实践技巧(DA/DP/WI/BN/H/O/R)、优化技术经验之详细攻略
DL之CNN:卷积神经网络算法应用之卷积神经网络实践技巧(DA/DP/WI/BN/Hyperparameter/Overfitting/Regularization).优化技术经验之详细攻略 目录 卷 ...
- ML之DL:机器学习领域发展最快的分支【深度学习】的发展史及其重要性节点之详细攻略
ML之DL:机器学习领域发展最快的分支[深度学习]的发展史及其重要性节点之详细攻略 目录 [深度学习]的发展历史及其重要性节点
- ML之ME/LF:机器学习中回归预测模型评估指标(MSE/RMSE/MAE)简介、使用方法、代码实现、案例应用之详细攻略
ML之ME/LF:机器学习中回归预测模型评估指标(MSE/RMSE/MAE)简介.使用方法.代码实现.案例应用之详细攻略 目录 回归预测问题中评价指标简介 RMSE 标准差SD MSE函数
- DL之Encoder-Decoder:Encoder-Decoder结构的相关论文、设计思路、关键步骤等配图集合之详细攻略
DL之Encoder-Decoder:Encoder-Decoder模型的相关论文.设计思路.关键步骤等配图集合之详细攻略 目录 Encoder-Decoder模型的相关论文 Encoder-Deco ...
- ML:分类预测问题中评价指标(ER/混淆矩阵P-R-F1/ROC-AUC/RP/mAP)简介、使用方法、代码实现、案例应用之详细攻略
ML:分类预测问题中评价指标(ER/混淆矩阵P-R-F1/ROC-AUC/RP/mAP)简介.使用方法.代码实现.案例应用之详细攻略 目录 分类预测的简介 分类预测问题中评价指标(ER/ROC-AUC ...
- Matlab:Matlab编程语言应用之三维绘图可视化(基础知识点基本函)的使用方法简介、案例实现(三维曲线图机械阻尼振动三维等高线图等案例)之详细攻略
Matlab:Matlab编程语言应用之三维绘图可视化(基础知识点&基本函)的使用方法简介.案例实现(三维曲线图&机械阻尼振动&三维等高线图等案例)之详细攻略 目录 三维绘图基 ...
- NLP之PTM:自然语言处理领域—预训练大模型时代的各种吊炸天大模型算法概述(Word2Vec→ELMO→Attention→Transfo→GPT系列/BERT系列等)、关系梳理、模型对比之详细攻略
NLP之PTM:自然语言处理领域-预训练大模型时代的各种吊炸天大模型算法概述(Word2Vec→ELMO→Attention→Transformer→GPT系列/BERT系列等).关系梳理.模型对比之 ...
- EL:集成学习(Ensemble Learning)的概念讲解、问题应用、算法分类、关键步骤、代码实现等相关配图详细攻略
EL:集成学习(Ensemble Learning)的概念讲解.算法分类.问题应用.关键步骤.代码实现等相关配图详细攻略 目录 集成学习Ensemble Learning 1.集成学习中弱分类器选择 ...
最新文章
- 关于w600的hspi通信demo
- Copy Clone
- 记dropbox与git不和谐的一个问题
- kubernetes之四:存储
- 【SKILLS】About the phonetics
- 测速源码_物联网之智能平衡车开发实战项目(附源码)
- Rman创建DG环境
- java web插件下载_javaweb开发1.环境配置(javaweb插件下载及tomact在eclips中配置)
- C++:数组的输入、排序与去重操作
- 【算法笔记】图文结合彻底搞懂后缀数组
- 在VS2010中文版中配置OpenGL及问题解决
- 2021安徽安全员C证考试多选练习题库
- 简述研究生阶段如何提高自己的学习能力
- matlab小苹果,我要用计算器弹曲子,求亲们发点计算器简谱
- 【Scrum模式语言5】Scrum of Scrums
- RMON 远端网络监控
- 面试,这些问题一定要问清楚!
- 三子棋小游戏(经过轻微改编可变为五子棋)
- 与病毒名称相似,“捏脸”游戏 ZEPETO 涉嫌窃听?...
- 解决小程序获取openid报错errcode:48001或者其他错误代码方案
热门文章
- 关于IO模式(浮空、推挽、开漏...)描述及应用
- WebFlux基础之响应式编程
- spring boot: Bean的初始化和销毁 (一般注入说明(三) AnnotationConfigApplicationContext容器 JSR250注解)...
- NoSQL(二):创建、管理集群
- 共享卫士2.08.03下载
- 使用ArcGIS JS API加载WMTS图层的两种方式
- photoshop给绘制的形状使用渐变工具
- 区块链,一个糟糕的数据库
- 什么是单点登录(SSO)
- MyBatis代码生成器-Example讲解