pyprobml
用于再现书籍 Probabilistic Machine Learning: An Introduction(即“书1”)和 Probabilistic Machine Learning: Advanced Topics(即“书2”)中图表的Python 3代码。代码使用标准的Python库,如numpy、scipy、matplotlib、sklearn等。部分代码(特别是书2中)也使用了JAX,在书1的某些部分,我们还使用了Tensorflow 2和一点Torch。有关一些跨多个笔记本共享的实用代码,请参见probml-utils。
有关代码的最新状态,请参见书1控制面板和书2控制面板。截至2022年9月,这些代码现已进入维护模式。
运行笔记本
制作所有图表所需的笔记本可以从以下位置获取。
在colab中运行笔记本
Colab预装了大多数所需的库(例如,scikit-learn、JAX),并为您提供对免费GPU和TPU的访问。我们创建了一个colab入门笔记本以提供更多详细信息。要在任何浏览器中在colab上运行笔记本,您可以转到GitHub上的特定笔记本,并将域从github.com
更改为githubtocolab.com
,如此处所建议。如果您使用的是Google Chrome浏览器,可以使用“Open in Colab” Chrome扩展通过单击一次来完成相同的操作。
本地运行笔记本
我们假设您已经安装了JAX、Tensorflow和Torch,因为如何安装这些库的具体细节取决于您是否有CPU、GPU等设备。
您可以使用以下任何一个选项来安装其他依赖项。
- 选项1
pip install -r https://raw.githubusercontent.com/probml/pyprobml/master/requirements.txt
- 选项2
下载requirements.txt到您的本地路径并运行
pip install -r requirements.txt
- 选项3
运行以下命令。(注意 --depth 1
可防止安装整个历史记录,它非常大)。
git clone --depth 1 https://github.com/probml/pyprobml.git
然后手动安装。
如果您想保存图表,您首先需要执行类似这样的命令
#export FIG_DIR="/teamspace/studios/this_studio/figures"
import os
os.environ["FIG_DIR"] = "/teamspace/studios/this_studio/pyprobml/notebooks/figures"
os.environ["DUAL_SAVE"] = "1" # 同时保存pdf和png
这是通过savefig函数存储pdf文件所使用的。
云计算
当您需要比colab更多的功能或控制权时,我推荐您使用https://lightning.ai/docs/overview/studios,它使您可以非常方便地使用VScode进行开发,在从您的网页浏览器访问的虚拟机上运行;在需要时,您可以通过单击一个按钮启动一个或多个GPU。或者,如果您是高级用户,您可以尝试Google Cloud Platform,它支持GPU和TPU;请参见这个关于Colab、GCP和TPU的简短教程。
如何贡献
请参阅此指南以了解如何贡献代码。请遵循这些指南以贡献新的笔记本到笔记本目录。
指标
GSOC
有关在Google Summer of Code (GSOC)期间对该代码库的一些贡献摘要,请参见以下链接:2021和2022。
致谢
有关贡献者列表,请参见此列表。