- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试实现mxnet教程in this page ,在计算梯度体面时:
def SGD(params, lr):
for param in params:
param[:] = param - lr * param.grad
我注意到当lr<1时,标量到数组的乘法
lr * param.grad
变成与param.grad大小相同的零矩阵
我不知道为什么会发生这种情况。任何人都可以帮助我理解这一点吗?
非常感谢
最佳答案
我在本地 PyCharm 中运行了该笔记本中的代码,并附加了一个调试器来尝试重现您所看到的内容。
def SGD(params, lr):
for param in params:
t = lr * param.grad
param[:] = param - t
当我在上面的代码中放置断点并检查t
时,调试器显示全零。但是当我运行代码时一切都运行良好。那很奇怪。因此,我修改了代码以打印每次迭代中每个像素的所有梯度的总和。
def SGD(params, lr):
for param in params:
t = lr * param.grad
print(nd.sum(param.grad, axis=-1))
param[:] = param - t
我得到了 this 输出。一次迭代的输出如下所示:
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 -6.23335197e-08
2.91620381e-08 2.32830644e-10 1.11467671e-08 -7.45058060e-09
2.09547579e-09 -3.11993062e-08 3.44589353e-08 -7.45058060e-09
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
1.73723835e-09 -1.45343968e-08 1.51213424e-08 -4.47034836e-08
-1.19209290e-07 -8.10250640e-08 8.66129994e-08 3.77185643e-08
8.47503543e-08 8.66129994e-08 8.70786607e-08 5.35510480e-09
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 5.47231149e-09 -4.99075004e-10 -4.99075004e-10
6.05359674e-09 -9.66247171e-09 1.83936208e-08 -7.50416707e-09
1.12872200e-07 9.31513569e-08 2.45261617e-07 -1.86264515e-07
-5.28991222e-07 -2.68220901e-07 -1.22934580e-07 0.00000000e+00
2.08616257e-07 1.89989805e-07 4.33064997e-08 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 -2.75546541e-09 2.39708999e-08 -2.04163371e-08
6.70552254e-08 6.14672899e-08 4.40049917e-08 8.94069672e-08
8.94069672e-08 2.98023224e-07 1.19209290e-07 -5.96046448e-08
-2.38418579e-07 -4.76837158e-07 -4.76837158e-07 -2.38418579e-07
1.78813934e-07 4.13507223e-07 2.83122063e-07 3.09199095e-07
1.34285074e-07 6.17840215e-08 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 -2.19943086e-09 1.58324838e-08 6.26314431e-08
4.47034836e-08 5.96046448e-08 2.38418579e-07 4.76837158e-07
2.38418579e-07 4.76837158e-07 5.66244125e-07 1.49011612e-07
-4.17232513e-07 -2.38418579e-07 -3.57627869e-07 0.00000000e+00
0.00000000e+00 1.22934580e-07 1.97440386e-07 2.73808837e-07
4.55183908e-08 1.16733858e-08 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 7.33416528e-09 4.35829861e-08
4.36230039e-08 3.72456270e-08 1.67638063e-08 5.96046448e-08
1.49011612e-07 2.38418579e-07 -1.19209290e-07 -2.38418579e-07
-1.78813934e-07 2.38418579e-07 6.25848770e-07 3.57627869e-07
2.98023224e-08 -4.17232513e-07 -3.57627869e-07 -5.96046448e-08
-1.04308128e-07 1.19209290e-07 1.08033419e-07 -6.14672899e-08
-1.40164047e-07 -1.22236088e-07 -1.07334927e-07 0.00000000e+00
0.00000000e+00 0.00000000e+00 -2.17623892e-08 6.13508746e-08
7.71033228e-08 4.65661287e-09 0.00000000e+00 -5.96046448e-08
0.00000000e+00 2.38418579e-07 1.19209290e-07 3.57627869e-07
4.76837158e-07 1.19209290e-07 -2.38418579e-07 -1.78813934e-07
-4.76837158e-07 0.00000000e+00 1.78813934e-07 1.19209290e-07
5.06639481e-07 1.78813934e-07 -1.19209290e-07 -1.19209290e-07
-1.19209290e-07 0.00000000e+00 -1.34168658e-08 0.00000000e+00
0.00000000e+00 0.00000000e+00 4.71118256e-10 2.32830644e-09
2.53785402e-08 -2.83122063e-07 1.19209290e-07 1.19209290e-07
2.98023224e-07 0.00000000e+00 2.38418579e-07 3.20374966e-07
0.00000000e+00 3.57627869e-07 -2.38418579e-07 2.38418579e-07
-9.53674316e-07 -7.15255737e-07 1.19209290e-07 3.57627869e-07
4.17232513e-07 -7.45058060e-08 -5.96046448e-08 -1.19209290e-07
1.49011612e-08 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 -2.59024091e-09
-5.21540642e-08 -7.45058060e-09 -1.78813934e-07 5.96046448e-08
1.78813934e-07 1.19209290e-07 4.76837158e-07 2.98023224e-07
-5.96046448e-08 2.38418579e-07 3.57627869e-07 5.96046448e-08
-4.76837158e-07 1.78813934e-07 4.17232513e-07 -1.19209290e-07
2.98023224e-07 5.96046448e-08 2.04890966e-08 -1.30385160e-08
-4.83123586e-09 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 3.23634595e-08
-5.58793545e-08 -1.34110451e-07 -1.49011612e-08 -5.96046448e-08
1.49011612e-07 1.49011612e-08 1.78813934e-07 0.00000000e+00
0.00000000e+00 8.94069672e-08 5.96046448e-08 -1.19209290e-07
-3.57627869e-07 0.00000000e+00 4.76837158e-07 -2.38418579e-07
0.00000000e+00 1.02445483e-07 1.46217644e-07 -1.32713467e-08
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
-2.79396772e-08 -1.56462193e-07 -1.93715096e-07 1.82539225e-07
3.68803740e-07 4.32133675e-07 5.96046448e-08 -1.19209290e-07
0.00000000e+00 2.98023224e-07 -1.19209290e-07 -5.06639481e-07
1.19209290e-07 4.76837158e-07 8.94069672e-08 0.00000000e+00
0.00000000e+00 5.96046448e-08 8.61473382e-08 4.39467840e-08
4.85442797e-11 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
-2.79396772e-08 -1.86264515e-07 -1.93715096e-07 2.98023224e-08
3.57627869e-07 3.57627869e-07 -2.38418579e-07 -1.19209290e-07
-2.38418579e-07 -1.78813934e-07 -1.78813934e-07 0.00000000e+00
-4.02331352e-07 -2.23517418e-08 2.08616257e-07 -2.98023224e-08
2.38418579e-07 2.08616257e-07 2.37952918e-07 7.72388375e-08
3.80787242e-08 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
-7.45058060e-08 -2.98023224e-08 1.11758709e-07 1.78813934e-07
4.76837158e-07 3.57627869e-07 -1.19209290e-07 0.00000000e+00
-3.57627869e-07 2.38418579e-07 -1.19209290e-07 5.96046448e-08
1.19209290e-07 1.49011612e-07 8.94069672e-08 1.78813934e-07
4.17232513e-07 4.47034836e-07 4.47034836e-07 8.42846930e-08
-3.70637281e-08 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
-1.04308128e-07 0.00000000e+00 3.35276127e-07 2.68220901e-07
7.74860382e-07 7.15255737e-07 2.38418579e-07 1.19209290e-07
-2.38418579e-07 -3.57627869e-07 -3.57627869e-07 -8.94069672e-08
3.87430191e-07 3.57627869e-07 3.57627869e-07 5.96046448e-08
2.98023224e-07 4.76837158e-07 5.36441803e-07 4.84287739e-08
4.59044713e-08 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 -9.77270531e-09
-1.19209290e-07 7.45058060e-09 0.00000000e+00 3.57627869e-07
2.38418579e-07 5.96046448e-07 3.57627869e-07 9.53674316e-07
4.76837158e-07 1.19209290e-07 -2.38418579e-07 1.19209290e-07
-2.98023224e-07 -1.19209290e-07 -5.96046448e-08 -3.57627869e-07
1.78813934e-07 4.47034836e-07 3.87430191e-07 1.08033419e-07
3.81596692e-08 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 -4.18361026e-08
-5.63450158e-08 -4.84287739e-08 5.96046448e-08 2.38418579e-07
4.76837158e-07 3.57627869e-07 5.96046448e-07 1.78813934e-07
-1.19209290e-07 -1.19209290e-07 -2.68220901e-07 0.00000000e+00
0.00000000e+00 2.38418579e-07 -5.96046448e-07 -3.87430191e-07
1.19209290e-07 3.57627869e-07 3.87430191e-07 1.24797225e-07
6.91925379e-08 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 -4.36812968e-08
-5.60366971e-08 -8.84756446e-08 1.19209290e-07 -1.19209290e-07
3.57627869e-07 5.96046448e-08 0.00000000e+00 0.00000000e+00
-5.96046448e-07 1.19209290e-07 -2.98023224e-08 1.78813934e-07
-2.38418579e-07 -2.38418579e-07 3.57627869e-07 -3.57627869e-07
2.38418579e-07 2.38418579e-07 3.42726707e-07 1.14087015e-07
2.49773286e-08 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 -1.28651578e-09
-1.01268569e-07 -1.50499545e-07 -4.47034836e-08 0.00000000e+00
5.96046448e-08 3.57627869e-07 1.19209290e-07 -3.57627869e-07
-3.57627869e-07 2.98023224e-07 3.12924385e-07 5.96046448e-08
0.00000000e+00 -3.57627869e-07 -4.76837158e-07 5.96046448e-08
2.98023224e-07 2.98023224e-07 1.78813934e-07 7.29633030e-08
1.60424936e-08 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
-7.72104300e-08 -3.55039447e-08 2.83529516e-07 2.63098627e-08
3.25031579e-07 7.45058060e-09 1.19209290e-07 -5.96046448e-08
-3.27825546e-07 6.70552254e-08 3.12924385e-07 4.17232513e-07
-3.57627869e-07 -4.76837158e-07 -1.19209290e-07 1.78813934e-07
2.98023224e-07 1.71363354e-07 6.27478585e-08 1.92048901e-08
-3.83870313e-09 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
-6.35419752e-08 -5.20981303e-08 2.64481059e-08 6.12053555e-08
2.30735168e-07 -2.51457095e-08 -2.98023224e-07 -3.57627869e-07
1.78813934e-07 6.55651093e-07 2.38418579e-07 -5.96046448e-08
-3.57627869e-07 3.57627869e-07 1.19209290e-07 1.78813934e-07
1.49011612e-07 8.19563866e-08 4.22005542e-08 2.06365929e-08
2.06365929e-08 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
2.09386428e-08 5.31318420e-08 -5.19480636e-09 -1.55114321e-07
7.33416528e-08 -2.98023224e-08 -2.98023224e-08 -2.98023224e-07
4.76837158e-07 2.38418579e-07 5.96046448e-08 3.57627869e-07
1.19209290e-07 0.00000000e+00 2.38418579e-07 1.04308128e-07
3.91155481e-08 4.49217623e-08 2.17316245e-08 2.06365929e-08
2.23254459e-09 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
1.64938871e-08 6.39862421e-08 5.16827185e-08 1.46355887e-07
-1.34110451e-07 -5.96046448e-08 2.38418579e-07 7.74860382e-07
9.53674316e-07 1.19209290e-07 0.00000000e+00 3.57627869e-07
2.38418579e-07 0.00000000e+00 1.19209290e-07 1.44354999e-08
2.26427801e-08 1.19798682e-09 -4.99121011e-09 -4.99121011e-09
-2.63172950e-09 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 3.20321369e-08 5.63813956e-08 8.19563866e-08
0.00000000e+00 -1.19209290e-07 1.19209290e-07 1.19209290e-07
1.19209290e-07 -1.19209290e-07 0.00000000e+00 0.00000000e+00
5.96046448e-08 -7.45058060e-09 4.09781933e-08 1.63381628e-08
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 -7.45058060e-08 -5.96046448e-08
-1.78813934e-07 5.96046448e-08 -2.88709998e-08 -3.35276127e-08
6.28060661e-08 2.98023224e-08 1.19209290e-07 5.96046448e-08
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 -1.19209290e-07 -1.19209290e-07
0.00000000e+00 -1.49011612e-08 -2.67755240e-08 -1.49157131e-09
7.06131686e-09 6.01576176e-08 -2.69501470e-08 1.49011612e-08
0.00000000e+00 0.00000000e+00 -7.45058060e-09 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]
<NDArray 784 @cpu(0)>
请注意,前几十个像素的权重梯度始终为零。由于调试器仅显示 ndarray 上的前几个值,因此您看到的只是零。
前几十个像素的权重梯度很可能为零,因为这些像素不包含任何可用于对图像中的数字进行分类的信息。请注意,MNIST 图像位于图像的中心。沿边界的像素仅为 0。
希望有帮助。
关于machine-learning - MXNet - 将标量乘以数组会导致零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49326470/
我可以使用诸如 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 模型收敛到任何东西时遇到一些问题:它似乎接近其初始权重。 一个工作示例(尽管我今天一直在努力让许多这样的模型工作)。我已经尝试了下面的方法,使用了一系列纪元(最
我是一名优秀的程序员,十分优秀!