google/pyglove

Manipulating Python Programs

解決的問題

PyGlove 提供了一種將 Python 物件視為符號表示的方法,可輕鬆操作、重新繫結與搜尋。這簡化了元程式(meta-program)的建立,特別是在需要優化或進化超參數或模型架構的複雜機器學習工作流程中。

工作原理

它為 Python 引入了符號物件導向程式設計模型。透過使用 @pg.symbolize 裝飾器,使用者可將 Python 類別轉為符號化。一旦符號化,物件可被「重新繫結」至不同值,或使用 pg.oneof 等基本型別定義為搜尋空間,以實現更佳程式組態的自動搜尋。

適用對象

此套件專為從事自動化機器學習(AutoML)、進化計算與大規模機器學習團隊的研究人員與開發者設計,適合需要高效共享與演進機器學習程式碼的使用者。

特色亮點

  • 符號物件模型:允許在物件建立後直接操作 Python 物件。
  • 自動搜尋 API:提供工具,可輕鬆將搜尋功能整合至現有 Python 程式中。
  • 搜尋演算法:內建一系列即用型搜尋演算法,並提供建構新演算法的框架。
  • 分散式基礎設施:可與分散式後端(如 Open Source Vizier)整合,支援大規模搜尋。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案