日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DL框架之MXNet :神经网络算法简介之MXNet 常见使用方法总结(神经网络DNN、CNN、RNN算法)之详细攻略(个人使用)

發布時間:2025/3/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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算法)之详细攻略(个人使用)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。