awesome-jax

GitHub
2.1k 165 中等 1 次阅读 3天前CC0-1.0开发框架
AI 解读 由 AI 自动生成,仅供参考

awesome-jax 是一份精心整理的 JAX 生态资源清单,旨在帮助开发者快速探索和利用基于 JAX 的高性能机器学习工具。JAX 本身结合了自动微分与 XLA 编译器,通过类似 NumPy 的接口,让研究人员能在 GPU 和 TPU 等加速器上高效进行机器学习实验。然而,面对层出不穷的衍生库和项目,用户往往难以筛选出适合自己的工具。awesome-jax 正是为了解决这一痛点,它将分散的优质资源系统化分类,涵盖了从 Flax、Haiku、Equinox 等神经网络库,到预训练模型、技术论文、视频教程及社区讨论等全方位内容。

这份清单特别适合机器学习研究人员、算法工程师以及希望深入探索高性能计算的开发人员使用。无论是想要构建灵活的神经网络架构,还是复现前沿论文模型,都能在这里找到经过社区验证的可靠方案。其独特的技术亮点在于不仅收录了 Google 官方维护的核心库(如支持无限宽网络的 Neural Tangents),还整合了 HuggingFace Transformers 的 JAX 版本及各类视觉、语言大模型项目(如 Levanter),展现了 JAX 生态在灵活性与扩展性上的强大潜力。对于希望摆脱繁琐环境配置、直接聚焦于算法创新的用户来说,awesome-jax 是进入 JAX 世界的理想指南。

使用场景

某高校 AI 实验室的研究团队正致力于利用 TPU 集群训练大规模视觉 Transformer 模型,以探索更高效的图像识别架构。

没有 awesome-jax 时

  • 生态碎片化严重:研究人员需在 Flax、Haiku、Equinox 等多个神经网络库中盲目试错,难以判断哪个最适合当前实验需求。
  • 资源检索低效:寻找针对特定任务(如图神经网络或无限宽网络)的现成实现时,往往在 GitHub 大海捞针,浪费数天时间复造轮子。
  • 学习曲线陡峭:缺乏系统化的教程、论文和书籍指引,新手面对 JAX 独特的函数式编程范式无从下手,环境配置与调试频频受阻。
  • 前沿跟进滞后:难以及时发现社区中涌现的高性能预训练模型(如 Levanter)或最新技术博客,导致研究起点落后于业界水平。

使用 awesome-jax 后

  • 精准选型决策:通过分类清晰的库列表,团队迅速锁定适合视觉研究的 Scenic 和强调可读性的 Penzai,大幅缩短技术栈验证周期。
  • 一站式资源获取:直接利用 curated 列表找到 Jraph 用于图任务、Neural Tangents 用于理论验证,将原本数周的调研压缩至几小时。
  • 平滑上手路径:依托整理好的教程、视频和书籍资源,团队成员快速掌握 JAX 核心特性,显著降低了从 PyTorch 迁移的学习成本。
  • 同步前沿动态:实时追踪列表中收录的最新论文与开源项目,确保实验方案始终基于社区最先进的基础模型与优化技巧。

awesome-jax 充当了 JAX 生态的“导航图”,将分散的技术资源转化为可执行的生产力,让研究者能专注于算法创新而非工具搜寻。

运行环境要求

操作系统
  • Linux
  • macOS
GPU
  • 非必需,但推荐用于高性能计算
  • 支持 NVIDIA GPU (CUDA) 和 Google TPU
  • 具体型号、显存及 CUDA 版本未在文档中说明,取决于所选用的具体子库(如 Flax, Haiku 等)及任务规模
内存

未说明

依赖
notesawesome-jax 本身是一个资源列表而非单一软件包,因此没有统一的运行环境要求。实际环境需求取决于你选择使用的具体库(例如 Flax, Haiku, NumPyro 等)。JAX 核心支持通过 XLA 编译器在 CPU、GPU 和 TPU 上运行。在 macOS 上,JAX 支持 Apple Silicon (M1/M2/M3) 的 GPU 加速。建议参考具体子项目的官方文档以获取详细的 Python 版本和依赖要求。
python未说明
jax
numpy
flax
haiku
optax
chex
xla
awesome-jax hero image

快速开始

令人惊叹的 JAX AwesomeJAX Logo

JAX 将自动微分和 XLA 编译器 通过一个类似 NumPy 的 API 结合在一起,用于在 GPU 和 TPU 等加速器上进行高性能机器学习研究。

这是一个精心整理的关于 JAX 的优秀库、项目及其他资源的列表。欢迎贡献!

