deep-learning - 在 MXNet 中使用高级 API 时如何将附加数据输入网络
问题描述
我正在研究 MXNet 框架,我需要在每次迭代期间将一个矩阵输入到网络中。矩阵存储在外部存储器中,它不是训练数据,它在每次迭代结束时由网络的输出更新。在迭代过程中,必须将矩阵输入到网络中。
如果我使用高级 API,即
model = mx.mod.Module(context=ctx, symbol=sym)
... ...
model.fit(train_data_iter, begin_epoch=begin_epoch,
end_epoch=end_epoch, ......)
这可以实施吗?
解决方案
model.fit()
不提供您正在寻找的功能。但是,您想要实现的目标在 Apache MXNet 的 Gluon API 中非常容易实现。使用 Gluon API,您可以为训练循环编写 7 行代码,而不是使用单个model.fit()
. 这是一个典型的训练循环代码:
for epoch in range(10):
for data, label in train_data:
# forward + backward
with autograd.record():
output = net(data)
loss = softmax_cross_entropy(output, label)
loss.backward()
trainer.step(batch_size) # update parameters
因此,如果您想将网络的输出反馈回输入,您可以轻松实现。要开始使用 Gluon,我推荐60 分钟的 Gluon 速成课程。要成为 Gluon 专家,我推荐深度学习 - The Straight Dope书籍以及 MXNet 主网站上的一套综合教程:http: //mxnet.apache.org/tutorials/index.html
推荐阅读
- reactjs - 自定义样式的 MUI IconButton 不适用于 tooltop
- webpack - 无法让 webpack 开发服务器从 web 容器连接到 ddev 主机
- python - 使用 lstm 训练与石油和天然气行业相关的数据集,以找到每个油井一个月内应该进行的最佳测试次数
- python - 如何检测图像分类的过度拟合?
- android - 以编程方式将具有权重的视图添加到 Kotlin 中的 LinearLayout
- ios - 如何让 iOS 15 中的搜索栏默认出现?
- iframe - iframe 可以在主机页面上设置会话存储吗
- mysql - 使用 Python 2.7 将数据连接并插入到 mysql 数据库 5.5
- android - 如何在 Flutter 中使用 SQFLITE 从数据库加载应用程序开始的数据?
- logstash - 按源 IP 过滤 Filebeat 输入