Project Icon

pomegranate

Python 中快速、灵活且易于使用的概率建模

新版本将计算后端从Cython迁移到PyTorch,提升了速度和灵活性。新特性包括GPU支持、半精度计算、多变量分布、缺失值处理以及更好的社区贡献。改进后的pomegranate在混合模型、贝叶斯网络和隐马尔科夫模型的构建中表现出色,实现了高度的灵活性和效率。

pomegranate 项目介绍

概述

pomegranate 是一个用于概率建模的开源库,以其模块化实现而著称,并将所有模型视为概率分布。在这个库中,可以方便地将不同类型的分布(如正态分布、高斯混合模型等)加入到混合模型中,创建多样化的组合。同时,贝叶斯网络和隐马尔可夫模型也可以无缝地整合到这些组合中,提供了其他概率建模工具所无法达到的灵活性。

在最近的1.0.0版本中,pomegranate 被完全重写,采用 PyTorch 作为计算后端,替代了旧的 Cython。这个重写不仅使库更加高效,还修正了许多设计上的不足,并且大大简化了代码和提高了性能。

安装

用户可以通过以下命令进行安装:

pip install pomegranate

如果需要使用重写前最后一个使用 Cython 的版本,可以安装:

pip install pomegranate==0.14.8

重写的动机

pomegranate 的重写源于以下几点:

  • 速度:使用本地 PyTorch 通常比之前手动优化的 Cython 代码快。
  • 功能:PyTorch 自带的功能(如序列化、混合精度计算及 GPU 支持)可以直接用于 pomegranate,而无需额外工作。
  • 社区贡献:使用 Cython 使得库的扩展变得困难,而 PyTorch 极大减少了扩展新功能的工作量。
  • 互操作性:新的后端使得 pomegranate 可以更好地与 PyTorch 生态系统中的已有项目和资源集成。

高级变化

  • 整个代码库被重写为 PyTorch,所有模型均为 torch.nn.Module 的实例。这一重写由一个包含800多个单元测试的全面测试套件来保障。
  • 所有模型支持 GPU 及混合精度计算,数据缺失值可以通过 torch.masked.MaskedTensor 对象处理。
  • 默认情况下,所有分布都可处理多维数据,并独立对待每个特征。
  • 隐马尔可夫模型被拆分为 DenseHMMSparseHMM,分别用于稠密和稀疏的转移矩阵。

性能提升

大多数方法在1.0.0版本中较之前版本有显著的性能提升,特别是在处理大规模和复杂数据时。与之前版本中不同的是,贝叶斯网络结构学习(除了 Chow-Liu 树构建外)仍未完成并且性能亦未显著提升。

新功能

  1. GPU 支持:所有分布和方法都支持 GPU,操作与普通的 PyTorch 代码一致。

  2. 混合精度:尽管 pomegranate 使用的操作比大部分神经网络复杂,因此有时效果有限,但依然支持低精度操作,未来有望得到更多优化。

  3. 序列化:使用 PyTorch 模块的标准方法进行序列化和反序列化,具体过程与其他 PyTorch 模型一致。

  4. 缺失值处理:支持通过 torch.masked.MaskedTensor 对象管理缺失数据,但目前部分分布尚不支持。

  5. 先验概率和半监督学习:更新版本允许在混合模型、贝叶斯分类器和隐马尔可夫模型中输入先验概率,进而支持半监督学习。

总结

pomegranate 通过模块化的实现及对全部模型的概率分布定位,令人得以便捷地构建和操作复杂概率模型。新版的重大重写带来了性能上的提升与功能的扩展,不但提升了软件质量,也为更广泛的社区贡献和集成创造了条件。这使得 pomegranate 成为一个在处理概率建模任务中非常实用的工具,尤其是对那些既需要灵活性又希望高效性能的用户。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号