目录

  • 神经网络库
    • Flax - 以灵活性和清晰性为核心。
    • Flax NNX - 同一团队对 Flax 的进一步发展
    • Haiku - 专注于简洁性,由 DeepMind 的 Sonnet 团队开发。
    • Objax - 具有类似于 PyTorch 的面向对象设计。
    • Elegy - 用于 JAX 中深度学习的高级 API。支持 Flax、Haiku 和 Optax。
    • Trax - “开箱即用”的深度学习库,专注于提供常见工作负载的解决方案。
    • Jraph - 轻量级图神经网络库。
    • Neural Tangents - 用于指定有限及_无限_宽度神经网络的高级 API。
    • HuggingFace Transformers - 面向广泛自然语言处理任务的预训练 Transformer 生态系统(基于 Flax)。
    • Equinox - 可调用的 PyTree 结构与过滤后的 JIT/梯度变换 => 在 JAX 中构建神经网络。
    • Scenic - 用于计算机视觉研究及其他领域的 JAX 库。
    • Penzai - 优先考虑可读性、可视化以及使用组合工具和简单思维模型轻松编辑神经网络模型。
  • Levanter - 使用命名张量和 JAX 构建可读、可扩展、可复现的基础模型。
  • EasyLM - 让大型语言模型变得简单:在 JAX/Flax 中进行预训练、微调、评估和部署。
  • NumPyro - 基于 Pyro 库的概率编程。
  • Chex - 用于编写和测试可靠 JAX 代码的实用工具。
  • Optax - 梯度处理与优化库。
  • RLax - 用于实现强化学习智能体的库。
  • JAX, M.D. - 加速且可微分的分子动力学模拟。
  • Coax - 轻松将强化学习论文转化为代码。
  • Distrax - TensorFlow Probability 的重新实现,包含概率分布和双射变换。
  • cvxpylayers - 构建可微分的凸优化层。
  • TensorLy - 让张量学习变得简单。
  • NetKet - 用于量子物理的机器学习工具箱。
  • Fortuna - AWS 提供的用于深度学习中不确定性量化的一套库。
  • BlackJAX - 适用于 JAX 的采样器库。
  • Dynamax - 概率状态空间模型。

新兴库

