项目介绍:pyprobml
pyprobml 项目致力于以 Python 3 代码的形式复现出自《Probabilistic Machine Learning: An Introduction》(通常称为“第一本书”)和《Probabilistic Machine Learning: Advanced Topics》(通常称为“第二本书”)这两本书中涉及的图示与算法实现。这些代码使用了标准的 Python 库,如 numpy、scipy、matplotlib 和 sklearn 等。而在第二本书中的某些部分还运用了 JAX,在第一本书中的某些部分中使用了 Tensorflow 2 和少量的 Torch。
运行 Jupyter 笔记本
pyprobml 项目中所需的所有 Jupyter 笔记本都可以通过以下位置找到:
- 所有笔记本(按文件名排序)
- 第一册的笔记本(按章节排序)
- 第二册的笔记本(按章节排序)
在 Colab 中运行笔记本
Google 的 Colab 平台为广大用户提供了许多所需的预安装库(如 scikit-learn 和 JAX),并允许免费访问 GPU 和 TPU。团队提供了一份详细介绍如何在 Colab 上运行笔记本的指南,对于初学者非常有帮助。在 Colab 中运行 GitHub 上的 Jupyter 笔记本相对简单,只需将域名从 github.com
更改为 githubtocolab.com
即可。Google Chrome 用户甚至可以通过一个“打开在 Colab”的 Chrome 扩展简化这一流程。
本地运行笔记本
如果用户想在本地运行笔记本,需预先安装 JAX 和 Tensorflow,以及 Torch,因为安装取决于用户的 CPU、GPU 等硬件配置。用户可以通过以下几种方式安装其他所需的库。
- 选项 1:使用 pip 命令直接从网络安装
- 选项 2:下载到本地后使用 pip 命令安装
- 选项 3:通过 git 克隆项目,并进行手动安装
如果用户希望保存图示,则需要配置环境变量来指定保存目录,并调整保存格式(如 pdf 和 png)。
云计算支持
当用户需要比 Colab 更多的计算能力或控制力时,团队推荐使用 Lightning.ai 提供的开发环境,该环境可以在网络浏览器中通过 VScode 访问 VM,并且可以根据需要一键启动多个 GPU。另外,Google Cloud Platform(GCP)也是提供 GPU 和 TPU 支持的不错选择,相关教程同样易于查找。
如何贡献
pyprobml 项目鼓励社区贡献,如果开发者有兴趣参与代码和笔记本的贡献,可以参考项目中的贡献指南。
Google Summer of Code (GSOC) 参与
pyprobml 项目在 2021 和 2022 年的 Google Summer of Code 活动中有着积极的贡献,具体的成果可以通过项目历史文档进行了解。
致谢
对于在项目开发中贡献力量的人员名单,请参考 pyprobml 项目的贡献者列表。
综上所述,pyprobml 作为一个开源项目,不仅为学习概率机器学习提供了极为重要的资源,也欢迎更多的开发者加入其中持续贡献和探索。