- Python Deep Learning Cookbook
- Indra den Bakker
- 228字
- 2021-07-02 15:43:13
How to do it...
- At the moment, gluon is included in the latest release of MXNet (follow the steps in Building efficient models with MXNet to install MXNet).
- After installing, we can directly import gluon as follows:
from mxnet import gluon
- Next, we create some dummy data. For this we need the data to be in MXNet's NDArray or Symbol:
import mxnet as mx
import numpy as np
x_input = mx.nd.empty((1, 5), mx.gpu())
x_input[:] = np.array([[1,2,3,4,5]], np.float32)
y_input = mx.nd.empty((1, 5), mx.gpu())
y_input[:] = np.array([[10, 15, 20, 22.5, 25]], np.float32)
- With Gluon, it's really straightforward to build a neural network by stacking layers:
net = gluon.nn.Sequential()
with net.name_scope():
net.add(gluon.nn.Dense(16, activation="relu"))
net.add(gluon.nn.Dense(len(y_input)))
- Next, we initialize the parameters and we store these on our GPU as follows:
net.collect_params().initialize(mx.init.Normal(), ctx=mx.gpu())
- With the following code we set the loss function and the optimizer:
softmax_cross_entropy = gluon.loss.SoftmaxCrossEntropyLoss()
trainer = gluon.Trainer(net.collect_params(), 'adam', {'learning_rate': .1})
- We're ready to start training or model:
n_epochs = 10
for e in range(n_epochs):
for i in range(len(x_input)):
input = x_input[i]
target = y_input[i]
with mx.autograd.record():
output = net(input)
loss = softmax_cross_entropy(output, target)
loss.backward()
trainer.step(input.shape[0])
We've shortly demonstrated how to implement a neural network architecture with Gluon. Gluon is a powerful extension that can be used to implement deep learning architectures with clean code. At the same time, there is almost no performance loss when using Gluon.
推薦閱讀
- Building a Home Security System with Raspberry Pi
- 編程卓越之道(卷3):軟件工程化
- 劍指Offer(專項突破版):數據結構與算法名企面試題精講
- Visual C++串口通信技術詳解(第2版)
- SAP BusinessObjects Dashboards 4.1 Cookbook
- Unreal Engine 4 Shaders and Effects Cookbook
- 網站構建技術
- Cybersecurity Attacks:Red Team Strategies
- Solr Cookbook(Third Edition)
- App Inventor少兒趣味編程動手做
- Android Studio開發實戰:從零基礎到App上線 (移動開發叢書)
- Hands-On Robotics Programming with C++
- Mastering Object:Oriented Python(Second Edition)
- 企業級Java現代化:寫給開發者的云原生簡明指南
- Django 3 Web Development Cookbook