#自动微分
chainer - Python深度学习框架,支持动态计算图和CUDA加速
Github开源项目深度学习CUDAChainer自动微分CuPy
Chainer是一个Python深度学习框架,提供基于define-by-run方法的自动微分API(动态计算图)和面向对象的高级API,用于构建和训练神经网络。通过CuPy支持CUDA/cuDNN,实现高性能训练和推理。尽管Chainer已进入维护阶段,仅进行bug修复和维护,但其文档、教程和社区资源仍然活跃,适合研究和开发深度学习模型的用户。
gorgonia - Go语言机器学习库,具备自动微分和符号微分功能
Github开源项目神经网络机器学习Go语言自动微分Gorgonia
Gorgonia是专为Go语言开发的机器学习库,提供自动微分、符号微分、梯度下降优化和数值稳定功能。用户可以轻松编写和评估多维数组的数学方程,并利用CUDA进行快速计算。其目标是成为高性能、可扩展的机器学习和图计算库,适合多机部署,同时支持非标准深度学习和神经网络研究。
EffectiveTensorflow - TensorFlow 2的深入讲解,包括基本概念、广播机制、符号计算和控制流操作等
Github开源项目神经网络TensorFlow 2自动微分张量梯度下降
本指南深入讲解 TensorFlow 2,包括基本概念、广播机制、符号计算和控制流操作等。探讨如何通过重载操作符和控制流来提升代码效率,与 NumPy 的兼容性增强了代码的可读性。同时,介绍了广播机制的优势与潜在缺点,并展示了如何在多设备上使用 TensorFlow 2 的新 API 高效地处理和优化大型神经网络。
pennylane - 跨平台量子计算与机器学习Python库
Github开源项目自动微分量子化学量子机器学习量子计算PennyLane
PennyLane是一个跨平台的Python库,专注于量子计算、量子机器学习和量子化学。集成了PyTorch、TensorFlow、JAX和NumPy等流行框架,支持量子硬件上的机器学习。支持即时代码编译和多种量子后端,提供自动微分功能,并包括量子模拟器和优化工具,便于快速原型设计。
Enzyme - LLVM和MLIR自动微分插件
Github开源项目插件自动微分LLVMMLIREnzyme
Enzyme是一款高性能的LLVM和MLIR自动微分插件,可以通过调用__enzyme_autodiff函数对目标函数进行微分,并替换为相应的梯度值。其高效性使其在处理优化代码时能与先进的自动微分工具相媲美。用户只需几步简单命令即可安装Enzyme,安装和使用的详细信息可在官网获取。Enzyme适用于学术领域的自动微分需求,支持CUDA、OpenMP、MPI等并行计算模式,并提供Julia和Rust绑定。
awesome-jax - 自动微分与XLA在高性能机器学习中的应用
Github开源项目机器学习JAX自动微分XLA编译器加速器
该页面收录了JAX相关的优质库、项目和资源,旨在帮助机器学习研究人员在GPU和TPU等加速器上实现高性能计算。资源涵盖神经网络库、强化学习工具和概率编程等多个领域,并提供了详细的库介绍、学术论文和教程。用户可以找到如Flax、Haiku、Objax等知名库,以及新兴的FedJAX、BRAX等库,适用于机器学习和科研项目中使用JAX进行快速原型开发和高效计算。
jaxdf - JAX框架打造可微分物理模拟器
Github开源项目JAX自动微分jaxdf数值模拟偏微分方程
jaxdf是基于JAX的开源框架,用于创建可微分数值模拟器。该框架支持任意离散化,主要应用于物理系统建模,如波传播和偏微分方程求解。jaxdf生成的纯函数模型可与JAX编写的可微分程序无缝集成,适用于神经网络层或物理损失函数。框架提供自定义算子、多种离散化方法,并附有详细文档和示例。
DMFF - 革新分子模拟和力场参数化的全可微分子力场
Github开源项目机器学习自动微分参数优化DMFF分子力场
DMFF是一个基于Jax的Python包,实现全可微分子力场模型。它简化力场参数化,支持点电荷和多极化模型,适用于水、生物大分子和有机聚合物系统。DMFF集成自动微分技术和AI优化,支持GPU加速,为分子系统研究和力场开发提供高效工具。
slang - 现代GPU的高性能模块化着色语言
Github开源项目自动微分GPU编程Slang着色语言图形API
Slang是一种基于HLSL的高性能着色语言,为现代GPU和图形API优化设计。它支持模块化开发、自动微分、泛型和接口等特性,并保持与HLSL代码的兼容性。Slang能够生成多个目标平台的代码,如D3D12、Vulkan和Metal,同时提供完整的反射信息和调试功能。这使得Slang成为管理大型着色器代码库的有力工具,能够提升开发效率和代码维护性。
Endia - 面向科学计算的高性能动态数组库
Github开源项目自动微分科学计算JIT编译Endia动态数组库
Endia是一个专为科学计算设计的动态数组库,提供类似PyTorch、Numpy和JAX的功能。它支持自动微分、复数运算、双重API接口和JIT编译。Endia可进行命令式和函数式编程,计算任意阶导数,适用于高级科学应用。该项目注重代码清晰度和教育价值,致力于推动AI和科学计算领域的进步。
jax - 高性能科学计算和机器学习的Python加速库
Github开源项目神经网络JAX自动微分GPU加速XLA
JAX是一个专为高性能数值计算和大规模机器学习设计的Python库。它利用XLA编译器实现加速器导向的数组计算和程序转换,支持自动微分、GPU和TPU加速。JAX提供jit、vmap和pmap等函数转换工具,让研究人员能够方便地表达复杂算法并获得出色性能,同时保持Python的灵活性。
mlp - 多层感知器实现n-gram语言模型的开源项目
Github开源项目PyTorch神经网络自动微分自然语言模型多层感知器
该项目基于Bengio等人2003年的论文,实现了多层感知器(MLP)作为n-gram语言模型。项目提供C、NumPy和PyTorch三种实现,展示了从底层操作到高级抽象的不同层次。通过对比,突出了PyTorch在Tensor处理、自动微分和深度学习层构建方面的优势。相比传统n-gram模型,此方法以较少参数实现更低验证损失,但训练成本较高。
autodiff - 高效直观的C++17自动微分库
Github开源项目自动微分C++库autodiff导数计算表达式树
autodiff是一个C++17自动微分库,通过现代编程技术实现高效的导数计算。支持前向和反向模式,只需少量代码修改即可处理复杂函数。该库适用于机器学习、优化和科学计算领域,为开发者提供灵活的自动微分功能。
Trace - 创新AutoDiff工具助力AI系统端到端训练
Github开源项目PyTorchAI系统优化自动微分Trace
Trace是微软开发的创新AutoDiff工具,旨在实现AI系统的端到端训练。该工具通过捕获和传播执行轨迹,扩展了反向传播算法的应用范围。Trace作为Python库,支持直接编写代码并优化特定部分,类似于PyTorch的使用方式。它可处理多种反馈类型,如数值奖励、损失函数、自然语言文本和编译器错误。Trace为AI系统优化提供了灵活且强大的解决方案,适用于各种复杂的AI训练场景。
autograd - 支持Python和NumPy的高效自动微分库
Github开源项目Python自动微分NumPyAutograd梯度优化
Autograd是一个自动微分库,可对原生Python和NumPy代码进行微分。它支持反向模式和前向模式微分,能高效计算标量函数对数组参数的梯度。Autograd兼容Python的多数特性,如循环、条件语句、递归和闭包,并支持高阶导数。这个库主要应用于基于梯度的优化,在机器学习、神经网络和科学计算等领域有广泛应用。
pytorch-minimize - PyTorch多变量函数优化工具集
Github开源项目PyTorch优化自动微分最小化函数求解
pytorch-minimize是PyTorch生态系统中的多变量函数优化工具集。它集成了BFGS、共轭梯度法和牛顿法等多种算法,支持CPU和GPU运算。该库利用自动微分技术计算精确导数,无需手动提供梯度。此外,它还提供约束优化和非线性最小二乘问题的解决方案,为确定性优化任务提供自动梯度计算和GPU加速支持。
dinosaur - 全球大气建模的新工具 可微分动力学谱系核心
Github开源项目JAX自动微分Dinosaur大气建模动力核心
Dinosaur是一个基于JAX的全球大气建模谱系动力核心。它可以求解浅水方程和原始方程,支持自动微分,并针对GPU/TPU等硬件优化。项目提供了标准测试案例,如正压不稳定性和Held-Suarez强迫。Dinosaur为大气科学研究提供了高效的并行计算工具,有助于推进大气动力学研究。
keops - 大规模矩阵运算与自动微分的高效GPU加速库
Github开源项目自动微分GPU计算KeOps符号矩阵核方法
KeOps是一个开源库,专门用于高效计算大型数组的归约运算。它集成了高效C++程序和自动微分引擎,支持Python、Matlab和R等多种编程语言。KeOps尤其适合处理核矩阵向量乘积、K近邻查询和N体问题等计算,即使在核矩阵或距离矩阵超出内存容量的情况下也能高效运行。与PyTorch GPU基准相比,KeOps在多种几何应用中能实现10-100倍的性能提升,广泛应用于核方法和几何深度学习等领域。
Enzyme.jl - Julia语言下的LLVM自动微分工具Enzyme
Github开源项目高性能计算自动微分JuliaLLVMEnzyme
Enzyme.jl为LLVM自动微分工具Enzyme提供Julia语言接口。它可对静态分析的LLVM代码进行高效自动微分,性能与顶级AD工具相当。通过简洁API实现Julia函数的自动微分,适用于科学计算和机器学习。该项目处于活跃开发阶段,鼓励用户提供反馈。
tensorcircuit - 新一代量子软件框架 支持多种先进功能
Github开源项目硬件加速自动微分TensorCircuit量子软件框架即时编译
TensorCircuit是新一代量子软件框架,基于现代机器学习框架构建。它支持自动微分、即时编译、硬件加速等多项先进功能,可高效模拟量子-经典混合算法。该框架还能访问实际量子硬件,提供多种计算资源的混合部署方案,为量子计算研究和应用提供强大灵活的工具。
kotlingrad - Kotlin∇ 类型安全的JVM符号微分框架
Github开源项目自动微分Kotlin类型安全张量运算符号微分
Kotlin∇是一个为JVM平台开发的类型安全自动微分框架。它支持高维数据结构和运算符,通过类型系统确保代数约束,减少运行时错误。框架功能包括标量、向量和矩阵运算,形状安全的代数操作,以及偏微分和高阶微分。Kotlin∇还提供符号微分恢复和数值梯度检查,为开发者提供全面的微分编程工具。
textgrad - 基于文本反馈的自动'微分'优化框架
Github开源项目优化自动微分梯度下降TextGrad文本反馈
TextGrad是一个基于大语言模型文本反馈实现自动'微分'的框架。它提供简洁API用于定义损失函数和基于文本反馈的优化。该框架与PyTorch接口相似,可优化文本、代码等非结构化变量,为自然语言处理和人工智能开发提供新思路。
相关文章