Mandala:实验跟踪框架的Python解决方案
Mandala是一个简单而优雅的实验跟踪框架,它直接将持久性逻辑和最佳实践集成到Python中,旨在为机器学习开发人员提供一种高效的方式来跟踪和重用实验。
1. 项目基础介绍和主要编程语言
Mandala是一个开源项目,托管在GitHub上,项目地址为:https://github.com/amakelov/mandala。该项目主要使用Python编程语言开发,依赖pandas和joblib等库。
2. 项目的核心功能
Mandala的核心功能包括:
- 自动保存查询和版本:Mandala通过装饰器
@op
自动捕获Python函数调用的输入、输出和代码(及其依赖),实现了自动重用之前的计算结果,避免重复计算。 - 持久化程序:通过将函数调用组合成端到端的持久化程序,Mandala支持在纯Python环境中进行高效的迭代开发,无需考虑存储后端。
- 计算框架(ComputationFrame)数据结构:自动将命令式代码执行组织成高级计算图,变量和操作之间的关系可以通过提取的数据框架来查询和操作。
3. 项目最近更新的功能
最近更新的功能包含:
- 改进的依赖跟踪系统:Mandala的版本控制系统现在允许用户标记某些更改与过去的结果兼容,同时提供了更细粒度的版本控制功能。
- 增强的计算图操作:增加了对计算图中循环的支持,改进了扩展方法(expand_)的启发式算法,并添加了通过谓词来限制计算框架(CF)特定变量值子集的工具。
- 性能优化:对内存中的缓存和计算框架操作的执行性能进行了优化。
Mandala项目不断进化,致力于为开源社区提供一个功能强大且易于使用的实验跟踪工具,助力机器学习和数据科学领域的研究与开发。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考