pymc-devs/pytensor

PyTensor allows you to define, optimize, and efficiently evaluate mathematical expressions involving multi-dimensional arrays.

解決的問題

PyTensor 提供了一種定義、最佳化和評估包含多維陣列的複雜數學表達式的途徑。它作為 PyMC 的計算後端,實現高效數值計算與梯度計算。

工作原理

使用符號圖框架來表示數學運算。與一些現代深度學習庫不同,PyTensor 維護一個靜態圖,該圖可就地修改以實現高階最佳化。它可透過 C、JAX 或 Numba 將這些圖轉譯為可執行程式碼,以確保高效率。

適用對象

專為需要靈活、可修改的符號數學計算後端的開發者與研究人員設計,特別是從事機率程式設計或自訂符號最佳化的人群。

主要亮點

  • 靜態圖最佳化:允許就地修改表達式圖,以移除不必要的運算。
  • 多後端編譯:支援透過 C、JAX 和 Numba 進行編譯。
  • 自動微分:能夠計算符號表達式的梯度。
  • 可擴展框架:純 Python 程式碼庫,支援快速開發自訂運算子。

相關

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