- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
预先感谢您的帮助。
我在让 mxnet 模型收敛到任何东西时遇到一些问题:它似乎接近其初始权重。
一个工作示例(尽管我今天一直在努力让许多这样的模型工作)。我已经尝试了下面的方法,使用了一系列纪元(最多 100)和一系列学习率(0.001 到 10),但无法从中得到任何明智的结果。
import mxnet as mx
import numpy as np
inputs = np.expand_dims(np.random.uniform(size=10000), axis=1)
labels = np.sin(inputs)
data_iter = mx.io.NDArrayIter(data=inputs, label=labels, data_name='data', label_name='label', batch_size=50)
data = mx.sym.Variable('data')
label = mx.sym.Variable('label')
fc1 = mx.sym.FullyConnected(data=data, num_hidden=128)
ac1 = mx.sym.Activation(data=fc1, act_type='relu')
fc2 = mx.sym.FullyConnected(data=ac1, num_hidden=64)
ac2 = mx.sym.Activation(data=fc2, act_type='relu')
fc3 = mx.sym.FullyConnected(data=ac2, num_hidden=16)
ac3 = mx.sym.Activation(data=fc3, act_type='relu')
output = mx.sym.FullyConnected(data=ac3, num_hidden=1)
loss = mx.symbol.MakeLoss(mx.symbol.square(output - label), name="loss")
model = mx.module.Module(symbol=loss, data_names=('data',), label_names=('label',))
import logging
logging.getLogger().setLevel(logging.DEBUG)
model.fit(data_iter,
optimizer='sgd',
optimizer_params={'learning_rate':0.1},
eval_metric='mse',
num_epoch=5)
产生:
INFO:root:Epoch[0] Train-mse=0.221155
INFO:root:Epoch[0] Time cost=0.173
INFO:root:Epoch[1] Train-mse=0.225179
INFO:root:Epoch[1] Time cost=0.176
INFO:root:Epoch[2] Train-mse=0.225179
INFO:root:Epoch[2] Time cost=0.179
INFO:root:Epoch[3] Train-mse=0.225179
INFO:root:Epoch[3] Time cost=0.176
INFO:root:Epoch[4] Train-mse=0.225179
INFO:root:Epoch[4] Time cost=0.183
很明显,训练并没有真正取得进展。
最佳答案
我拿了你的代码并对其进行了一些更新,并且能够使其收敛,代码粘贴在下面。
我所做的更新:我更新了层,只有两个完全连接的层,每个层有 128 个单元,更新了损失函数以使用内置的线性回归,添加了动量并更新了学习率,最后 - 运行更多纪元
希望这有帮助!
import mxnet as mx
import numpy as np
inputs = np.expand_dims(np.random.uniform(size=10000), axis=1)
labels = np.sin(inputs)
data_iter = mx.io.NDArrayIter(data=inputs, label=labels, data_name='data', label_name='label', batch_size=50)
data = mx.sym.Variable('data')
label = mx.sym.Variable('label')
fc1 = mx.sym.FullyConnected(data=data, num_hidden=128)
ac1 = mx.sym.Activation(data=fc1, act_type='relu')
fc2 = mx.sym.FullyConnected(data=ac1, num_hidden=128)
ac2 = mx.sym.Activation(data=fc2, act_type='relu')
output = mx.sym.FullyConnected(data=ac2, num_hidden=1)
#loss = mx.symbol.MakeLoss(mx.symbol.square(output - label), name="loss")
loss = mx.sym.LinearRegressionOutput(data=output, label=label, name="loss")
model = mx.module.Module(symbol=loss, data_names=('data',), label_names=('label',))
import logging
logging.getLogger().setLevel(logging.DEBUG)
model.fit(data_iter,
optimizer='sgd',
optimizer_params={'learning_rate':0.005, 'momentum': 0.9},
eval_metric='mse',
num_epoch=50)
结果:
INFO:root:Epoch[0] Train-mse=0.076923
INFO:root:Epoch[0] Time cost=0.148
INFO:root:Epoch[1] Train-mse=0.061155
INFO:root:Epoch[1] Time cost=0.178
INFO:root:Epoch[2] Train-mse=0.061154
INFO:root:Epoch[2] Time cost=0.168
INFO:root:Epoch[3] Train-mse=0.061153
INFO:root:Epoch[3] Time cost=0.151
INFO:root:Epoch[4] Train-mse=0.061151
INFO:root:Epoch[4] Time cost=0.182
INFO:root:Epoch[5] Train-mse=0.061150
INFO:root:Epoch[5] Time cost=0.186
INFO:root:Epoch[6] Train-mse=0.061149
INFO:root:Epoch[6] Time cost=0.197
INFO:root:Epoch[7] Train-mse=0.061147
INFO:root:Epoch[7] Time cost=0.174
INFO:root:Epoch[8] Train-mse=0.061145
INFO:root:Epoch[8] Time cost=0.148
INFO:root:Epoch[9] Train-mse=0.061142
INFO:root:Epoch[9] Time cost=0.150
INFO:root:Epoch[10] Train-mse=0.061140
INFO:root:Epoch[10] Time cost=0.145
INFO:root:Epoch[11] Train-mse=0.061136
INFO:root:Epoch[11] Time cost=0.135
INFO:root:Epoch[12] Train-mse=0.061133
INFO:root:Epoch[12] Time cost=0.136
INFO:root:Epoch[13] Train-mse=0.061128
INFO:root:Epoch[13] Time cost=0.137
INFO:root:Epoch[14] Train-mse=0.061122
INFO:root:Epoch[14] Time cost=0.146
INFO:root:Epoch[15] Train-mse=0.061116
INFO:root:Epoch[15] Time cost=0.135
INFO:root:Epoch[16] Train-mse=0.061108
INFO:root:Epoch[16] Time cost=0.152
INFO:root:Epoch[17] Train-mse=0.061098
INFO:root:Epoch[17] Time cost=0.179
INFO:root:Epoch[18] Train-mse=0.061086
INFO:root:Epoch[18] Time cost=0.160
INFO:root:Epoch[19] Train-mse=0.061069
INFO:root:Epoch[19] Time cost=0.151
INFO:root:Epoch[20] Train-mse=0.061050
INFO:root:Epoch[20] Time cost=0.145
INFO:root:Epoch[21] Train-mse=0.061024
INFO:root:Epoch[21] Time cost=0.164
INFO:root:Epoch[22] Train-mse=0.060990
INFO:root:Epoch[22] Time cost=0.151
INFO:root:Epoch[23] Train-mse=0.060944
INFO:root:Epoch[23] Time cost=0.141
INFO:root:Epoch[24] Train-mse=0.060881
INFO:root:Epoch[24] Time cost=0.136
INFO:root:Epoch[25] Train-mse=0.060790
INFO:root:Epoch[25] Time cost=0.124
INFO:root:Epoch[26] Train-mse=0.060658
INFO:root:Epoch[26] Time cost=0.151
INFO:root:Epoch[27] Train-mse=0.060455
INFO:root:Epoch[27] Time cost=0.166
INFO:root:Epoch[28] Train-mse=0.060131
INFO:root:Epoch[28] Time cost=0.148
INFO:root:Epoch[29] Train-mse=0.059582
INFO:root:Epoch[29] Time cost=0.219
INFO:root:Epoch[30] Train-mse=0.058581
INFO:root:Epoch[30] Time cost=0.160
INFO:root:Epoch[31] Train-mse=0.056593
INFO:root:Epoch[31] Time cost=0.178
INFO:root:Epoch[32] Train-mse=0.052252
INFO:root:Epoch[32] Time cost=0.184
INFO:root:Epoch[33] Train-mse=0.042274
INFO:root:Epoch[33] Time cost=0.168
INFO:root:Epoch[34] Train-mse=0.023321
INFO:root:Epoch[34] Time cost=0.162
INFO:root:Epoch[35] Train-mse=0.005860
INFO:root:Epoch[35] Time cost=0.161
INFO:root:Epoch[36] Train-mse=0.000848
INFO:root:Epoch[36] Time cost=0.164
INFO:root:Epoch[37] Train-mse=0.000319
INFO:root:Epoch[37] Time cost=0.176
INFO:root:Epoch[38] Train-mse=0.000221
INFO:root:Epoch[38] Time cost=0.148
INFO:root:Epoch[39] Train-mse=0.000163
INFO:root:Epoch[39] Time cost=0.199
INFO:root:Epoch[40] Train-mse=0.000123
INFO:root:Epoch[40] Time cost=0.141
INFO:root:Epoch[41] Train-mse=0.000096
INFO:root:Epoch[41] Time cost=0.133
INFO:root:Epoch[42] Train-mse=0.000078
INFO:root:Epoch[42] Time cost=0.144
INFO:root:Epoch[43] Train-mse=0.000065
INFO:root:Epoch[43] Time cost=0.174
INFO:root:Epoch[44] Train-mse=0.000056
INFO:root:Epoch[44] Time cost=0.208
INFO:root:Epoch[45] Train-mse=0.000050
INFO:root:Epoch[45] Time cost=0.152
INFO:root:Epoch[46] Train-mse=0.000045
INFO:root:Epoch[46] Time cost=0.154
INFO:root:Epoch[47] Train-mse=0.000041
INFO:root:Epoch[47] Time cost=0.151
INFO:root:Epoch[48] Train-mse=0.000039
INFO:root:Epoch[48] Time cost=0.177
INFO:root:Epoch[49] Train-mse=0.000036
INFO:root:Epoch[49] Time cost=0.135
关于machine-learning - mxnet 训练没有进展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45849548/
我可以使用诸如 FullyConnected 之类的预构建高级函数来创建模型。 .例如: X = mx.sym.Variable('data') P = mx.sym.FullyConnected(
在 numpy 中,可以使用 np.append() 将元素附加到数组。 尽管 numpy 和 mxnet 数组应该是相似的,但 NDArray 类中没有append() 函数。 更新(18/04/2
在 numpy 中,可以使用 np.append() 将元素附加到数组。 尽管 numpy 和 mxnet 数组应该是相似的,但 NDArray 类中没有append() 函数。 更新(18/04/2
据我们所知,mxnet中有multiplegpu的概念,当在命令中指定-gpu时。如果我们不指定gpu,它将在cpu上运行。它运行多少个cpu?可以指定吗多个 CPU? 最佳答案 您可以通过以下代码使
我正在 MXNet 中编写 C++ 自定义运算符,但无法找到有关何时在运算符调用中设置 kAddTo 的文档。作为一个最小的例子,假设我的新运算符称为 foo(),我想执行以下计算: A = mx.s
如何在 MXNET 中创建自定义损失函数?例如,我不想计算一个标签的交叉熵损失(使用标准 mx.sym.SoftmaxOutput 层计算交叉熵损失并返回一个可以作为损失符号传递给拟合函数的符号),而
我有数百万张图像可供推断。我知道如何编写自己的代码来创建批处理并将批处理转发到使用 MxNet Module API 训练过的网络为了得到预测。然而,创建批处理会导致大量未特别优化的数据操作。 在自己
我正在了解 Mxnet 框架。在关注此 Linear Regression article 时我看到以下代码正在创建一个密集层: net = gluon.nn.Dense(1, in_units=2)
由于没有分步指南来学习如何使用 mxnet 来训练图像分类模型或提高已经存在的模型的准确性,例如,我有 5 个类 iamges,我想训练一个模型可以很好地将这5类东西分类。另外,mxnet 指南找不到
在 MXNet 中,如果我想创建一个权重向量来乘以每个输入,即具有 w*x_i 然后反向传播权重 w 我将如何做这个? 我试过: y_hat = input w1 = mx.sym.Variabl
升级到 MXNet 0.11.0 后,我的旧代码中出现奇怪的错误: 使用 scikit-learn 的波士顿住房数据集: data = mx.sym.Variable("data") y = mx.s
Guon mxnet 教程中的简单示例对于我们这些刚刚开始使用 mxnet 的人来说非常有帮助。到目前为止,还没有一个简单的模型并行示例。我看到 LSTM 的模型并行性示例代码,但我是 mxnet 的
我如何找到 MXNet 符号中保存的实际数值。 假设我有, x = mx.sym.Variable('x') y = mx.sym.Variable('y') z = x + y, 如果 x = [1
我正在使用 MXnet 来训练 CNN(在 R 中),我可以使用以下代码训练模型而不会出现任何错误: model <- mx.model.FeedForward.create(symbol=netwo
TensorFlow 对象检测 API 更喜欢 TFRecord 文件格式。 MXNet 和 Amazon Sagemaker 似乎使用 RecordIO 格式。这两种二进制文件格式有何不同,或者它们
我正在尝试使用其C++ API在Mxnet中实现自定义损失函数。损失函数的问题在python(how to use customized loss function with mxnet?)中已经提出
我无法使用 mxnet 获得合理的性能LinearRegressionOutput层。 下面的独立示例尝试对一个简单的多项式函数 (y = x1 + x2^2 + x3^3) 执行回归,并引入少量随机
在我的问题中,我有一个包含 n 元素的向量。给定窗口大小 k,我想有效地创建一个包含带状对角线的矩阵大小 n x 2k+1。例如: a = [a_1, a_2, a_3, a_4] k = 1 b =
我正在尝试实现mxnet教程in this page ,在计算梯度体面时: def SGD(params, lr): for param in params: param[:] = param
预先感谢您的帮助。 我在让 mxnet 模型收敛到任何东西时遇到一些问题:它似乎接近其初始权重。 一个工作示例(尽管我今天一直在努力让许多这样的模型工作)。我已经尝试了下面的方法,使用了一系列纪元(最
我是一名优秀的程序员,十分优秀!