google/gin-config

Gin provides a lightweight configuration framework for Python

解决的问题

Gin 消除了对复杂配置对象(如协议缓冲区)和繁琐的参数传递代码的需求。它允许开发者外部管理项目设置和实验参数,保持核心 Python 代码整洁,同时保持高灵活性。

工作原理

Gin 使用装饰器 @gin.configurable 来注册函数和类。注册后,它们的参数可以通过简单的外部 ".gin" 配置文件或命令行参数进行设置或覆盖。您可以传递字面值、引用其他可配置函数,或使用“作用域”在程序的不同部分对同一函数应用不同的设置。

适用人群

它专为从事机器学习实验的开发者设计——例如使用 TensorFlow 或 PyTorch 的开发者——这些项目通常涉及嵌套在复杂层次结构中的许多参数。

亮点

  • 简单的语法,用于将参数绑定到函数和类。
  • 通过引用连接模块化组件,支持层次化配置。
  • 作用域允许同一函数根据使用上下文进行不同配置。
  • 自动记录配置的参数值,并与 TensorBoard 等工具集成。
  • 代码更改最少:只需添加一个装饰器和一个解析函数调用。

相关

  • 项目
  • 项目
  • 项目
  • 项目