PyTorch中"诡异"的动量SGD实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyTorch中"诡异"的动量SGD实现相关的知识,希望对你有一定的参考价值。
参考技术A pytorch中SGD的动量实现是如下这个样子的将pytorch的实现翻译为公式,就是如下这个样子:
为什么说它诡异呢?因为它与Polyak, Sutskever等人的论文中的表达方式是不同的:
是学习率, 是动量因子。
对一下,其实就是 换了个位置,从传统的 换到了 。 但是其实通过展开,可以发现,在学习率保持不变的的情况下,这两种实现方式是等价的。而在学习率变化的情况下,直观的来说,前一种方法学习率会立马作用在动量上:
使得学习率的更改立马产生效果,而使用原始的方法往往要好几个batch之后学习率才生效(因为动量太大了)。
因此,一般来说使用pytorch采用的实现方法会适用一些。
[1] https://zhuanlan.zhihu.com/p/43016574
[2] https://github.com/pytorch/pytorch/issues/1099
React Native Scrollview 停止动量? (世博会)
【中文标题】React Native Scrollview 停止动量? (世博会)【英文标题】:React Native Scrollview Stop Momentum? (expo) 【发布时间】:2018-08-04 15:04:12 【问题描述】:我正在使用ScrollView,当我滚动并松开时,它会因为动量而继续滚动。我希望它只在手指触摸屏幕时滚动,我不想要这种势头。这可能吗,如果可以,怎么做?
【问题讨论】:
将decelerationRate
设置为"fast"
。 facebook.github.io/react-native/docs/…
这只是IOS
这 8 个月后运气好吗?
【参考方案1】:
使用带有值0
的decelerationRate
属性可以提供帮助。
基于the document,它的值接受字符串normal | fast
和从0
到1
的浮点数,从最慢到最快。
<ScrollView decelerationRate=0>
</ScrollView>
** 我正在使用 RN v0.59 **
【讨论】:
【参考方案2】:将以下 2 个属性添加到 ScrollView
:
snapToInterval=1
disableIntervalMomentum=true
【讨论】:
【参考方案3】:为什么不试试这个(RN 0.55)
<ScrollView
ref=r => (this.scrollView = r)
onScrollEndDrag=e =>
return this.scrollView.scrollTo( y: e.nativeEvent.contentOffset.y );
>
...
</ScrollView>
【讨论】:
以上是关于PyTorch中"诡异"的动量SGD实现的主要内容,如果未能解决你的问题,请参考以下文章