Python 3 Code pour reproduire les figures dans les livres Probabilistic Machine Learning: An Introduction (AKA "Book 1") et Probabilistic Machine Learning: Advanced Topics (AKA "Book 2"). Le code utilise les bibliothèques Python standard, telles que Numpy, Scipy, Matplotlib, Sklearn, etc. Une partie du code (en particulier dans le livre 2) utilise également Jax, et dans certaines parties du livre 1, nous utilisons également TensorFlow 2 et un peu de torche. Voir également ProbML-Utils pour un code d'utilité partagé sur plusieurs ordinateurs portables.
Pour le dernier état du code, voir le tableau de bord du livre 1 et le tableau de bord 2. En septembre 2022, ce code est maintenant en mode de maintenance.
Les cahiers nécessaires pour rendre tous les chiffres sont disponibles aux emplacements suivants.
Colab possède la plupart des bibliothèques dont vous aurez besoin (par exemple, Scikit-Learn, Jax) préinstallée et vous donne accès à un GPU et à un TPU gratuit. Nous avons créé un cahier d'intro Colab avec plus de détails. Pour exécuter les ordinateurs portables sur Colab dans n'importe quel navigateur, vous pouvez accéder à un ordinateur portable particulier sur GitHub et modifier le domaine de github.com à githubtocolab.com comme suggéré ici. Si vous utilisez le navigateur Google Chrome, vous pouvez utiliser l'extension chromée "Ouvrir dans Colab" pour faire de même en un seul clic.
Nous supposons que vous avez déjà installé Jax et Tensorflow et Torch, car les détails sur la façon de le faire dépendent de la question de savoir si vous avez un CPU, un GPU, etc.
Vous pouvez utiliser l'une des options suivantes pour installer les autres exigences.
pip install -r https://raw.githubusercontent.com/probml/pyprobml/master/requirements.txtTélécharger les exigences.txt localement sur votre chemin et exécuter
pip install -r requirements.txt Exécutez ce qui suit. (Remarquez --depth 1 empêche l'installation de l'histoire entière, qui est très grande).
git clone --depth 1 https://github.com/probml/pyprobml.git
Puis installez manuellement.
Si vous voulez enregistrer les chiffres, vous devez d'abord exécuter quelque chose comme ça
#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" # both pdf and png
Ceci est utilisé par la fonction SaveFig pour stocker les fichiers PDF.
Lorsque vous voulez plus de puissance ou de contrôle que Colab vous en donne, je vous recommande d'utiliser https://lightning.ai/docs/overview/studios, ce qui le rend très facile à développer à l'aide de VScode, en cours d'exécution sur une machine virtuelle accessible à partir de votre navigateur Web; Vous pouvez ensuite lancer sur un ou plusieurs GPU en cas de besoin en un seul clic à bouton. Alternativement, si vous êtes un utilisateur puissant, vous pouvez essayer Google Cloud Platform, qui prend en charge les GPU et les TPU; Voir ce court tutoriel sur Colab, GCP et TPUS.
Voir ce guide pour savoir comment contribuer au code. Veuillez suivre ces directives pour contribuer de nouveaux ordinateurs portables au répertoire des ordinateurs portables.
Pour un résumé de certaines des contributions à cette base de code lors de Google Summer of Code (GSOC), consultez ces liens: 2021 et 2022.
Pour une liste de contributeurs, consultez cette liste.