选自arXiv
编辑:杜伟、小舟
这个新型Python框架对库开发者和用户都大有裨益。
近年来,深度学习领域的进展与深度学习框架的开发同步进行。这些框架为自动微分和GPU加速提供了高级且高效的API,从而可以利用相对较少和简单的代码实现极度复杂和强大的深度学习模型。
最初,Theano、Caffe、MXNet、TensorFlow和CNTK等很多流行的深度学习框架使用的是基于图的方法。用户首先需要定义一个静态数据流图(staticdataflowgraph),然后可以对它进行高效地微分、编译并在GPU上执行。所以,提前了解整个计算图有助于实现高性能。
但是,这种方法导致难以调试模型以及实现具有变化图(changinggraph)的动态模型(如RNN)。
所以,针对这种方法的局限性,深度学习模型的EagerExecution成为了深度学习研究领域的主流方法。用户不再需要提前构建静态数据流图,EagerExecution框架自身就可以提供define-by-run的API,它可以高速地构建临时的动态图。目前,两大主流深度学习框架PyTorch和TensorFlow都在使用eagerexecution方法。
而在本文中,来自德国图宾根大学和图宾根伯恩斯坦计算神经科学中心的研究者将eagerexecution进行了扩展,提供了一个新的Python框架EagerPy,它可以编写自动且原生地适配PyTorch、TensorFlow、Jax和Numpy的代码。EagerPy对库开发者和用户都有裨益。
论文
转载请注明:http://www.0431gb208.com/sjsbszl/1287.html