arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1611.03423cs.MScs.LG
收藏

DiffSharp:的AD库。NET语言

DiffSharp: An AD Library for .NET Languages

National University of Ireland Maynooth(爱尔兰国立梅努斯大学);University of Oxford(牛津大学);Purdue University(普渡大学)

Atılım Güneş Baydin, Barak A. Pearlmutter, Jeffrey Mark Siskind

摘要:

DiffSharp是一个用于.NET生态系统的算法微分或自动微分(AD)库,它是C#和F#语言的目标。该库的设计考虑到了机器学习应用程序,允许非常简洁地实现模型和优化例程。DiffSharp是在F#中实现的,它将正向和反向AD运算符公开为通用的可嵌套高阶函数,可用于任何.NET语言。它提供了高性能的线性代数基元-标量,向量和矩阵,正在进行张量的推广-所有AD运算符都完全支持,并且通过高度优化的OpenBLAS库使用BLAS/LAPACK后端。DiffSharp目前使用运算符重载,但我们正在使用F#的“代码引用”元编程功能开发该库的基于转换的版本。基于CUDA的GPU后端的工作也在进行中。

英文摘要:

DiffSharp is an algorithmic differentiation or automatic differentiation (AD) library for the .NET ecosystem, which is targeted by the C# and F# languages, among others. The library has been designed with machine learning applications in mind, allowing very succinct implementations of models and optimization routines. DiffSharp is implemented in F# and exposes forward and reverse AD operators as general nestable higher-order functions, usable by any .NET language. It provides high-performance linear algebra primitives---scalars, vectors, and matrices, with a generalization to tensors underway---that are fully supported by all the AD operators, and which use a BLAS/LAPACK backend via the highly optimized OpenBLAS library. DiffSharp currently uses operator overloading, but we are developing a transformation-based version of the library using F#'s "code quotation" metaprogramming facility. Work on a CUDA-based GPU backend is also underway.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