如何不入俗套并像专家一样训练模型? —— David9的打趣帖子

来自deci.ai的专家提了一些不入俗套的训练模型的建议,david觉得不错,分享给大家,如果你每天还在机械化地调整模型超参数,不妨看看下面几个建议:

1)  使用指数滑动平均EMA(Exponential Moving Average). 

当模型容易陷入局部最优解时,这种方法比较有效。

EMA 是一种提高模型收敛稳定性,并通过防止收敛到局部最优来达到更好的整体解的方法。— Shai Rozenberg

公式大致如下: 2)  权重平均

每个人都喜欢免费额外的性能提高。

加权平均可以达到这一点。当然,训练N个模型再平均他们的权重开销比较大。另一种更节省成本的方式是,把比较好的那些epoch的模型拿出来做平均,这样只要训练一次,又能达到意想不到的效果。

3)  batch积累

如果有一些模型训练开销很大,而且需要的GPU显存又很多,你不得不降低batch size达到训练的目的。然而,和原来训练代码配套的超参数似乎就要重新调整了? 继续阅读如何不入俗套并像专家一样训练模型? —— David9的打趣帖子

15年后,Numpy已不是一个普通的数组计算库,而是一个高维编程世界的“中枢”

编程世界也有“要塞”(或“中枢”),就是那些每个人都要用,而每个人都想个性化定制,每个人又都不得不参与协商并遵守的那些“协议” —— David 9

人类的合作有些神奇,起初是懒惰(或贪婪)使用别人已造好的基础工具,然后越来越多人使用,人们的精力转而投入到这个工具的标准上,因为他们都想用这个基础工具造自己的工具,而不是再造一个差不多的标准。 Numpy近15年的发展就很类似。前不久Numpy论文登上Nature。Numpy已经俨然不是当初普通的数组计算库这么简单了,而是维护了一个高维编程世界的通用协议,以及处理高维数组的一些公认思路:

来自:https://www.nature.com/articles/s41586-020-2649-2

如上,

...阅读更多...加入David9的星球群阅读所有文章:

加入David9的星球群,获得通行密码 , 阅读全文

【工具】亲测Py-Spy:无中断python性能监控分析器,pyspy, Pyflame, ptrace

很多钻研机器学习(深度学习)的朋友其实并不熟悉python语言本身,这就导致写完代码后,无法定位程序“瓶颈”。往往有同学写完训练(预测)模型,但是代码运行时就非常慢,却找不准原因。

David 这里就推荐一款开源性能分析工具:py-spy

来自:https://github.com/benfred/py-spy

py-spy会监控process_vm_readv系统调用的信息,从而抽样得到一个python进程的函数调用时间统计。把最耗时间的那些函数排在前面。

如上图,即使你的程序已经在运行中,你也可以运行以下命令进行无中断的性能监控与分析:

yy@desktop:~$  py-spy --pid 12345

其中12345是已经在运行中的进程号 。

继续阅读【工具】亲测Py-Spy:无中断python性能监控分析器,pyspy, Pyflame, ptrace