DiffSharp:的AD库。NET语言
DiffSharp: An AD Library for .NET Languages
摘要:
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分析而来,可能存在错误,请以论文正文为准。