Código de Python 3 para reproducir las figuras en los libros Aprendizaje automático probabilístico: una introducción (también conocida como "Libro 1") y aprendizaje automático probabilístico: temas avanzados (también conocido como "Libro 2"). El código utiliza las bibliotecas estándar de Python, como Numpy, Scipy, Matplotlib, Sklearn, etc. Parte del código (especialmente en el Libro 2) también usa Jax, y en algunas partes del Libro 1, también usamos TensorFlow 2 y un poco de antorcha. Consulte también Probml-Utils para algún código de utilidad que se comparta en múltiples cuadernos.
Para obtener el último estado del código, consulte el tablero del libro 1 y el tablero del libro 2. A partir de septiembre de 2022, este código ahora está en modo de mantenimiento.
Los cuadernos necesarios para hacer que todas las cifras estén disponibles en las siguientes ubicaciones.
Colab tiene la mayoría de las bibliotecas que necesitará (por ejemplo, Scikit-Learn, Jax) preinstaladas y le brinda acceso a una GPU y una TPU gratuitas. Hemos creado un cuaderno de introducción de Colab con más detalles. Para ejecutar los cuadernos en Colab en cualquier navegador, puede ir a un cuaderno particular en GitHub y cambiar el dominio de github.com a githubtocolab.com como se sugiere aquí. Si está utilizando Google Chrome Browser, puede usar la extensión "Abrir en Colab" Chrome para hacer lo mismo con un solo clic.
Suponemos que ya ha instalado Jax y TensorFlow y Torch, ya que los detalles sobre cómo hacer esto dependen de si tiene una CPU, GPU, etc.
Puede usar cualquiera de las siguientes opciones para instalar los otros requisitos.
pip install -r https://raw.githubusercontent.com/probml/pyprobml/master/requirements.txtDescargar requisitos.txt localmente a su ruta y ejecutar
pip install -r requirements.txt Ejecuta lo siguiente. (Tenga en cuenta que --depth 1 evita la instalación de todo el historial, que es muy grande).
git clone --depth 1 https://github.com/probml/pyprobml.git
Luego instale manualmente.
Si desea guardar las cifras, primero debe ejecutar algo como esto
#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
La función SaveFIG utiliza esto para almacenar archivos PDF.
Cuando desee más potencia o control de lo que le brinda Colab, le recomiendo que use https://lightning.ai/docs/overview/studios, lo que hace que sea muy fácil de desarrollar usando VSCODE, que se ejecuta en una VM a la que se accede desde su navegador web; Luego puede iniciar una o más GPU cuando sea necesario con un solo clic de botón. Alternativamente, si es un usuario eléctrico, puede probar Google Cloud Platform, que admite GPU y TPU; Vea este breve tutorial sobre Colab, GCP y TPUS.
Consulte esta guía sobre cómo contribuir con código. Siga estas pautas para contribuir con nuevos cuadernos al directorio de cuadernos.
Para obtener un resumen de algunas de las contribuciones a esta base de código durante Google Summer of Code (GSOC), consulte estos enlaces: 2021 y 2022.
Para una lista de contribuyentes, consulte esta lista.