在卷积网络中,大部分的计算耗费在计算卷积的过程中,尤其是在端上设备中,对于性能的要求更为苛刻。程序的性能优化是一个复杂而庞大的话题。高性能计算就像系统设计一样,虽然有一些指导原则,但是,对于不同的场景需要有不同的设计方案,因此,对于同一个优化问题,不同的人可能会给出完全不同的优化方案。本文不是探讨硬件和代码级的优化,仅针对计算卷积的一个特定方法 —— Winograd 方法做一个简单的记述。
C++ struct 位域
位域(Bit field)为一种数据结构,可以把数据以位的形式紧凑的储存,并允许程序员对此结构的位进行操作。这种数据结构的一个好处是它可以使数据单元节省储存空间,当程序需要成千上万个数据单元时,这种方法就显得尤为重要。
XGBoost
XGBoost 是机器学习比赛中的大杀器,我之前也了解过许多,于无意中看到一篇关于其总结的文章,想到应该总结一下。本文结合参考文献和一些个人整理的资料,对 XGBoost 相关知识进行总结,力求通俗易懂。
C++11 并发编程系列(四):异步操作(future)
并发编程作为 C++11 系列的一个重大更新部分,值得我们去探究,并应用其提升程序的性能。本系列参考了其他一些文章,对 C++11 并发编程的一些要点进行了总结,并给出一些示例。