本节收录了一些制作精良且实用,但尚未经过大规模用户群体考验的库。

  • 神经网络库
    • FedJAX - 基于Optax和Haiku构建的JAX联邦学习框架。
    • Equivariant MLP - 用于构建等变神经网络层。
    • jax-resnet - Flax中ResNet变体的实现与检查点。
    • jax-raft - RAFT光流估计器的JAX/Flax移植版。
    • Parallax - 适用于JAX的不可变Torch模块。
  • 非线性优化
    • Optimistix - 根求解、最小化、不动点及最小二乘法。
    • JAXopt - JAX中的硬件加速(GPU/TPU)、可批处理且可微分的优化器。
  • jax-unirep - 实现用于蛋白质机器学习应用的UniRep模型的库。
  • flowjax - 以equinox模块形式构建的概率分布与归一化流。
  • flaxdiff - 用于在多节点、多设备分布式环境中(如TPU)构建和训练扩散模型的框架与库。
  • jax-flows - JAX中的归一化流。
  • sklearn-jax-kernels - 使用JAX计算scikit-learn核矩阵。
  • jax-cosmo - 可微宇宙学库。
  • efax - JAX中的指数族。
  • mpi4jax - 将MPI操作与CPU和GPU上的Jax代码结合。
  • imax - 图像增强与变换工具。
  • FlaxVision - Flax版本的TorchVision。
  • Oryx - 基于程序变换的概率编程语言。
  • Optimal Transport Tools - 用于解决最优传输问题的工具箱。
  • delta PV - 具有自动微分功能的光伏模拟器。
  • jaxlie - 用于刚体变换与优化的李理论库。
  • BRAX - 可微物理引擎,用于模拟环境以及训练针对这些环境的智能体算法。
  • flaxmodels - Jax/Flax的预训练模型。
  • CR.Sparse - XLA加速的稀疏表示与压缩感知算法。
  • exojax - 兼容JAX的系外行星/棕矮星自动可微谱建模工具。
  • PIX - JAX中的图像处理库。
  • bayex - 基于JAX的贝叶斯优化。
  • JaxDF - 用于任意离散化的可微仿真框架。
  • tree-math - 将作用于数组的函数转换为作用于PyTree的函数。
  • jax-models - 原本无代码或使用非JAX框架编写的科研论文实现。
  • PGMax - 用于构建离散概率图模型(PGM)并在JAX上进行推理的框架。
  • EvoJAX - 硬件加速的神经进化。
  • evosax - 基于JAX的进化策略。
  • SymJAX - 符号化的CPU/GPU/TPU编程。
  • mcx - 表达并编译概率程序以实现高效推理。
  • Einshape - 基于DSL的重塑库,适用于JAX及其他框架。
  • ALX - 开源分布式矩阵分解库,采用交替最小二乘法,更多信息请参见ALX: Large Scale Matrix Factorization on TPUs
  • Diffrax - JAX中的数值微分方程求解器。
  • tinygp - JAX中最“小巧”的高斯过程库。
  • gymnax - 具有知名gym API的强化学习环境。
  • Mctx - 原生JAX中的蒙特卡洛树搜索算法。
  • KFAC-JAX - 用于神经网络的近似曲率二阶优化。
  • TF2JAX - 将函数/图转换为JAX函数。
  • jwave - 用于可微声学模拟的库。
  • GPJax - JAX中的高斯过程。
  • Jumanji - 一套由行业驱动、基于JAX编写的硬件加速RL环境。
  • Eqxvision - Equinox版本的TorchVision。
  • JAXFit - 加速曲线拟合库,用于非线性最小二乘问题(参见arXiv论文)。
  • econpizza - 使用JAX求解具有异质性主体的宏观经济模型。
  • SPU - 用于运行带有MPC(安全多方计算)的JAX代码的领域特定编译器和运行时套件。
  • jax-tqdm - 为JAX扫描和循环添加tqdm进度条。
  • safejax - 使用🤗safetensors序列化JAX、Flax、Haiku或Objax模型参数。
  • Kernex - JAX中的可微模板装饰器。
  • MaxText - 用纯Python/Jax编写、面向Google Cloud TPU的简单、高效且可扩展的Jax LLM。
  • Pax - 基于JAX的大规模模型训练机器学习框架。
  • Praxis - Pax的层库,旨在供其他基于JAX的机器学习项目使用。
  • purejaxrl - JAX中的可向量化、端到端强化学习算法。
  • Lorax - 自动将LoRA应用于JAX模型(Flax、Haiku等)。
  • SCICO - JAX中的科学计算成像。
  • Spyx - JAX中的脉冲神经网络,用于类脑硬件上的机器学习。
  • 脑动力学编程生态系统
    • BrainPy - Python中的脑动力学编程。
    • brainunit - JAX中的物理单位与单位感知数学系统。
    • dendritex - JAX中的树突建模。
    • brainstate - 基于状态的程序编译与增强系统。
    • braintaichi - 利用Taichi语言自定义脑动力学算子。
  • OTT-JAX - JAX中的最优传输工具。
  • QDax - Jax中的质量多样性优化。
  • JAX Toolbox - 每日CI及针对NVIDIA GPU上JAX的优化示例,使用T5x、Paxml和Transformer Engine等库。
  • Pgx - 向量化的棋盘游戏环境,用于强化学习,包含AlphaZero示例。
  • EasyDeL - EasyDeL 🔮 是一个开源库,旨在通过酷炫的训练与服务选项(如Llama、MPT、Mixtral、Falcon等)使您的训练更快、更优化。
  • XLB - 用Python编写的可微大规模并行格子玻尔兹曼库,用于基于物理的机器学习。
  • dynamiqs - 使用JAX进行高性能且可微的量子系统模拟。
  • foragax - 基于JAX的代理建模框架。
  • tmmax - 使用JAX对薄膜结构光学性质进行向量化计算。是薄膜光学研究的瑞士军刀式工具。
  • Coreax - 用于寻找核集以压缩大型数据集同时保留其统计特性的小型算法库。
  • NAVIX - 在JAX中重新实现的MiniGrid强化学习环境。
  • FDTDX - JAX中的有限差分时域电磁仿真。
  • DiffeRT - 基于JAX生态系统的可微射线追踪工具箱,用于无线电传播。
  • JAX-in-Cell - 等离子体物理模拟,采用PIC(粒子在细胞)方法自洽地求解电磁场中的电子和离子动力学。
  • kvax - JAX中的FlashAttention实现,支持高效的文档掩码计算和上下文并行性。
  • astronomix - JAX中的天体物理学可微(磁流体)动力学。
  • vivsim - 使用浸入边界-格子玻尔兹曼方法进行流固耦合模拟。
  • MBIRJAX - 高性能断层扫描重建。
  • torchax - torchax是一个用于Jax与PyTorch编写模型代码互操作的库。

模型与项目

JAX

Flax

Haiku

Trax

  • Reformer - Reformer(高效 Transformer)架构的实现。

NumPyro

Equinox

视频

论文

本节包含专注于 JAX 的论文(例如基于 JAX 的库白皮书、关于 JAX 的研究等)。使用 JAX 实现的论文列在 模型/项目 部分中。

教程和博客文章

书籍

  • JAX 实战 - 一本关于如何使用 JAX 进行深度学习和其他数学密集型应用的实践指南。

社区

贡献

欢迎贡献!请先阅读贡献指南

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|2周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

160.4k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

109.2k|★★☆☆☆|昨天
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架