[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-google-deepmind--optax":3,"tool-google-deepmind--optax":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":79,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":91,"forks":92,"last_commit_at":93,"license":94,"difficulty_score":95,"env_os":96,"env_gpu":96,"env_ram":96,"env_deps":97,"category_tags":101,"github_topics":102,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":105,"updated_at":106,"faqs":107,"releases":136},4051,"google-deepmind\u002Foptax","optax","Optax is a gradient processing and optimization library for JAX.","Optax 是专为 JAX 框架打造的梯度处理与优化库，旨在为深度学习研究提供灵活、高效的构建模块。它解决了传统优化库在自定义组合上的局限性，让研究人员能够像搭积木一样，轻松将基础的梯度变换组件重组，快速构建出符合特定实验需求的定制优化器。\n\n这款工具特别适合使用 JAX 进行算法探索的研究人员、需要实现前沿优化策略的开发者，以及希望深入理解模型训练底层机制的技术人员。Optax 的核心理念在于“可组合性”，它不追求庞大的抽象封装，而是提供大量经过严格测试、代码清晰且高效的基础组件（如各类优化器、损失函数及梯度裁剪等）。这种设计不仅让代码逻辑更贴近标准数学公式，便于阅读和验证，还极大地降低了尝试新想法的门槛。从早期的实验性项目演进至今，Optax 已成为 DeepMind 内部广泛采用的标准库，并开源服务于全球社区，帮助用户以更低的成本加速从理论构思到代码实现的进程。","# Optax\n\n![CI status](https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Factions\u002Fworkflows\u002Ftests.yml\u002Fbadge.svg?branch=main)\n[![Documentation Status](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_optax_readme_13d664e1afd7.png)](http:\u002F\u002Foptax.readthedocs.io)\n![pypi](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Foptax)\n\n## Introduction\n\nOptax is a gradient processing and optimization library for JAX.\n\nOptax is designed to facilitate research by providing building blocks\nthat can be easily recombined in custom ways.\n\nOur goals are to\n\n*   Provide simple, well-tested, efficient implementations of core components.\n*   Improve research productivity by enabling to easily combine low-level\n    ingredients into custom optimizers (or other gradient processing components).\n*   Accelerate adoption of new ideas by making it easy for anyone to contribute.\n\nWe favor focusing on small composable building blocks that can be effectively\ncombined into custom solutions. Others may build upon these basic components\nin more complicated abstractions. Whenever reasonable, implementations prioritize\nreadability and structuring code to match standard equations, over code reuse.\n\nAn initial prototype of this library was made available in JAX's experimental\nfolder as `jax.experimental.optix`. Given the wide adoption across DeepMind\nof `optix`, and after a few iterations on the API, `optix` was eventually moved\nout of `experimental` as a standalone open-source library, and renamed `optax`.\n\nDocumentation on Optax can be found at [optax.readthedocs.io](https:\u002F\u002Foptax.readthedocs.io\u002F).\n\n## Installation\n\nYou can install the latest released version of Optax from PyPI via:\n\n```sh\npip install optax\n```\n\nor you can install the latest development version from GitHub:\n\n```sh\npip install git+https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax.git\n```\n\n## Quickstart\n\nOptax contains implementations of [many popular optimizers](https:\u002F\u002Foptax.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Foptimizers.html) and\n[loss functions](https:\u002F\u002Foptax.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Flosses.html).\nFor example, the following code snippet uses the Adam optimizer from `optax.adam`\nand the mean squared error from `optax.l2_loss`. We initialize the optimizer\nstate using the `init` function and `params` of the model.\n\n```python\noptimizer = optax.adam(learning_rate)\n# Obtain the `opt_state` that contains statistics for the optimizer.\nparams = {'w': jnp.ones((num_weights,))}\nopt_state = optimizer.init(params)\n```\n\nTo write the update loop we need a loss function that can be differentiated by\nJax (with `jax.grad` in this\nexample) to obtain the gradients.\n\n```python\ncompute_loss = lambda params, x, y: optax.l2_loss(params['w'].dot(x), y)\ngrads = jax.grad(compute_loss)(params, xs, ys)\n```\n\nThe gradients are then converted via `optimizer.update` to obtain the updates\nthat should be applied to the current parameters to obtain the new ones.\n`optax.apply_updates` is a convenience utility to do this.\n\n```python\nupdates, opt_state = optimizer.update(grads, opt_state)\nparams = optax.apply_updates(params, updates)\n```\n\nYou can continue the quick start in [the Optax 🚀 Getting started notebook.](https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fblob\u002Fmain\u002Fdocs\u002Fgetting_started.ipynb)\n\n## Development\n\nWe welcome issues reports and pull requests solving issues or improving\nexisting functionalities. If you are interested in adding a feature like a new\noptimizer, **open an issue first**! We are focused on making optax more\nflexible, versatile and easy to use for you to define your own optimizers.\n\n### Source code\n\nYou can check the latest sources with the following command.\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax.git\n```\n### Testing\n\nTo run the tests, please execute the following script.\n\n```sh\nsh test.sh\n```\n\n### Documentation\n\nTo build the documentation, first ensure that all the dependencies are installed.\n```sh\npip install -e \".[docs]\"\n```\nThen, execute the following.\n```sh\ncd docs\nmake html\n```\n\n### Benchmarking\n\nSome benchmarks\n\n- [Benchmarking Neural Network Training Algorithms, Dahl G. et al, 2023](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2306.07179),\n\n- [Descending through a Crowded Valley — Benchmarking Deep Learning Optimizers, Schmidt R. et al, 2021](https:\u002F\u002Fproceedings.mlr.press\u002Fv139\u002Fschmidt21a).\n\nMaking your own benchmark\n\n- [Benchopt: Reproducible, efficient and collaborative optimization benchmarks, Moreau T. et al, 2022](https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.13424).\n\nOptimizer tuning handbook\n\n- [Deep Learning Tuning Playbook, Godbole V. et al, 2023](https:\u002F\u002Fgithub.com\u002Fgoogle-research\u002Ftuning_playbook).\n\n### Other optimization-adjacent libraries in JAX\n\n- [optimistix](https:\u002F\u002Fgithub.com\u002Fpatrick-kidger\u002Foptimistix): nonlinear solvers: root finding, minimisation, fixed points, and least squares.\n\n- [matfree](https:\u002F\u002Fgithub.com\u002Fpnkraemer\u002Fmatfree):\nmatrix free methods useful to study curvature dynamics in deep learning.\n\n## Citing Optax\n\nThis repository is part of the DeepMind JAX Ecosystem, to cite Optax\nplease use the citation:\n\n```bibtex\n@software{deepmind2020jax,\n  title = {The {D}eep{M}ind {JAX} {E}cosystem},\n  author = {DeepMind and Babuschkin, Igor and Baumli, Kate and Bell, Alison and Bhupatiraju, Surya and Bruce, Jake and Buchlovsky, Peter and Budden, David and Cai, Trevor and Clark, Aidan and Danihelka, Ivo and Dedieu, Antoine and Fantacci, Claudio and Godwin, Jonathan and Jones, Chris and Hemsley, Ross and Hennigan, Tom and Hessel, Matteo and Hou, Shaobo and Kapturowski, Steven and Keck, Thomas and Kemaev, Iurii and King, Michael and Kunesch, Markus and Martens, Lena and Merzic, Hamza and Mikulik, Vladimir and Norman, Tamara and Papamakarios, George and Quan, John and Ring, Roman and Ruiz, Francisco and Sanchez, Alvaro and Sartran, Laurent and Schneider, Rosalia and Sezener, Eren and Spencer, Stephen and Srinivasan, Srivatsan and Stanojevi\\'{c}, Milo\\v{s} and Stokowiec, Wojciech and Wang, Luyu and Zhou, Guangyao and Viola, Fabio},\n  url = {http:\u002F\u002Fgithub.com\u002Fgoogle-deepmind},\n  year = {2020},\n}\n```\n","# Optax\n\n![CI 状态](https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Factions\u002Fworkflows\u002Ftests.yml\u002Fbadge.svg?branch=main)\n[![文档状态](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_optax_readme_13d664e1afd7.png)](http:\u002F\u002Foptax.readthedocs.io)\n![pypi](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Foptax)\n\n## 简介\n\nOptax 是一个用于 JAX 的梯度处理与优化库。\n\nOptax 旨在通过提供可灵活组合的构建模块来促进研究工作。\n\n我们的目标是：\n\n* 提供简单、经过充分测试且高效的底层组件实现。\n* 通过允许用户轻松地将低层次的组件组合成自定义优化器（或其他梯度处理组件），提高研究效率。\n* 通过使任何人都能轻松贡献，加速新想法的采用。\n\n我们倾向于专注于小型、可组合的构建模块，这些模块可以有效地组合成自定义解决方案。其他开发者也可以在这些基础组件之上构建更复杂的抽象。在合理的情况下，实现会优先考虑代码的可读性以及与标准公式一致的结构化设计，而非代码复用。\n\n该库的初始原型曾以 `jax.experimental.optix` 的形式发布在 JAX 的实验性目录中。鉴于 `optix` 在 DeepMind 内部得到了广泛应用，并且经过多次 API 迭代后，`optix` 最终被移出 `experimental` 目录，成为独立的开源库，并更名为 `optax`。\n\nOptax 的文档可以在 [optax.readthedocs.io](https:\u002F\u002Foptax.readthedocs.io\u002F) 上找到。\n\n## 安装\n\n您可以从 PyPI 安装最新发布的 Optax 版本：\n\n```sh\npip install optax\n```\n\n或者，您也可以从 GitHub 安装最新的开发版本：\n\n```sh\npip install git+https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax.git\n```\n\n## 快速入门\n\nOptax 包含了[许多流行的优化器](https:\u002F\u002Foptax.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Foptimizers.html)和[损失函数](https:\u002F\u002Foptax.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Flosses.html)的实现。例如，以下代码片段使用了 `optax.adam` 中的 Adam 优化器以及 `optax.l2_loss` 中的均方误差损失。我们使用模型的参数 `params` 和 `init` 函数来初始化优化器的状态。\n\n```python\noptimizer = optax.adam(learning_rate)\n# 获取包含优化器统计信息的 `opt_state`。\nparams = {'w': jnp.ones((num_weights,))}\nopt_state = optimizer.init(params)\n```\n\n为了编写更新循环，我们需要一个可以被 Jax 求导的损失函数（在此示例中使用 `jax.grad`）来获取梯度。\n\n```python\ncompute_loss = lambda params, x, y: optax.l2_loss(params['w'].dot(x), y)\ngrads = jax.grad(compute_loss)(params, xs, ys)\n```\n\n然后，通过 `optimizer.update` 将梯度转换为应应用于当前参数以获得新参数的更新值。`optax.apply_updates` 是一个方便的工具函数，用于执行此操作。\n\n```python\nupdates, opt_state = optimizer.update(grads, opt_state)\nparams = optax.apply_updates(params, updates)\n```\n\n您可以在 [Optax 🚀 入门笔记本](https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fblob\u002Fmain\u002Fdocs\u002Fgetting_started.ipynb) 中继续快速入门。\n\n## 开发\n\n我们欢迎报告问题和解决现有问题或改进功能的拉取请求。如果您有兴趣添加新功能（如新的优化器），请**先打开一个问题**！我们致力于使 Optax 更加灵活、通用且易于使用，以便您能够定义自己的优化器。\n\n### 源代码\n\n您可以通过以下命令查看最新源代码：\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax.git\n```\n\n### 测试\n\n要运行测试，请执行以下脚本：\n\n```sh\nsh test.sh\n```\n\n### 文档\n\n要构建文档，请先确保所有依赖项已安装：\n\n```sh\npip install -e \".[docs]\"\n```\n\n然后执行以下命令：\n\n```sh\ncd docs\nmake html\n```\n\n### 基准测试\n\n一些基准测试：\n\n- [神经网络训练算法的基准测试，Dahl G. 等，2023 年](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2306.07179),\n- [穿越拥挤的山谷——深度学习优化器的基准测试，Schmidt R. 等，2021 年](https:\u002F\u002Fproceedings.mlr.press\u002Fv139\u002Fschmidt21a).\n\n创建您自己的基准测试：\n\n- [Benchopt：可重复、高效且协作式的优化基准测试，Moreau T. 等，2022 年](https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.13424)。\n\n优化器调优手册：\n\n- [深度学习调优指南，Godbole V. 等，2023 年](https:\u002F\u002Fgithub.com\u002Fgoogle-research\u002Ftuning_playbook)。\n\n### JAX 中其他与优化相关的库\n\n- [optimistix](https:\u002F\u002Fgithub.com\u002Fpatrick-kidger\u002Foptimistix)：非线性求解器，包括根查找、最小化、不动点和最小二乘法。\n- [matfree](https:\u002F\u002Fgithub.com\u002Fpnkraemer\u002Fmatfree)：无矩阵方法，可用于研究深度学习中的曲率动力学。\n\n## 引用 Optax\n\n本仓库是 DeepMind JAX 生态系统的一部分，引用 Optax 时请使用以下参考文献：\n\n```bibtex\n@software{deepmind2020jax,\n  title = {The {D}eep{M}ind {JAX} {E}cosystem},\n  author = {DeepMind and Babuschkin, Igor and Baumli, Kate and Bell, Alison and Bhupatiraju, Surya and Bruce, Jake and Buchlovsky, Peter and Budden, David and Cai, Trevor and Clark, Aidan and Danihelka, Ivo and Dedieu, Antoine and Fantacci, Claudio and Godwin, Jonathan and Jones, Chris and Hemsley, Ross and Hennigan, Tom and Hessel, Matteo and Hou, Shaobo and Kapturowski, Steven and Keck, Thomas and Kemaev, Iurii and King, Michael and Kunesch, Markus and Martens, Lena and Merzic, Hamza and Mikulik, Vladimir and Norman, Tamara and Papamakarios, George and Quan, John and Ring, Roman and Ruiz, Francisco and Sanchez, Alvaro and Sartran, Laurent and Schneider, Rosalia and Sezener, Eren and Spencer, Stephen and Srinivasan, Srivatsan and Stanojevi\\'{c}, Milo\\v{s} and Stokowiec, Wojciech and Wang, Luyu and Zhou, Guangyao and Viola, Fabio},\n  url = {http:\u002F\u002Fgithub.com\u002Fgoogle-deepmind},\n  year = {2020},\n}\n```","# Optax 快速上手指南\n\nOptax 是一个专为 JAX 设计的梯度处理和优化库。它提供了一系列可组合的基础构建块，帮助开发者轻松构建自定义优化器或梯度处理组件，广泛应用于深度学习研究中。\n\n## 环境准备\n\n在使用 Optax 之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux、macOS 或 Windows（推荐 Linux 环境以获得最佳性能）。\n*   **Python 版本**：建议 Python 3.9 或更高版本。\n*   **核心依赖**：\n    *   [JAX](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fjax)：Optax 强依赖于 JAX 进行自动微分和数组操作。\n    *   [NumPy](https:\u002F\u002Fnumpy.org\u002F) \u002F [JAX NumPy](https:\u002F\u002Fjax.readthedocs.io\u002Fen\u002Flatest\u002Fjax.numpy.html)。\n*   **硬件加速（可选但推荐）**：如需使用 GPU 或 TPU 加速，请预先安装对应版本的 `jaxlib`（例如 `pip install \"jax[cuda]\"`）。\n\n## 安装步骤\n\n您可以通过 PyPI 安装最新稳定版，或从 GitHub 安装最新开发版。\n\n### 方式一：安装稳定版（推荐）\n\n```sh\npip install optax\n```\n\n> **国内加速提示**：如果您在中国大陆地区，建议使用国内镜像源以加快下载速度：\n> ```sh\n> pip install optax -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n### 方式二：安装开发版\n\n如果您需要体验最新功能或参与贡献：\n\n```sh\npip install git+https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax.git\n```\n\n## 基本使用\n\nOptax 的使用流程通常分为三步：**初始化优化器** -> **计算梯度** -> **更新参数**。\n\n以下是一个使用 Adam 优化器和均方误差损失函数的最小化示例：\n\n```python\nimport jax\nimport jax.numpy as jnp\nimport optax\n\n# 1. 初始化优化器\n# 定义学习率并创建 Adam 优化器实例\nlearning_rate = 0.001\noptimizer = optax.adam(learning_rate)\n\n# 模拟模型参数 (例如权重 w)\nparams = {'w': jnp.ones((10,))}\n\n# 初始化优化器状态 (包含动量等统计信息)\nopt_state = optimizer.init(params)\n\n# 2. 定义损失函数并计算梯度\n# 定义一个简单的损失函数：均方误差 (L2 Loss)\ncompute_loss = lambda params, x, y: optax.l2_loss(jnp.dot(params['w'], x), y)\n\n# 模拟输入数据 (x) 和目标值 (y)\nxs = jnp.ones((10,))\nys = jnp.array([1.0])\n\n# 使用 jax.grad 计算梯度\ngrads = jax.grad(compute_loss)(params, xs, ys)\n\n# 3. 更新参数\n# 根据梯度和当前状态计算更新量\nupdates, opt_state = optimizer.update(grads, opt_state)\n\n# 应用更新量到参数上，得到新参数\nparams = optax.apply_updates(params, updates)\n\nprint(\"参数更新完成，新参数:\", params)\n```\n\n更多高级用法（如梯度裁剪、学习率调度、多优化器组合等）请参考 [Optax 官方文档](https:\u002F\u002Foptax.readthedocs.io\u002F) 或查看官方的 [Getting Started Notebook](https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fblob\u002Fmain\u002Fdocs\u002Fgetting_started.ipynb)。","某自动驾驶初创公司的算法团队正在基于 JAX 重构其感知模型的训练管道，急需在有限算力下快速验证多种新型优化策略以提升收敛速度。\n\n### 没有 optax 时\n- **重复造轮子效率低**：每次尝试新的优化器（如 AdamW 或 Lion），工程师都需要手动重写梯度更新逻辑和状态管理代码，耗时且易出错。\n- **组合实验困难**：想要实现“梯度裁剪 + 学习率预热 + 动量优化”的复合策略时，需层层嵌套自定义函数，代码可读性极差，难以调试。\n- **维护成本高昂**：由于缺乏统一标准，不同成员编写的优化模块接口不一致，导致模型迭代时频繁出现维度不匹配或状态初始化错误。\n- **复现前沿论文慢**：面对最新论文提出的复杂梯度处理技巧，团队往往需要数周时间才能将其转化为可运行的 JAX 代码，严重拖慢研发节奏。\n\n### 使用 optax 后\n- **即插即用高效开发**：直接调用 `optax.adamw` 或 `optax.lion` 等内置实现，无需关心底层数学推导，几分钟内即可切换不同优化器进行对比实验。\n- **灵活组装自定义策略**：利用 `optax.chain` 像搭积木一样轻松组合梯度裁剪、学习率调度器和优化器，代码简洁清晰，完美复现复杂训练逻辑。\n- **标准化接口降低故障**：所有优化组件遵循统一的初始化和更新接口，彻底消除了状态管理混乱问题，让团队协作更加顺畅。\n- **快速跟进学术前沿**：借助丰富的基础构建块，团队能迅速将论文中的新颖梯度处理思想转化为实际代码，显著加速了模型性能的提升。\n\noptax 通过提供模块化、可组合的梯度处理原语，将研究人员从繁琐的底层实现中解放出来，使其能专注于核心算法创新。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_optax_34f84af7.png","google-deepmind","Google DeepMind","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fgoogle-deepmind_06b1dd17.png","",null,"https:\u002F\u002Fwww.deepmind.com\u002F","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind",[83,87],{"name":84,"color":85,"percentage":86},"Python","#3572A5",99.8,{"name":88,"color":89,"percentage":90},"Shell","#89e051",0.2,2229,322,"2026-04-03T19:12:20","Apache-2.0",1,"未说明",{"notes":98,"python":96,"dependencies":99},"Optax 是专为 JAX 设计的梯度处理和优化库。README 中未明确列出具体的操作系统、GPU、内存或 Python 版本要求，这些通常取决于底层 JAX 框架的环境需求。安装可通过 PyPI 或 GitHub 源码进行。",[100],"jax",[13],[103,104],"machine-learning","optimization","2026-03-27T02:49:30.150509","2026-04-06T09:03:54.243346",[108,113,118,123,128,132],{"id":109,"question_zh":110,"answer_zh":111,"source_url":112},18441,"为什么在 Optax 中更改学习率等超参数会导致 JAX 函数不必要的重新编译？","这是因为当前的 Optax 实现使用闭包（closures）来捕获超参数值。在 JAX 中，不同的闭包对象哈希值不同，导致即使逻辑相同，JAX 也会认为它们是新的配置从而触发重新编译。目前的官方版本尚未完全解决此设计问题。作为替代方案，有社区成员建议使用 `tjax` 库中的梯度变换模块，它将所有元参数作为普通的动态值处理，从而避免了闭包带来的重新编译问题并支持对元参数求导。","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fissues\u002F197",{"id":114,"question_zh":115,"answer_zh":116,"source_url":117},18442,"如何在 Optax 中实现对元参数（如学习率）的梯度计算（Meta-Gradients）？","Optax 的许多构建块（如 `scale_by_adam` 中的 `eps_root` 参数或 `clip_by_norm` 的实现）都经过精心设计以支持反向传播通过更新步骤。要实现全局学习率的元学习，可以将优化器链式组合。例如：\n```python\noptim = optax.chain(optax.clip_by_global_norm(10.), optax.scale_by_adam())\nmeta_optim = optax.chain(optax.clip_by_global_norm(0.1), optax.scale_by_adam())\n```\n通过这种方式，可以利用固定点定理计算损失相对于元参数的梯度。如果遇到闭包导致的追踪问题，可参考社区方案使用将元参数作为动态值处理的替代实现。","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fissues\u002F1",{"id":119,"question_zh":120,"answer_zh":121,"source_url":122},18443,"当 logits 包含负无穷（-inf）且对应标签为 0 时，`softmax_cross_entropy` 为什么会返回 NaN？","这是一个已知的数值稳定性问题。原则上，当标签为 0 时，无论 logit 是多少，该项对损失的贡献都应为 0（即 0 * log(y) = 0）。但在某些实现中，直接计算 `labels * log_softmax(logits)` 会在 logit 为 -inf 时产生 `0 * -inf`，从而导致 NaN。\n解决方案是使用 `jnp.where` 显式处理这种情况，或者使用 `jax.scipy.special.xlogy` 函数，它能正确处理 `x=0` 时的情况。推荐的修复逻辑如下：\n```python\nlog_probs = nn.log_softmax(logits, axis=axis)\nforce_zero = (labels == 0) & jnp.isneginf(log_probs)\nx = jnp.where(force_zero, 0, labels * log_probs)\nreturn -x.sum(axis=axis)\n```\n这确保了在标签为 0 且概率为 0 时，梯度计算也是稳定的。","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fissues\u002F896",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},18444,"使用 `optax.losses.sigmoid_focal_loss` 时，为什么在 `gamma=0` 且 `alpha=None` 时会出现 NaN 不稳定？","当 `gamma=0` 且 `alpha=None` 时，Focal Loss 理论上应等价于标准的 Sigmoid 二元交叉熵。出现 NaN 通常是因为数值计算中 `(1 - p_t)` 接近 0 时产生的精度问题。虽然 `gamma > 0` 时模型训练正常，但在 `gamma=0` 的边界情况下需要更稳健的实现。\n建议的解决方案是确保实现中正确处理了 `p_t` 接近 1 的情况，避免直接对极小值取对数而不加保护。测试时应特别关注标签和 logits 的组合，使得 `(1-p_t)` 接近 0 的情况，并验证此时的一阶和二阶梯度是否正确。如果可能，检查是否可以通过数值裁剪（clamping）或使用更稳定的数学等价形式来解决。","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fissues\u002F1267",{"id":129,"question_zh":130,"answer_zh":131,"source_url":117},18445,"Optax 中的优化器状态在改变超参数时是否会被视为不同的状态导致重新编译？","是的，如果使用默认的闭包方式创建优化器（例如多次调用 `optax.scale(1e-3)`），每次调用都会生成不同的对象实例。由于这些对象哈希值不同，当它们被传递给 `jit` 编译的函数时，JAX 会将其视为不同的配置并触发重新编译，即使超参数值相同。这不仅影响性能，也阻碍了对超参数进行微分。目前建议关注项目后续是否迁移到基于 dataclass 的实现，或暂时使用将超参数作为动态输入传递的变通方法。",{"id":133,"question_zh":134,"answer_zh":135,"source_url":122},18446,"在强化学习的动作掩码（action masking）场景中，如何处理 logits 为负无穷时的交叉熵损失？","在动作掩码场景中，无效动作的 logits 常设为负无穷。如果对应的标签为 0，标准的交叉熵实现可能会因为 `0 * log(0)` 或 `0 * -inf` 而产生 NaN。\n正确的处理方式是确保当标签为 0 时，无论 logit 值如何（即使是 -inf），该位置的损失贡献都被强制为 0。可以使用 `jnp.where(labels == 0, 0, labels * log_probs)` 这样的逻辑，或者利用 `jax.scipy.special.xlogy` 函数，它在第一个参数为 0 时会自动返回 0，从而安全地处理负无穷 logit 的情况。",[137,142,147,152,157,162,167,172,177,182,187,192,197,202,207,212,217,222,227,232],{"id":138,"version":139,"summary_zh":140,"released_at":141},108975,"v0.2.8","## 变更内容\n* 继 JAX 0.9.2 发布之后，`jax_pmap_shmap_merge` 配置标志已被移除，因此 `jax.pmap` 的实现现在始终基于 `jax.jit` 和 `jax.shard_map`，不再支持选择旧的 `jax.pmap` 行为。Optax 曾经选择使用旧行为，以便用户有时间进行迁移；但从 Optax 0.2.8 开始，这一选项已不再受支持。此更改通常不会影响大多数用户，但如果您因此遇到错误或性能下降，可以按照 JAX 的 [迁移指南](https:\u002F\u002Fdocs.jax.dev\u002Fen\u002Flatest\u002Fmigrate_pmap.html) 更新代码（或者继续使用 JAX 0.9.2 或更早版本，并设置 `jax.config.update(\"jax_pmap_shmap_merge\", False)`）。\n* 在 MultiStep 变换中显式指定梯度累加器的数据类型。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1605 中提出。\n* 功能：向 muon 添加预处理和系数预设。由 @massena-t 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1602 中提出。\n* 为 Newton–Schulz 迭代器提供向后兼容性导出。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1608 中提出。\n* 移除 `Adversarial training` 示例中的 TensorFlow 依赖。由 @rajasekharporeddy 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1609 中提出。\n* 改进 lookahead 的文档字符串，添加示例和使用说明。由 @rdyro 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1619 中提出。\n* 确保 `inject_hyperparams` 使用从参数中推断出的数据类型……由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1615 中提出。\n* 针对微批次训练的内存优化。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1623 中提出。\n* 移除 TensorFlow 依赖，并将 mlp_mnist 迁移到 Flax NNX。由 @selamw1 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1536 中提出。\n* 允许 inject 将参数中发现的最高数据类型用作参数的默认数据类型。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1628 中提出。\n* 支持为 AdEMAmix 调度 alpha 参数。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1630 中提出。\n* [JAX] 在修正 jax.typing.ArrayLike 的定义后，抑制 pytype 检测到的类型错误。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1629 中提出。\n* [JAX] 在修正 jax.typing.ArrayLike 的定义后，抑制 pytype 检测到的类型错误。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1633 中提出。\n\n## 新贡献者\n* @massena-t 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1602 中做出了首次贡献。\n* @selamw1 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1536 中做出了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fcompare\u002Fv0.2.7...v0.2.8","2026-03-20T23:29:14",{"id":143,"version":144,"summary_zh":145,"released_at":146},108976,"v0.2.7","## 变更内容\n* 将 Optax 版本更新至 0.2.7.dev，由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1420 中完成。\n* 修复 doctest，由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1424 中完成。\n* 修复在第一个分割点为 0 时的分段插值问题，由 @rdyro 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1425 中完成。\n* 在所有别名优化器中将权重衰减作为调度选项公开。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1427 中完成。\n* 跳过从复数到浮点数强制转换的无调度测试。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1428 中完成。\n* 向 Optax 变换添加 `monitor` 和 `measure_with_ema`。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1430 中完成。\n* 为 muon 更新添加一致的 RMS 缩放，由 @shuningjin 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1435 中完成。\n* 将 microbatch 变换添加到 optax\u002Fexperimental 模块中。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1434 中完成。\n* 在 optax 中添加实验性聚合器。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1436 中完成。\n* 向 optax\u002F__init__.py 添加缺失的导出项。由 @carlosgmartin 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1433 中完成。\n* 在文档中添加 microbatch 相关内容，由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1443 中完成。\n* 向 optax 添加若干与分片相关的测试。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1450 中完成。\n* 允许在 jax 尚未初始化之前实例化优化器。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1454 中完成。\n* 添加梯度方差跟踪功能。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1451 中完成。\n* 解决 optax 中剩余的分片测试失败问题。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1457 中完成。\n* 为 microbatch 添加可选的 `in_axes` 和 `argnames` 关键字参数，以便与 jax.vmap 自然组合。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1442 中完成。\n* 如果以 jax.Array 的形式传递，则尊重 inject_hyperparams 的数据类型。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1460 中完成。\n* 更新 reshape_batch_axis，使其在显式分片模式下包含分片信息。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1459 中完成。\n* 修复 L-BFGS 调试信息部分中的拼写错误，由 @partev 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1465 中完成。\n* 弃用二阶工具函数。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1466 中完成。\n* 弃用 optax.global_norm，转而使用 optax.tree.norm。由 @carlosgmartin 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1368 中完成。\n* 添加 signum 优化器，由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1463 中完成。\n* 使用内部的 `warn_deprecated_function` 替代 Chex 版本。由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.c","2026-02-05T20:48:40",{"id":148,"version":149,"summary_zh":150,"released_at":151},108977,"v0.2.6","## 变更内容\n* 由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1329 中修复了 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fissues\u002F1328 的问题\n* 由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1330 中使 Jupyter Notebook 中的 pip 输出静默化\n* 由 @rdyro 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1333 中清理了冻结相关的文档测试\n* 由 @rajasekharporeddy 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1331 中修复了文档中“transformations api page”里 `Freezing` 渲染的问题\n* 由 @rajasekharporeddy 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1334 中移除了 `freezing` 文档中对 `optax.transforms` 的引用\n* 由 @rdyro 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1336 中修复了 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fissues\u002F1335 的问题\n* 由 @carlosgmartin 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1325 中为 make_perturbed_fun 的文档字符串添加了 Salimans et al. 2017 年的引用\n* 由 @carlosgmartin 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1321 中添加了树形结构的工具函数\n* 由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1343 中添加了测试，以验证 cross_entropy_losses 是否接受 per-logit 掩码\n* 由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1350 中移除了对 chex.dataclass 的依赖，因为该特性在最新版 JAX 中已不再支持\n* 由 @rdyro 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1347 中将 E501（行过长）检查规则添加到 optax 源代码中\n* 由 @carlosgmartin 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1354 中使用新的 tree.size 函数简化了代码\n* 由 @aymuos15 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1340 中实现了针对高维张量的自适应梯度裁剪功能\n* 由 @rdyro 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1359 中扩展了 fromage 优化器，使其支持学习率调度\n* 由 @rdyro 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1360 中配置 ruff 工具以检查行长度是否不超过 80 个字符\n* 由 @carlosgmartin 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1352 中添加了函数 tree_allclose\n* 由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1361 中修复了因行过长导致的 CI 失败问题\n* 由 @leochlon 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1346 中修复了 sigmoid_focal_loss 在极端 logits 情况下出现梯度 NaN 的问题\n* 由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1367 中进行了内部变更\n* 由 @carlosgmartin 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1292 中清理并修复了 DoG 实现及文档中的错误\n* 由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1370 中对库进行了精简\n* 由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1381 中重新调整了文档中 optimistic_adam 接口的相关内容\n* 由 @copybara-service[bot] 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1382 中进行了少量文档修正\n* 由 @carlosgmartin 在 https:\u002F\u002Fgithub.co 中为 utilities.rst 添加了 tree_cast_like 的缺失条目","2025-09-15T22:40:32",{"id":153,"version":154,"summary_zh":155,"released_at":156},108978,"v0.2.5","## 变更内容\n* 扩展线性指派问题示例库条目，加入最优传输示例。由 @carlosgmartin 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1143 中完成。\n* 在 flatname 命名空间中，从子包而非 _src 导入。由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1147 中完成。\n* 修复 `optax.partition` 的文档。由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1150 中完成。\n* 修复 L-BFGS 对复数的支持。由 @gautierronan 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1142 中完成。\n* 添加 sophia-h 优化器。由 @evanatyourservice 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F979 中完成。\n* 在文档中公开 named_chain。由 @rdyro 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1153 中完成。\n* 拆分 GitHub 工作流以降低延迟，并添加 ruff。由 @rdyro 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1156 中完成。\n* 移除长期废弃的函数。由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1149 中完成。\n* 修复 docstring 中的拼写错误。由 @KhawajaAbaid 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1157 中完成。\n* 修改 test.sh 和 pyproject.toml 文件。由 @carlosgmartin 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1110 中完成。\n* 进行轻微的语法修正。由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1158 中完成。\n* 将 Muon 优化器添加到 `contrib` 模块。由 @leloykun 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1126 中完成。\n* 修复 softmax_cross_entropy_with_integer_labels 中 axis 应为 int 或 None 的问题。由 @rdyro 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1164 中完成。\n* [三元组间隔损失] 问题 1118。由 @cvnad1 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1120 中完成。\n* 修复 Muon 的实现。由 @leloykun 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1170 中完成。\n* 移除 `scalar_type_of` — random.key 会导致其失效。由 @rdyro 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1169 中完成。\n* 更新 optax，使其使用 jax.random.key 替代 PRNGKey。由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1172 中完成。\n* CI：针对 nightly JAX 进行测试。由 @jakevdp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1173 中完成。\n* 修复 optax 的文档测试。由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1176 中完成。\n* 进行小幅改动，使回溯法的初始化和更新返回相同的状态类型。由 @bafflingbits 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1175 中完成。\n* 修补 transforms:trace 问题，该问题源于 JAX tree_map 的弃用。由 @mustass 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1181 中完成。\n* 将 AdeMAMix 优化器添加到 `contrib` 模块。由 @mathDR 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1104 中完成。\n* 对文档进行修复，并为构建文档的 CI 流程做准备。由 @rdyro 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1184 中完成。\n* 添加匈牙利算法的改进版本。由 @carlosgmartin 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1140 中完成。\n* 为 polyak_sgd 添加 'plus' 选项。由 @carlosgmartin 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1180 中完成。\n* 添加 optax.tree_utils.tree_batch_shape。由 @carlosgmartin 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1161 中完成。\n* 移","2025-06-10T16:59:58",{"id":158,"version":159,"summary_zh":160,"released_at":161},108979,"v0.2.4","## 变更内容\n* 0.2.4 版本开发启动，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1003 中完成\n* 修复图库显示问题，并添加图片，由 @vroulet 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1005 中完成\n* 修复 dog 相关文档，由 @jungtaekkim 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1008 中完成\n* 文档：从 utilities.rst 中移除 `multi_normal`，由 @Abhinavcode13 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1009 中完成\n* 修复 dowg 相关文档，由 @jungtaekkim 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1013 中完成\n* 新特性：添加 AdaGrad 优化器的数学描述，由 @Abhinavcode13 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1011 中完成\n* 修复：重构 AdaGrad 优化器的近期更改，由 @Abhinavcode13 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1016 中完成\n* 使掩码功能与 Equinox 风格的可调用 PyTree 兼容，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1015 中完成\n* 启用无调度优化中的零学习率，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1018 中完成\n* 保留本地 .pylintrc 文件，由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1024 中完成\n* 为 RMSProp 及其相关变换添加 bias_correction 和 eps_in_sqrt 选项，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1019 中完成\n* 将 schedule_free 中的 adam(b1=0) 替换为 rmsprop，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1025 中完成\n* 将 zakharov 问题的初始值从 1e4 更新为 1e3，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1027 中完成\n* 修复拼写错误，由 @gil2rok 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1030 中完成\n* 更新 cosine_decay_schedule 的文档，由 @bhargavyagnik 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1032 中完成\n* 新特性：添加 SM3 优化器的数学符号说明文档，由 @Abhinavcode13 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1012 中完成\n* 文档：对 softmax_cross_entropy* 的 docstring 进行多项改进，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1033 中完成\n* 为 constant_schedule 添加 doctest，由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1034 中完成\n* 为损失函数添加 axis 和 where 参数，由 @carlosgmartin 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F912 中完成\n* 修复 make_fenchel_young_loss 中的 doctest 错误，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1035 中完成\n* 为 polynomial_schedule 添加 doctest，由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1037 中完成\n* 补齐缺失的 schedule_free_* 方法，由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1043 中完成\n* 修复 softmax_cross_entropy 公式的错误，由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1041 中完成\n* 修正 cosine_decay_schedule 公式中的拼写错误，由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1044 中完成\n* schedule_free：修复标量数组广播到 1D 数组的问题，由 @n-gao 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F1042 中完成\n* 根据 @vroulet 的反馈更新 polynomial_schedule 的 doctest，由 @","2024-11-12T21:51:39",{"id":163,"version":164,"summary_zh":165,"released_at":166},108980,"v0.2.3","## 变更内容\n* 通过移除超时机制，修复来自 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fissues\u002F860 的 KeyboardInterrupt 异常，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F886 中完成。\n* 由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F893 中启动 0.2.3 版本的开发工作。\n* 由 @gbruno16 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F894 中添加了 AdamW 的数学描述。\n* 暂时抑制无法调用的 pylint 错误，因为该错误在代码库中被大量误报。此更改由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F908 中完成。\n* 由 @yixiaoer 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F903 中修复了文档链接。\n* 由 @satyenkale 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F901 中修正了 SGD 描述中 Nesterov 的伪代码。\n* 由 @carlosgmartin 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F898 中修复了 softmax_cross_entropy，使其在对应标签为 0 时能够正确处理 -inf 类型的 logits。\n* 将 sparsemax jaxopt 损失上游到 optax。此更改由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F899 中完成。\n* 由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F914 中重新组织了 tree_utils 模块。\n* 撤销 #898 提交。此更改由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F915 中完成。\n* 由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F917 中修复了 jax.tree_map 已弃用警告。\n* 正确处理 softmax_cross_entropy 中的 -inf 值。修复 #898。此更改由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F916 中完成。\n* 由 @hmludwig 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F918 中为 AdaMax 添加了数学文档。\n* 由 @mblondel 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F922 中修复了安装文档依赖项的 pip 命令。\n* 由 @mblondel 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F921 中开始编写投影相关的文档。\n* 由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F919 中添加了 projection_simplex 函数。\n* 将梯度变换移动到 optax.transforms 子包中——1\u002FN。此更改由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F923 中完成。\n* 由 @GrantMcConachie 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F897 中添加了 NTXent 损失。\n* 修复 (docs): README 中的损坏链接。此更改由 @jeertmans 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F940 中完成。\n* 添加弃用模块，用于根据 jax 的语义对已弃用的功能发出警告或抛出错误。此更改由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F931 中完成。\n* 杂项 (ci): 添加 markdown-link-check 操作。此更改由 @jeertmans 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F939 中完成。\n* 由 @fabian-sp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F721 中实现了 MoMo 算法。\n* 由 @albcab 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F945 中为 COCOB 添加了权重衰减。\n* 由 @carlosgmartin 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F949 中为 radam 优化器添加了 nesterov 标志。\n* 对 momo 文档字符串进行格式化，并添加 doctest。此更改由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fop 中完成。","2024-07-09T14:01:13",{"id":168,"version":169,"summary_zh":170,"released_at":171},108981,"v0.2.2","## 变更内容\n* @hmludwig 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F857 中为 Noisy SGD 添加了数学描述\n* @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F841 中使用 sphinx-contributors 自动生成贡献者列表\n* @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F718 中实现了 Polyak SGD 求解器\n* @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F864 中在文档字符串中记录了更新函数的额外参数\n* @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F865 中添加了用于设置 pytree（以及状态）中值的实用工具\n* @hmludwig 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F869 中为 AdaBelief 的文档字符串添加了数学描述\n* @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F867 中修复了注入超参数时的 RST 格式问题\n* @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F863 中发出警告：未来 optax 损失函数中，在初始的 (prediction, ground_truth) 位置参数之后的参数将变为仅限关键字参数\n* @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F872 中将缺失的 jaxopt 损失函数上游合并到 optax — 第 2\u002FN 部分\n* @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F875 中修复了错误 `reduce_on_plateau.ipynb:20002: WARNING: No source code lexer found for notebook cell`\n* @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F879 中对文档字符串进行了美化改进\n* @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F878 中扩展了 tree_get 和 tree_set 的功能\n* @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F866 中将小型语言模型示例添加到文档图库\n* @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F883 中更新了 reduce_on_plateau，使其能够处理训练平均损失\n* @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F887 中修复了 reduce_on_plateau 笔记本中的问题\n* @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F858 中增强了 power_iteration，使其能够接受隐式形式的矩阵\n* @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F889 中记录了 power_iteration 的变更\n* @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F892 中发布了版本 0.2.2\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fcompare\u002Fv0.2.1...v0.2.2","2024-03-27T18:04:57",{"id":173,"version":174,"summary_zh":175,"released_at":176},108982,"v0.2.1","## 变更内容\n* 由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F845 中启动 0.2.1 版本的开发\n* 由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F839 中向 linear_schedule 的文档字符串中添加数学公式\n* 由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F851 中参考文档字符串中的 plateau 上的 reduce 示例\n* 由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F853 中修复 scale_by_backtracking_linesearch 中 tolerance 的符号不一致问题\n* 由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F855 中发布 0.2.1 版本\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fcompare\u002Fv0.2.0...v0.2.1","2024-03-07T19:05:21",{"id":178,"version":179,"summary_zh":180,"released_at":181},108983,"v0.2.0","## 变更内容\n* 由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F766 中启动 0.2.0 版本的开发\n* 由 @JayJayleee 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F762 中移除笔记本中不必要的 %pip install 语句\n* 更新 warmup_cosine_decay_schedule，允许将 peak_value 设置为 0。目前该函数会因除以 0 而报错。由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F770 中完成\n* 由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F775 中修复了数学 flex 方向问题\n* 为所有包含目标函数值的求解器添加文档字符串。由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F771 中完成\n* 对 `adversarial_training.ipynb` 进行多项改进。由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F776 中完成\n* 求解器 API（开发中）。由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F777 中完成\n* 详细说明 learning_rate 可以是标量，也可以是一个调度器。由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F778 中完成\n* 为解决 pylint 问题而采取的临时措施。由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F783 中完成\n* 修正 `params` 的类型注解。由 @yixiaoer 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F785 中完成\n* 确保不会执行运行缓慢的笔记本。由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F788 中完成\n* [文档] 将 development 和 design_docs 合并为一个文件。由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F789 中完成\n* 在 README 中添加开发相关信息。由 @mblondel 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F790 中完成\n* 解决 #767 问题：部分示例未在网页上显示。由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F791 中完成\n* 向 contrib 示例部分添加缺失的示例。由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F794 中完成\n* 使 EmptyState 成为有效的 ArrayTree。由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F752 中完成\n* 改进 `cosine_decay_schedule` 的错误信息。由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F797 中完成\n* 将 DPSGD 文档移动到 contrib\u002F 目录下。由 @WangHanSolo 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F782 中完成\n* 调整 'test.sh' 脚本，使其在 macOS 和 Linux 上通用。由 @hmludwig 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F804 中完成\n* 基准测试建议。由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F807 中完成\n* 移除 'examples\u002Fquick_start.ipynb' 并调整相关引用。由 @hmludwig 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F811 中完成\n* [文档] 简化画廊侧边栏。由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F810 中完成\n* [修复] nadam 文档字符串中的缩进错误。由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F812 中完成\n* 回溯线搜索。由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F795 中完成\n* 修复回溯线搜索在 GPU 上的支持问题。由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F814 中完成\n* 允许 wra","2024-03-06T20:11:00",{"id":183,"version":184,"summary_zh":185,"released_at":186},108984,"v0.1.9","## 变更内容\n* 更新 GitHub 仓库地址从 github.com\u002Fdeepmind 到 github.com\u002Fgoogle-deepmind，并将分支切换为 main，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F710 中完成。\n* 仅显示 main 分支的 CI 测试结果，由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F716 中完成。\n* 修正拼写错误，将 nesterov 改为 Nesterov，由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F722 中完成。\n* 为 `contrib.reduce_on_plateau()` 添加 `atol` 参数，由 @stefanocortinovis 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F698 中完成。\n* 为 tree_utils 模块添加文档，由 @amosyou 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F724 中完成。\n* 简化文档内容，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F727 中完成。\n* 添加 Nadam 和 NadamW 优化器，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F723 中完成。\n* 为 (n)Adam(w) 求解器添加 `versionadded` 和 `seealso` 元数据，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F729 中完成。\n* 启用 Sphinx 中的 doctest，并修复失败的 doctest，由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F733 中完成。\n* 补充文档中缺失的成员，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F734 中完成。\n* 修复 Sphinx 警告信息“此文档未包含在任何 toctree 中”，由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F736 中完成。\n* 功能性更改（CI）：从发布 CI 中移除 `setup.py` 文件，由 @SauravMaheshkar 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F737 中完成。\n* 对 pypi-publish.yml 进行小幅调整，由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F739 中完成。\n* [测试] 将虚拟环境安装到当前目录而非 \u002Ftmp，由 @fabianp 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F746 中完成。\n* 迁移到 pyproject，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F747 中完成。\n* 弃用 optax.inject_stateful_hyperparameters，并将其替换为 optax.inject_hyperparameters，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F730 中完成。\n* 明确 optax 和 optax.contrib 的纳入标准，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F742 中完成。\n* 修复 prodigy 中的默认学习率，由 @konstmish 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F740 中完成。\n* 更新并合并快速入门笔记本，由 @amosyou 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F726 中完成。\n* 从 README 中移除冗余示例，由 @mmhamdy 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F754 中完成。\n* 提供构建文档的说明，以及在不执行笔记本的情况下构建文档的选项，由 @copybara-service 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F759 中完成。\n* 从笔记本中移除许可证声明，由 @renuka010 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F764 中完成。\n\n## 新贡献者\n* @amosyou 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F724 中完成了首次贡献。\n* @konstmish 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F740 中完成了首次贡献。\n* @renuka010 在 https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F76 中完成了首次贡献。","2024-02-03T20:24:56",{"id":188,"version":189,"summary_zh":190,"released_at":191},108985,"v0.1.8","## What's Changed\r\n* Remove legacy symbols. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F397\r\n* Move second order utilities to dedicated sub-package. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F588\r\n* Move stochastic gradient estimation functions to separate monte_carlo subpackage. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F589\r\n* Move losses to dedicated sub-package. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F590\r\n* Note TF's adam implementation difference by @vwxyzjn in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F572\r\n* Note RMSProp PyTorch vs Optax implementation difference by @vwxyzjn in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F595\r\n* Move complex_valued from experimental\u002F to contrib\u002F. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F602\r\n* Make radam docstring point to radam paper. by @carlosgmartin in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F510\r\n* COntinuous COin Betting algorithm by @albcab in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F536\r\n* Update second_order package internal structure. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F625\r\n* Update github URL + nicer console highlighting by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F628\r\n* Add import stub. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F633\r\n* Start optax.projections subpackage and add projection_non_negative. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F632\r\n* Also apply masking to compatible extra_args. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F620\r\n* Add tree_vdot to tree_utils. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F634\r\n* Add: merge multistep and apply_every logic by @celiolarcher in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F596\r\n* Remove redundant requirements folder by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F643\r\n* Run pytype on Python 3.11 by @fabianp in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F657\r\n* Move MLP MNIST example to Colab notebook by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F658\r\n* Move DP-SGD example to Colab by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F660\r\n* Add tensorflow as dependency for the examples by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F661\r\n* Add tensorflow-datasets to doc requirements by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F662\r\n* D-Adaptation and Prodigy contrib implementations by @adefazio in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F651\r\n* Fix typing issue in prodigy.py for python 3.9 by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F671\r\n* Fix CIFAR10 Flax&Optax example name in the gallery by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F672\r\n* Move flax example to Colab by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F670\r\n* update citation url since http:\u002F\u002Fgithub.com\u002Fdeepmind is now empty by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F667\r\n* Move Haiku example to Colab notebook by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F673\r\n* run pytype also on the contrib directory by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F675\r\n* Add reduce_on_plateau LR scheduler to contrib directory. by @vz415 in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F629\r\n* Add to .gitignore temporary directories of building the docs. by @fabianp in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F680\r\n* Add the SAM example to the example gallery by @fabianp in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F681\r\n* Add reduce_on_plateau example (https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fissues\u002F679) by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F683\r\n* Wrong image path on redue on plateau example by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F686\r\n* Remove execution timeout (https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fissues\u002F687) by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F689\r\n* Documentation Typo Fixes for apply_if_finite by @mharradon in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F696\r\n* FIX typos in public readme by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F691\r\n* Add adversarial training example by @mmhamdy in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F682\r\n* Divide API documentation by @MaanasArora in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F688\r\n* Avoid scalar conversion of non-scalar arrays by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F693\r\n* Improving docstrings for schedules. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Foptax\u002Fpull\u002F692\r\n* Fix `TypeError` in `contrib.reduce_on_plateau()` when x64 is enabled by @stefanocor","2024-01-15T14:58:55",{"id":193,"version":194,"summary_zh":195,"released_at":196},108986,"v0.1.7","## What's Changed\r\n* Remove deprecated field from pyproject.toml, which should hopefully resolve an issue with deploy\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fcompare\u002Fv0.1.6...v0.1.7","2023-07-26T21:24:14",{"id":198,"version":199,"summary_zh":200,"released_at":201},108987,"v0.1.6","## What's Changed\r\n* feat: Add support for is_leaf to tree_map_params, so that `tree_map_params` works with `optax.masked`.\r\n* feat: migrate to `pyproject.toml` for building package by @SauravMaheshkar in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F513\r\n* fix(README): small typo in README by @jeertmans in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F495\r\n* Add support for PolyLoss (ICLR 2022) by @acforvs in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F467\r\n\r\n## New Contributors\r\n* @jeertmans made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F495\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fcompare\u002Fv0.1.5...v0.1.6","2023-07-25T12:56:52",{"id":203,"version":204,"summary_zh":205,"released_at":206},108988,"v0.1.5","## What's Changed\r\n* Fix arXiv link to Optax Optimistic Gradient Descent optimizer by @8bitmp3 in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F458\r\n* Fix the Yogi optimizer paper year, change link to NeurIPS site by @8bitmp3 in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F461\r\n* Add exponent to cosine decay schedule and warmup + cosine decay by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F476\r\n* Fix typos in docstring by @pomonam in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F480\r\n* Fix global_norm() signature by @brentyi in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F481\r\n* Fix `inject_hyperparams()` for python \u003C 3.10. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F486\r\n* fixed NaN issues in `kl_divergence` loss function by @LukasMut in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F473\r\n* feat(ci\u002Ftests): bump `setup-python` version and enable cache by @SauravMaheshkar in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F485\r\n* Better tests for utils by @acforvs in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F465\r\n* Run Github CI every day at 03:00. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F490\r\n* Fix JIT for `piecewise_interpolate_schedule`, `cosine_onecycle_schedule`, `linear_onecycle_schedule ` by @brentyi in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F504\r\n* Explicitly export \"softmax_cross_entropy_with_integer_labels\" by @nasyxx in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F499\r\n* Add the Lion optimizer, discovered by symbolic program search. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F500\r\n* Replaces references to jax.numpy.DeviceArray with jax.Array. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F511\r\n* Update pytypes. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F514\r\n* Fix pytype failures related to teaching pytype about NumPy scalar types. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F517\r\n* Release v0.1.5. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F523\r\n\r\n## New Contributors\r\n* @pomonam made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F480\r\n* @brentyi made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F481\r\n* @LukasMut made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F473\r\n* @SauravMaheshkar made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F485\r\n* @acforvs made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F465\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fcompare\u002Fv0.1.4...v0.1.5","2023-04-20T14:41:54",{"id":208,"version":209,"summary_zh":210,"released_at":211},108989,"v0.1.4","## What's Changed\r\n\r\n### New features\r\n* Expose adamax and adamaxw by @nasyxx in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F433\r\n* Support feeding in extra dictionary data in optax\u002Fexperimental in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F373\r\n* Add NovoGrad optimizer by @DT6A in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F385\r\n* added optimistic gradient descent in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F387\r\n* Add types to utils.py by @atgctg in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F367\r\n* Add hyperparam_dtype override to hyperparam injection in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F414\r\n* added typing to linear_algebra.py by @shivance in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F413\r\n* Add amsgrad optimizer by @merajhashemi in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F382\r\n* Add Hinge Loss by @heytanay in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F409\r\n\r\n### Bug fixes\r\n* [optax] Increase chex version requirement to fix issue #456. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F457\r\n* Start inject_hyperparams step count at 0. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F416\r\n* Add noise before multiplying by the learning rate (`noisy_sgd `) by @atgctg in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F369\r\n\r\n### Miscellaneous\r\n* Remove flags from lookahead_mnist example. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F395\r\n* Bring alias docstrings more in line with style guide. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F406\r\n* Bugfix in alias_test: Adamax named but not tested. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F419\r\n* Test that all optimizers can be wrapped in inject_hyperparams. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F420\r\n* Add an example for gradient accumulation. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F425\r\n* [docs] Start adding numerical definitions to key parts of optax. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F430\r\n* [optax] Add basic mnist example based on the lookahead_mnist example. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F436 \r\n* Install dependencies for dp-accounting manually. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F375\r\n* Update documentation for AdamW in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F376\r\n* [Docs] softmax_cross_entropy_with_integer_label by @lkhphuc in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F351\r\n* Update Returns section in gradient transformations' docstrings. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F388\r\n* Update logo and theme for the documentation in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F391\r\n* Set the test version of flax used in the equivalence test. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F398\r\n* Add holounic to contributors list. by in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F400\r\n* Bring transform docstrings more in line with style guide. by in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F405\r\n* Update citation. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F407\r\n* Refine the doc of sigmoid_binary_cross_entropy to not assume the meaning of last dimension. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F418\r\n* fix `integer_pow` recompilation in `_bias_correction` by @epignatelli in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F329\r\n* Use auto instead of `\u002Fproc\u002Fcpuinfo`. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F454\r\n\r\n## New Contributors\r\n* @atgctg made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F367\r\n* @nasyxx made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F433\r\n* @shivance made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F413\r\n* @epignatelli made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F329\r\n* @merajhashemi made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F382\r\n* @heytanay made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F409\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fcompare\u002Fv0.1.3...v0.1.4","2022-11-21T13:44:41",{"id":213,"version":214,"summary_zh":215,"released_at":216},108990,"v0.1.3","## What's Changed\r\n* Do not use None in optax.masked. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F338\r\n* Implement Adamax and AdamaxW optimizers. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F342\r\n* Add Kullback-Leibler Divergence Loss by @holounic in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F309\r\n* Add optax.softmax_cross_entropy_with_integer_labels. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F343\r\n* Publicize private methods in transform in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F348\r\n* Update .pylintrc in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F354\r\n* Support mixture of dtypes for parameters when clipping. in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F355\r\n* Update \"jax.tree_util\" functions in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F370\r\n\r\n## New Contributors\r\n* @holounic made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F309\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fcompare\u002Fv0.1.2...v0.1.3","2022-07-13T11:28:06",{"id":218,"version":219,"summary_zh":220,"released_at":221},108991,"v0.1.2","## What's Changed\r\n* Improve the documentation and discoverability of `set_to_zero`. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F299\r\n* Add pages to documentation for contributors. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F301\r\n* Replace _build_simple_adam with _build_stateful_sgd. by @n2cholas in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F302\r\n* Make masked preserve param structure by @n2cholas in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F300\r\n* Allow to set custom schedule for the second momentum in Adafactor. One useful use case is setting the upper bound for the second momentum, as otherwise it converges to 1.0 and effectively freezes the second momentum. It was used in https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.04560. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F303\r\n* exporting CTC loss for public use by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F305\r\n* Specify that mask must be static in masked wrapper docstring. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F306\r\n* Clarify the docstring of cosine_decay_schedule. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F310\r\n* Typo in LARS docstring. by @Olamon in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F311\r\n* Fix adam's mu_dtype casting. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F313\r\n* Fix docs rendering of loss functions. by @grahamgower in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F318\r\n* Clarifies `optax.adamw(weight_decay)` parameter. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F322\r\n* Enhance `ctc_loss` to return forward probs. by @yotarok in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F321\r\n* Replace `jax.tree_multimap`, which is now deprecated, with `jax.tree_map`. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F330\r\n* Rename argument names for CTC loss functions. by @yotarok in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F331\r\n\r\n## New Contributors\r\n* @Olamon made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F311\r\n* @grahamgower made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F318\r\n* @yotarok made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F321\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fcompare\u002Fv0.1.1...v0.1.2","2022-04-13T10:21:08",{"id":223,"version":224,"summary_zh":225,"released_at":226},108992,"v0.1.1","## What's Changed\r\n* Tweak the meta-learning example from the docs by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F233\r\n* Fix small bugs in metalearning example. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F236\r\n* Do not reuse mini-batches between epochs in DPSGD example. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F230\r\n* Make the version of typing_extensions less constrained. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F238\r\n* [JAX] move example libraries from `jax.experimental` to `jax.example_libraries` by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F200\r\n* Export ScaleByBeliefState by @NeilGirdhar in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F239\r\n* MultiStep optimizer: align parameter naming and type annotations of update function with signature of GradientTransform.update. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F243\r\n* Fix imports of datasets in examples folder. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F242\r\n* Enable example tests on github. Fix the bugs that were uncovered. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F244\r\n* Formatting. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F249\r\n* Add test for multi steps wrapper, verifying that the aggregated gradient is the mean of the input gradients. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F255\r\n* MultiStep optimizer wrapper: replace naive streaming average gradient implementation with numerically stabler one. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F254\r\n* Added ord, axis, and keepdims args to safe_norm by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F252\r\n* Add badges and include RTD build into CI tests. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F256\r\n* Write a clearer doc-string for GradientTransformation by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F257\r\n* Refactor clipping.py by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F260\r\n* Implement split real norm by @wdphy16 in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F241\r\n* Monkey-patch sphinx to output correct type annotations for the most common cases (e.g. params, opt state) in the documentation. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F266\r\n* Improve docs by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F268\r\n* Implement stateless wrapper. by @n2cholas in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F246\r\n* Replace _ with params to ensure you can always call init with named args. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F270\r\n* Improve docs. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F269\r\n* Add missing ` in two places. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F273\r\n* Add option to cache examples datasets after pre-processing. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F272\r\n* Fix an error in README.md rendering. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F275\r\n* Remove the old venv directory before testing the package. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F289\r\n* Fix Yogi optimizer by @wdphy16 in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F288\r\n* Bump ipython from 7.16.1 to 7.16.3 in \u002Frequirements by @dependabot in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F286\r\n* Clarifies `optax.adamw(mask)` parameter. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F284\r\n* Fix the link to the complex-valued optim proposal in RTD. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F295\r\n* Implement complex norm in optimizers by @wdphy16 in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F279\r\n* Change add_noise to match the target variance by scaling by its sqrt. by @Rupt in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F294\r\n* Minor tweaks to the optax documentation. by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F297\r\n* Bump version to 0.1.1 from 0.1.0 by @copybara-service in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F298\r\n\r\n## New Contributors\r\n* @wdphy16 made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F241\r\n* @dependabot made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F286\r\n* @Rupt made their first contribution in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F294\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fcompare\u002Fv0.1.0...v0.1.1","2022-02-04T08:24:21",{"id":228,"version":229,"summary_zh":230,"released_at":231},108993,"v0.1.0","Support for Python 3.6 has been dropped following the [JAX deprecation policy](https:\u002F\u002Fjax.readthedocs.io\u002Fen\u002Flatest\u002Fdeprecation.html). Please upgrade to a supported Python version.\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fcompare\u002Fv0.0.91...v0.1.0","2021-11-18T19:51:54",{"id":233,"version":234,"summary_zh":235,"released_at":236},108994,"v0.0.91","It is the latest version compatible with Python 3.6. See #222 for more details.\r\n\r\n\r\n## Main changes since 0.0.9\r\n* Use an explicit type for base classes of optimizer states. https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F211\r\n* Replace `optax.OptState` with `NamedTuple`, when it is used as a base class. https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F218\r\n* Set `optax.OptState` to `chex.ArrayTree`. https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F219\r\n* Add quick start notebook to Optax. https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F143\r\n* Add Optax regression `flax_example.py`. by @8bitmp3 in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F138\r\n* Add `scale_gradient`. https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F198\r\n* Add a `set_to_zero` transformation. https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F202\r\n* Add utilities for numerical stability in the public API. https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F227\r\n* Change int64 to safely incremented int32 in wrappers. by @rdaems in https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F187\r\n* Add an example of meta-optimization to the docs. https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fpull\u002F231\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Foptax\u002Fcompare\u002Fv0.0.9...v0.0.91","2021-11-18T18:34:32"]