问题标签 [momentum]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
203 浏览

python - 如何使用 urllib 打开自定义协议 url?

我使用 chrome Momentum扩展来自定义我的浏览器新标签,并想编写一个 python 脚本来获取它的每日仪表板壁纸

到目前为止,我知道我可以通过 url 到达所需的页面

但是,当我尝试urllib.request.urlopen使用此 url 调用时,会引发以下错误:

是否可以包含要打开的自定义协议urllib

还是有另一种方法来获取页面 html 结果?

0 投票
1 回答
29 浏览

python - tensorflow Optimizer:尝试使用未初始化的值 fc.bias/Momentum

事情就是这样。

我建立了一个训练有素的网络并将 .meta 和 .data 保存在 ckpt 中。优化器是 MomentumOptimizer:

tf.train.MomentumOptimizer(learning_rate=lr, momentum=0.9, name='Momentum'),它也保存在 .meta 中。

但是我忘记保存与 Momentum 相关的参数,所以当我加载图形表单 .meta 时,会出现错误:

尝试使用未初始化的值 fc.bias/Momentum

我知道我可以使用 initializer() ,但是这样如何设置 momentum=0.9呢?这个初始化器()会只给一个随机值momentum吗?

我已经训练了很长时间的模型,我没有办法再次从头开始训练它来保存 xx/Momentum。那么我能做些什么来修复它呢?momentum=0.9也就是说,加载 .meta 时如何在 MomentumOptimizer 中设置 ?

0 投票
0 回答
108 浏览

keras - 无法设置优化器的动量

我正在使用 SGD 优化器,并希望在初始化后设置类似于学习率调度的动量tf.keras.backend.set_value(optimizer.momentum, momentumValue)https ://www.tensorflow.org/api_docs/python/tf/keras/backend/set_value

但是,我得到的只是以下错误:

有什么方法可以设置动力吗?这对于实施 1Cycle 政策很重要,因为动量也应该循环,但我不敢相信在初始化后没有办法在 keras 中调整动量。

0 投票
1 回答
793 浏览

python - 改变 pytorch 中的优化器动力

我知道您可以使用调度程序在 pytorch 中动态更改学习率。你怎么能用动量做同样的事情?

0 投票
0 回答
140 浏览

python - 是在 keras 的动量之前还是之后应用剪辑规范?

在 Keras 或 Tensorflow 中,重新clipnorm调整大的“梯度”以具有特定的规范并clipvalue限制“梯度”的所有值。

但是,如果将其中一个与moemntum或类似的东西结合起来会发生什么adam?它是应用于梯度还是速度?

A) 是否clipnorm应用于g损失相对于参数的实际纯数学梯度,然后使用这个剪裁梯度来使用旧梯度的动量和学习率计算更新步骤?

或者

B)首先将旧梯度的动量与未修改的新梯度相结合。然后得到的向量(“速度”)被clipnorm缩放。

或 B')

或者也有可能是A')

?

A(和 A')会遇到这样一个问题,即即使梯度的范数是有界的,速度也可能由于动量而变得任意大,并且剪辑范数会使分解速度或改变方向的速度变得更慢。

从我的角度来看,B 是最合理的,但我不知道它是如何实现的。

同样的问题可以类似地询问clipvalueadam其他基于动量的算法。

PS:如果clipnorm没有按照 B 中的建议实施,如果还有可能通过使用不同的选项在 keras 中获得 B 或 B',我会很感兴趣?

0 投票
1 回答
207 浏览

tensorflow - 如何在 TF2 中动态更新批范数动量?

我发现了一个 PyTorch 实现,它将批规范momentum参数从0.1第一个时期衰减到0.001最后一个时期。有关如何使用momentumTF2 中的批处理规范参数执行此操作的任何建议?(即,开始于0.9,结束于0.999)例如,这是在 PyTorch 代码中完成的:

解决方案:

下面选择的答案在使用tf.keras.Model.fit()API 时提供了一个可行的解决方案。但是,我使用的是自定义训练循环。这是我所做的:

在每个时代之后:

set_bn_momentum 函数(归功于本文):

这种方法不会显着增加训练程序的开销。

0 投票
1 回答
190 浏览

keras - 为什么 keras Batchnorm 中只有一个动量参数?

我是 CNN 的新手,正在使用 keras 在 CNN 中实现 Batchnorm。Batch norm 层有 4*Feature_map(of prev layer) 参数。其中如下:

  1. 2 是 gamma 和 beta
  2. 其他 2 个用于小批量的均值和方差的指数移动平均值

现在,均值和方差的指数移动平均值定义为:

在 keras 的 BatchNormalization 函数中,我看到只有一个称为动量的超参数。

我的问题是为什么没有单独的动量超参数用于运行均值和运行方差?

0 投票
0 回答
25 浏览

python - 在更新 dict 值时累积变量?(尝试实现SGD+动量)

所以我为香草 SGD 实现了以下字典:

我正在尝试用动量实现类似的东西,但是,我不确定如何能够累积速度项,以便我可以在列表理解术语中一次更新它:

有谁知道我如何使用列表理解(最好使用 Tensorflow)来做到这一点?

0 投票
0 回答
70 浏览

arrays - MATLAB 仅使用 if/else 语句来比较数组

对于 matlab 任务,我正在考虑三个推车之间的弹性碰撞,我知道总共只有 4 次碰撞(基于总动量和能量的对话),第一次碰撞在第 2 和第 3 推车之间。我只能使用 if/else 语句来比较每次碰撞的这些速度,并且不能使用函数或循环。

我有一个大致的理解,即如果购物车 2 的速度大于购物车 3,那么就会发生另一次碰撞 [本质上,如果 (v1>v2) | (v2>v3)]。我无法理解布尔运算以及如何在每次碰撞后建立的数组内的这些更新速度之间进行比较。目前,实现的 if/else 语句正在查找相应数组的值并将其与前一个数组的值进行比较以寻找最大值,我知道这是不正确的。此外,简单的大于比较在表示 4 次碰撞时不成立。任何和所有的帮助表示赞赏。谢谢你。

0 投票
2 回答
176 浏览

unity3d - 跳跃后如何保持玩家动力(2D)?

我正在创建一个马里奥克隆,我需要保持玩家的前进动力进入跳跃,然后继续进入着陆。我不知道如何实现这一目标。每次我着陆时,玩家都必须再次建立动力。任何想法如何解决这个问题?我尝试了几种解决方案均无济于事。我认为这与我在向左或向右时如何向玩家增加力量和加速度有关。不确定是否有任何帮助将不胜感激。提前致谢。

这是我的代码:

}