Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
probml
GitHub Repository: probml/pyprobml
Path: blob/master/internal/firestore_old_figures_data.ipynb
1191 views
Kernel: Python [conda env:pymc_exp]
try: from firebase_admin import credentials, firestore, initialize_app except: %pip install firebase_admin from firebase_admin import credentials, firestore, initialize_app from IPython.display import clear_output import json import os import pandas as pd from probml_utils.url_utils import ( check_dead_urls, is_dead_url, github_url_to_colab_url, make_url_from_chapter_no_and_script_name, dict_to_csv, ) from glob import glob %config Completer.use_jedi = False
key_path = "../../key_karm_gcp.json" cred = credentials.Certificate(key_path) default_app = initialize_app(cred) db = firestore.client() db
<google.cloud.firestore_v1.client.Client at 0x7f6289af3f40>

Upload all notebooks url to database

notebooks_path = "../notebooks/book1/*/*.ipynb" notebooks_1 = glob(notebooks_path)
def non_figure_notebook_url_mapping(notebooks_path, csv_name): url_mapping = {} for notebook_path in notebooks_path: parts = notebook_path.split("/") script_name = parts[-1] chapter_no = parts[-2] book_no = parts[-3] url = make_url_from_chapter_no_and_script_name(chapter_no, script_name) key = script_name.split(".")[0] # remove extension url_mapping[key] = url dict_to_csv(url_mapping, csv_name) print(f"Mapping of {len(url_mapping)} urls is saved in {csv_name}") return url_mapping
mapping = non_figure_notebook_url_mapping(notebooks_1, "non_figures_url_mapping_book1_backward_compatibility.csv") mapping
Mapping of 272 urls is saved in non_figures_url_mapping_book1_backward_compatibility.csv
{'bagging_trees': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/bagging_trees.ipynb', 'regtreeSurfaceDemo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/regtreeSurfaceDemo.ipynb', 'spam_tree_ensemble_interpret': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/spam_tree_ensemble_interpret.ipynb', 'hinge_loss_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/hinge_loss_plot.ipynb', 'boosted_regr_trees': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/boosted_regr_trees.ipynb', 'rf_demo_2d': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/rf_demo_2d.ipynb', 'dtree_sensitivity': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/dtree_sensitivity.ipynb', 'spam_tree_ensemble_compare': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/spam_tree_ensemble_compare.ipynb', 'rf_feature_importance_mnist': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/rf_feature_importance_mnist.ipynb', 'fig_18_4': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/fig_18_4.ipynb', 'naive_bayes_mnist_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/naive_bayes_mnist_torch.ipynb', 'discrim_analysis_dboundaries_plot2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/discrim_analysis_dboundaries_plot2.ipynb', 'fisher_lda_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/fisher_lda_demo.ipynb', 'fisher_discrim_vowel': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/fisher_discrim_vowel.ipynb', 'generativeVsDiscrim': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/generativeVsDiscrim.ipynb', 'naive_bayes_mnist_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/naive_bayes_mnist_jax.ipynb', 'simpsons_paradox': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/simpsons_paradox.ipynb', 'sprinkler_pgm': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/sprinkler_pgm.ipynb', 'gauss_infer_2d': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/gauss_infer_2d.ipynb', 'mix_bernoulli_em_mnist': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/mix_bernoulli_em_mnist.ipynb', 'mix_bernoulli_sgd_mnist': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/mix_bernoulli_sgd_mnist.ipynb', 'sensor_fusion_2d': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/sensor_fusion_2d.ipynb', 'gauss_plot_2d': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/gauss_plot_2d.ipynb', 'gauss_imputation_known_params_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/gauss_imputation_known_params_demo.ipynb', 'gmm_2d': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/gmm_2d.ipynb', 'correlation2d': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/correlation2d.ipynb', 'gauss_infer_1d': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/gauss_infer_1d.ipynb', 'gmm_plot_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/gmm_plot_demo.ipynb', 'finetune_cnn_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/19/finetune_cnn_jax.ipynb', 'finetune_cnn_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/19/finetune_cnn_torch.ipynb', 'image_augmentation_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/19/image_augmentation_torch.ipynb', 'image_augmentation_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/19/image_augmentation_jax.ipynb', 'hbayes_maml': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/19/hbayes_maml.ipynb', 'fig_4_14': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/fig_4_14.ipynb', 'biasVarModelComplexity3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/biasVarModelComplexity3.ipynb', 'beta_binom_post_pred_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/beta_binom_post_pred_plot.ipynb', 'mixbetademo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/mixbetademo.ipynb', 'polyfitRidgeCV': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/polyfitRidgeCV.ipynb', 'beta_binom_approx_post_pymc3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/beta_binom_approx_post_pymc3.ipynb', 'iris_cov_mat': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/iris_cov_mat.ipynb', 'samplingDistributionGaussianShrinkage': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/samplingDistributionGaussianShrinkage.ipynb', 'dirichlet_3d_triangle_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/dirichlet_3d_triangle_plot.ipynb', 'shrinkcov_plots': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/shrinkcov_plots.ipynb', 'beta_credible_int_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/beta_credible_int_demo.ipynb', 'imdb_mlp_bow_tf': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/imdb_mlp_bow_tf.ipynb', 'dirichlet_samples_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/dirichlet_samples_plot.ipynb', 'linreg_poly_vs_n': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/linreg_poly_vs_n.ipynb', 'linreg_poly_ridge': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/linreg_poly_ridge.ipynb', 'betaHPD': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/betaHPD.ipynb', 'bootstrapDemoBer': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/bootstrapDemoBer.ipynb', 'logreg_iris_1d': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/logreg_iris_1d.ipynb', 'dirichlet_3d_spiky_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/dirichlet_3d_spiky_plot.ipynb', 'beta_binom_post_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/beta_binom_post_plot.ipynb', 'postDensityIntervals': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/postDensityIntervals.ipynb', 'ema_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/ema_demo.ipynb', 'logreg_iris_bayes_1d_pymc3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/logreg_iris_bayes_1d_pymc3.ipynb', 'fig_4_20': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/fig_4_20.ipynb', 'kernelRegressionDemo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/kernelRegressionDemo.ipynb', 'parzen_window_demo2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/parzen_window_demo2.ipynb', 'curse_dimensionality_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/curse_dimensionality_plot.ipynb', 'smoothingKernelPlot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/smoothingKernelPlot.ipynb', 'knn_voronoi_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/knn_voronoi_plot.ipynb', 'knn_classify_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/knn_classify_demo.ipynb', 'fig_11_19': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/fig_11_19.ipynb', 'splines_basis_weighted': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/splines_basis_weighted.ipynb', 'linreg_2d_bayes_centering_pymc3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linreg_2d_bayes_centering_pymc3.ipynb', 'groupLassoDemo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/groupLassoDemo.ipynb', 'linreg_poly_vs_degree': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/linreg_poly_vs_degree.ipynb', 'linreg_post_pred_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linreg_post_pred_plot.ipynb', 'ridgePathProstate': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/ridgePathProstate.ipynb', 'linregRobustDemoCombined': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linregRobustDemoCombined.ipynb', 'lassoPathProstate': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/lassoPathProstate.ipynb', 'fig_11_10': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/fig_11_10.ipynb', 'linreg_contours_sse_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linreg_contours_sse_plot.ipynb', 'splines_cherry_blossoms': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/splines_cherry_blossoms.ipynb', 'splines_basis_heatmap': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/splines_basis_heatmap.ipynb', 'linsys_solve_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linsys_solve_demo.ipynb', 'linregOnlineDemo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linregOnlineDemo.ipynb', 'linreg_2d_bayes_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linreg_2d_bayes_demo.ipynb', 'sparse_sensing_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/sparse_sensing_demo.ipynb', 'huberLossPlot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/huberLossPlot.ipynb', 'prostate_comparison': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/prostate_comparison.ipynb', 'multi_collinear_legs_numpyro': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/multi_collinear_legs_numpyro.ipynb', 'geom_ridge': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/geom_ridge.ipynb', 'svm_classifier_feature_scaling': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/svm_classifier_feature_scaling.ipynb', 'kernelBinaryClassifDemo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/kernelBinaryClassifDemo.ipynb', 'svm_regression_1d': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/svm_regression_1d.ipynb', 'svm_classifier_2d': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/svm_classifier_2d.ipynb', 'gp_classify_spaceflu_1d_pymc3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gp_classify_spaceflu_1d_pymc3.ipynb', 'gprDemoNoiseFree': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gprDemoNoiseFree.ipynb', 'gprDemoArd': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gprDemoArd.ipynb', 'rvm_regression_1d': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/rvm_regression_1d.ipynb', 'svmCgammaDemo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/svmCgammaDemo.ipynb', 'gpKernelPlot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gpKernelPlot.ipynb', 'gprDemoChangeHparams': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gprDemoChangeHparams.ipynb', 'gpr_demo_marglik': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gpr_demo_marglik.ipynb', 'gp_classify_iris_1d_pymc3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gp_classify_iris_1d_pymc3.ipynb', 'poisson_regression_insurance': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/12/poisson_regression_insurance.ipynb', 'sgd_minima_variance': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/sgd_minima_variance.ipynb', 'mlp_imdb_tf': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/mlp_imdb_tf.ipynb', 'activation_fun_deriv_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/activation_fun_deriv_jax.ipynb', 'linregRbfDemo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/linregRbfDemo.ipynb', 'activation_fun_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/activation_fun_plot.ipynb', 'sparse_mlp': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/sparse_mlp.ipynb', 'multi_gpu_training_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/multi_gpu_training_torch.ipynb', 'multi_gpu_training_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/multi_gpu_training_jax.ipynb', 'mixexpDemoOneToMany': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/mixexpDemoOneToMany.ipynb', 'logregXorDemo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/logregXorDemo.ipynb', 'mlp_mnist_tf': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/mlp_mnist_tf.ipynb', 'mlp_1d_regression_hetero_tfp': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/mlp_1d_regression_hetero_tfp.ipynb', 'xor_heaviside': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/xor_heaviside.ipynb', 'spectral_clustering_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/spectral_clustering_demo.ipynb', 'gmm_identifiability_pymc3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/gmm_identifiability_pymc3.ipynb', 'yeast_data_viz': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/yeast_data_viz.ipynb', 'gmm_chooseK_pymc3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/gmm_chooseK_pymc3.ipynb', 'hclust_yeast_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/hclust_yeast_demo.ipynb', 'agglomDemo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/agglomDemo.ipynb', 'vqDemo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/vqDemo.ipynb', 'fig_21_11': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/fig_21_11.ipynb', 'kmeans_yeast_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/kmeans_yeast_demo.ipynb', 'kmeans_voronoi': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/kmeans_voronoi.ipynb', 'kmeans_silhouette': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/kmeans_silhouette.ipynb', 'kmeans_minibatch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/kmeans_minibatch.ipynb', 'nmt_attention_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/nmt_attention_jax.ipynb', 'nmt_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/nmt_torch.ipynb', 'entailment_attention_mlp_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/entailment_attention_mlp_torch.ipynb', 'bert_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/bert_jax.ipynb', 'transformers_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/transformers_jax.ipynb', 'attention_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/attention_jax.ipynb', 'lstm_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/lstm_jax.ipynb', 'entailment_attention_mlp_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/entailment_attention_mlp_jax.ipynb', 'transformers_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/transformers_torch.ipynb', 'rnn_sentiment_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/rnn_sentiment_torch.ipynb', 'gru_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/gru_torch.ipynb', 'multi_head_attention_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/multi_head_attention_torch.ipynb', 'rnn_sentiment_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/rnn_sentiment_jax.ipynb', 'nmt_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/nmt_jax.ipynb', 'rnn_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/rnn_torch.ipynb', 'positional_encoding_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/positional_encoding_jax.ipynb', 'gru_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/gru_jax.ipynb', 'positional_encoding_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/positional_encoding_torch.ipynb', 'bert_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/bert_torch.ipynb', 'cnn1d_sentiment_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/cnn1d_sentiment_jax.ipynb', 'multi_head_attention_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/multi_head_attention_jax.ipynb', 'cnn1d_sentiment_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/cnn1d_sentiment_torch.ipynb', 'kernel_regression_attention': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/kernel_regression_attention.ipynb', 'attention_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/attention_torch.ipynb', 'lstm_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/lstm_torch.ipynb', 'nmt_attention_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/nmt_attention_torch.ipynb', 'rnn_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/rnn_jax.ipynb', 'iris_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/iris_plot.ipynb', 'linreg_2d_surface_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/linreg_2d_surface_demo.ipynb', 'text_preproc_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/text_preproc_jax.ipynb', 'fashion_viz_tf': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/fashion_viz_tf.ipynb', 'tfidf_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/tfidf_demo.ipynb', 'emnist_viz_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/emnist_viz_jax.ipynb', 'mnist_viz_tf': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/mnist_viz_tf.ipynb', 'iris_pca': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/iris_pca.ipynb', 'linreg_residuals_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/linreg_residuals_plot.ipynb', 'iris_kmeans': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/iris_kmeans.ipynb', 'fig_1_12': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/fig_1_12.ipynb', 'fig_1_13': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/fig_1_13.ipynb', 'iris_dtree': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/iris_dtree.ipynb', 'cifar_viz_tf': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/cifar_viz_tf.ipynb', 'seq_logo_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/06/seq_logo_demo.ipynb', 'MIC_correlation_2d': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/06/MIC_correlation_2d.ipynb', 'KLfwdReverseMixGauss': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/06/KLfwdReverseMixGauss.ipynb', 'bernoulli_entropy_fig': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/06/bernoulli_entropy_fig.ipynb', 'resnet_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/resnet_jax.ipynb', 'layer_norm_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/layer_norm_jax.ipynb', 'conv2d_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/conv2d_jax.ipynb', 'cnn_mnist_tf': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/cnn_mnist_tf.ipynb', 'cifar10_cnn_lightning': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/cifar10_cnn_lightning.ipynb', 'densenet_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/densenet_jax.ipynb', 'lenet_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/lenet_jax.ipynb', 'lenet_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/lenet_torch.ipynb', 'batchnorm_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/batchnorm_torch.ipynb', 'densenet_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/densenet_torch.ipynb', 'resnet_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/resnet_torch.ipynb', 'conv2d_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/conv2d_torch.ipynb', 'transposed_conv_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/transposed_conv_jax.ipynb', 'batchnorm_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/batchnorm_jax.ipynb', 'vae_mnist_conv_lightning': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/vae_mnist_conv_lightning.ipynb', 'fig_20_38': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_38.ipynb', 'fig_20_30': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_30.ipynb', 'fig_20_36': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_36.ipynb', 'pcaImageDemo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pcaImageDemo.ipynb', 'fig_20_31': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_31.ipynb', 'fig_20_25': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_25.ipynb', 'pca_projected_variance': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pca_projected_variance.ipynb', 'kpcaScholkopf': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/kpcaScholkopf.ipynb', 'pcaDemo2d': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pcaDemo2d.ipynb', 'fig_20_26': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_26.ipynb', 'binary_fa_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/binary_fa_demo.ipynb', 'pcaEmStepByStep': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pcaEmStepByStep.ipynb', 'fig_20_33': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_33.ipynb', 'fig_20_24': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_24.ipynb', 'ae_mnist_conv': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/ae_mnist_conv.ipynb', 'skipgram_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/skipgram_jax.ipynb', 'word_analogies_jax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/word_analogies_jax.ipynb', 'ae_mnist_tf': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/ae_mnist_tf.ipynb', 'fig_20_41': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_41.ipynb', 'manifold_digits_sklearn': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/manifold_digits_sklearn.ipynb', 'mixPpcaDemo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/mixPpcaDemo.ipynb', 'skipgram_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/skipgram_torch.ipynb', 'word_analogies_torch': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/word_analogies_torch.ipynb', 'pcaOverfitDemo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pcaOverfitDemo.ipynb', 'pcaStandardization': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pcaStandardization.ipynb', 'manifold_swiss_sklearn': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/manifold_swiss_sklearn.ipynb', 'fig_20_37': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_37.ipynb', 'pca_digits': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pca_digits.ipynb', 'iris_logreg': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/iris_logreg.ipynb', 'anscombes_quartet': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/anscombes_quartet.ipynb', 'datasaurus_dozen': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/datasaurus_dozen.ipynb', 'gauss_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/gauss_plot.ipynb', 'robust_pdf_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/robust_pdf_plot.ipynb', 'change_of_vars_demo1d': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/change_of_vars_demo1d.ipynb', 'centralLimitDemo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/centralLimitDemo.ipynb', 'softmax_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/softmax_plot.ipynb', 'fig_2_2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/fig_2_2.ipynb', 'fig_2_17': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/fig_2_17.ipynb', 'gamma_dist_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/gamma_dist_plot.ipynb', 'linreg_1d_hetero_tfp': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/linreg_1d_hetero_tfp.ipynb', 'student_laplace_pdf_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/student_laplace_pdf_plot.ipynb', 'beta_dist_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/beta_dist_plot.ipynb', 'discrete_prob_dist_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/discrete_prob_dist_plot.ipynb', 'binom_dist_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/binom_dist_plot.ipynb', 'bimodal_dist_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/bimodal_dist_plot.ipynb', 'quantile_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/quantile_plot.ipynb', 'logreg_poly_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/logreg_poly_demo.ipynb', 'logreg_laplace_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/logreg_laplace_demo.ipynb', 'perceptron_demo_2d': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/perceptron_demo_2d.ipynb', 'logreg_iris_bayes_robust_1d_pymc3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/logreg_iris_bayes_robust_1d_pymc3.ipynb', 'sigmoid_2d_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/sigmoid_2d_plot.ipynb', 'iris_logreg_loss_surface': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/iris_logreg_loss_surface.ipynb', 'logreg_multiclass_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/logreg_multiclass_demo.ipynb', 'neymanPearson2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/neymanPearson2.ipynb', 'dtheory': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/dtheory.ipynb', 'riskFnGauss': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/riskFnGauss.ipynb', 'linreg_eb_modelsel_vs_n': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/linreg_eb_modelsel_vs_n.ipynb', 'fig_5_2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/fig_5_2.ipynb', 'roc_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/roc_plot.ipynb', 'fig_5_10': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/fig_5_10.ipynb', 'coins_model_sel_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/coins_model_sel_demo.ipynb', 'pr_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/pr_plot.ipynb', 'twoPowerCurves': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/twoPowerCurves.ipynb', 'cholesky_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/07/cholesky_demo.ipynb', 'gaussEvec': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/07/gaussEvec.ipynb', 'einsum_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/07/einsum_demo.ipynb', 'height_weight_whiten_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/07/height_weight_whiten_plot.ipynb', 'power_method_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/07/power_method_demo.ipynb', 'svd_image_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/07/svd_image_demo.ipynb', 'smooth-vs-nonsmooth-1d': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/smooth-vs-nonsmooth-1d.ipynb', 'sgd_comparison': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/sgd_comparison.ipynb', 'mix_gauss_singularity': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/mix_gauss_singularity.ipynb', 'fig_8_26': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/fig_8_26.ipynb', 'fig_8_14': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/fig_8_14.ipynb', 'lms_demo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/lms_demo.ipynb', 'mix_gauss_mle_vs_map': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/mix_gauss_mle_vs_map.ipynb', 'learning_rate_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/learning_rate_plot.ipynb', 'saddle': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/saddle.ipynb', 'gmm_lik_surface_plot': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/gmm_lik_surface_plot.ipynb', 'newtonsMethodNonConvex': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/newtonsMethodNonConvex.ipynb', 'extrema_fig_1d': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/extrema_fig_1d.ipynb', 'mix_gauss_demo_faithful': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/mix_gauss_demo_faithful.ipynb', 'lineSearchConditionNum': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/lineSearchConditionNum.ipynb', 'emLogLikelihoodMax': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/emLogLikelihoodMax.ipynb', 'fig_8_1': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/fig_8_1.ipynb', 'lrschedule_tf': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/lrschedule_tf.ipynb', 'steepestDescentDemo': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/steepestDescentDemo.ipynb', 'newtonsMethodMinQuad': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/newtonsMethodMinQuad.ipynb', 'matrix_factorization_recommender': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/22/matrix_factorization_recommender.ipynb'}
list(map(make_url_from_notebook_path, notebooks_1))
['https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/bagging_trees.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/regtreeSurfaceDemo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/spam_tree_ensemble_interpret.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/hinge_loss_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/boosted_regr_trees.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/rf_demo_2d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/dtree_sensitivity.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/spam_tree_ensemble_compare.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/rf_feature_importance_mnist.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/fig_18_4.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/naive_bayes_mnist_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/discrim_analysis_dboundaries_plot2.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/fisher_lda_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/fisher_discrim_vowel.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/generativeVsDiscrim.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/naive_bayes_mnist_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/simpsons_paradox.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/sprinkler_pgm.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/gauss_infer_2d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/mix_bernoulli_em_mnist.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/mix_bernoulli_sgd_mnist.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/sensor_fusion_2d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/gauss_plot_2d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/gauss_imputation_known_params_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/gmm_2d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/correlation2d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/gauss_infer_1d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/gmm_plot_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/19/finetune_cnn_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/19/finetune_cnn_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/19/image_augmentation_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/19/image_augmentation_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/19/hbayes_maml.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/fig_4_14.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/biasVarModelComplexity3.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/beta_binom_post_pred_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/mixbetademo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/polyfitRidgeCV.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/beta_binom_approx_post_pymc3.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/iris_cov_mat.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/gauss_infer_2d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/samplingDistributionGaussianShrinkage.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/dirichlet_3d_triangle_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/shrinkcov_plots.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/hinge_loss_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/beta_credible_int_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/imdb_mlp_bow_tf.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/dirichlet_samples_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/linreg_poly_vs_n.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/linreg_poly_ridge.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/betaHPD.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/bootstrapDemoBer.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/logreg_iris_1d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/dirichlet_3d_spiky_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/beta_binom_post_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/postDensityIntervals.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/ema_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/gauss_infer_1d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/logreg_iris_bayes_1d_pymc3.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/fig_4_20.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/kernelRegressionDemo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/parzen_window_demo2.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/curse_dimensionality_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/smoothingKernelPlot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/knn_voronoi_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/knn_classify_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/fig_11_19.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/splines_basis_weighted.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linreg_2d_bayes_centering_pymc3.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/groupLassoDemo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linreg_poly_vs_degree.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linreg_post_pred_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/ridgePathProstate.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linregRobustDemoCombined.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/lassoPathProstate.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/fig_11_10.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linreg_contours_sse_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/splines_cherry_blossoms.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/splines_basis_heatmap.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linsys_solve_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linregOnlineDemo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linreg_2d_bayes_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/sparse_sensing_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/huberLossPlot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/prostate_comparison.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/multi_collinear_legs_numpyro.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/geom_ridge.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/svm_classifier_feature_scaling.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/kernelBinaryClassifDemo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/svm_regression_1d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/svm_classifier_2d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gp_classify_spaceflu_1d_pymc3.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gprDemoNoiseFree.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gprDemoArd.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/rvm_regression_1d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/svmCgammaDemo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gpKernelPlot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gprDemoChangeHparams.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gpr_demo_marglik.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/huberLossPlot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gp_classify_iris_1d_pymc3.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/12/poisson_regression_insurance.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/sgd_minima_variance.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/mlp_imdb_tf.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/activation_fun_deriv_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/linregRbfDemo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/activation_fun_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/sparse_mlp.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/multi_gpu_training_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/multi_gpu_training_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/mixexpDemoOneToMany.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/logregXorDemo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/mlp_mnist_tf.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/mlp_1d_regression_hetero_tfp.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/xor_heaviside.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/spectral_clustering_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/gmm_identifiability_pymc3.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/yeast_data_viz.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/gmm_chooseK_pymc3.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/hclust_yeast_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/agglomDemo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/vqDemo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/fig_21_11.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/kmeans_yeast_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/kmeans_voronoi.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/kmeans_silhouette.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/kmeans_minibatch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/gmm_2d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/nmt_attention_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/nmt_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/entailment_attention_mlp_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/bert_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/transformers_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/attention_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/lstm_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/entailment_attention_mlp_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/transformers_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/rnn_sentiment_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/gru_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/multi_head_attention_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/rnn_sentiment_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/nmt_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/rnn_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/positional_encoding_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/gru_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/positional_encoding_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/bert_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/cnn1d_sentiment_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/multi_head_attention_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/cnn1d_sentiment_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/kernel_regression_attention.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/attention_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/lstm_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/nmt_attention_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/rnn_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/iris_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/linreg_poly_vs_degree.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/linreg_2d_surface_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/text_preproc_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/fashion_viz_tf.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/tfidf_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/emnist_viz_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/mnist_viz_tf.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/iris_pca.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/linreg_residuals_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/iris_kmeans.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/fig_1_12.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/fig_1_13.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/iris_dtree.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/cifar_viz_tf.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/06/seq_logo_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/06/MIC_correlation_2d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/06/KLfwdReverseMixGauss.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/06/bernoulli_entropy_fig.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/resnet_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/layer_norm_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/conv2d_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/cnn_mnist_tf.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/cifar10_cnn_lightning.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/densenet_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/lenet_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/lenet_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/batchnorm_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/densenet_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/resnet_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/conv2d_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/transposed_conv_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/batchnorm_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/vae_mnist_conv_lightning.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_38.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_30.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_36.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pcaImageDemo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_31.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_25.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pca_projected_variance.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/kpcaScholkopf.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pcaDemo2d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_26.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/binary_fa_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pcaEmStepByStep.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_33.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_24.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/ae_mnist_conv.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/skipgram_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/word_analogies_jax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/ae_mnist_tf.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_41.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/manifold_digits_sklearn.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/mixPpcaDemo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/skipgram_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/word_analogies_torch.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pcaOverfitDemo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pcaStandardization.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/manifold_swiss_sklearn.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_37.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pca_digits.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/iris_logreg.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/anscombes_quartet.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/datasaurus_dozen.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/gauss_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/robust_pdf_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/change_of_vars_demo1d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/centralLimitDemo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/activation_fun_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/softmax_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/fig_2_2.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/fig_2_17.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/gamma_dist_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/linreg_1d_hetero_tfp.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/student_laplace_pdf_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/beta_dist_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/discrete_prob_dist_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/binom_dist_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/bimodal_dist_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/quantile_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/logreg_poly_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/iris_logreg.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/logreg_laplace_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/perceptron_demo_2d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/logreg_iris_bayes_robust_1d_pymc3.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/sigmoid_2d_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/iris_logreg_loss_surface.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/logreg_multiclass_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/neymanPearson2.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/dtheory.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/riskFnGauss.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/linreg_eb_modelsel_vs_n.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/fig_5_2.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/roc_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/fig_5_10.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/coins_model_sel_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/huberLossPlot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/pr_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/twoPowerCurves.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/07/cholesky_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/07/gaussEvec.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/07/einsum_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/07/height_weight_whiten_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/07/power_method_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/07/svd_image_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/smooth-vs-nonsmooth-1d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/sgd_comparison.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/mix_gauss_singularity.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/fig_8_26.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/fig_8_14.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/lms_demo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/mix_gauss_mle_vs_map.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/learning_rate_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/saddle.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/gmm_lik_surface_plot.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/newtonsMethodNonConvex.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/extrema_fig_1d.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/mix_gauss_demo_faithful.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/lineSearchConditionNum.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/emLogLikelihoodMax.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/fig_8_1.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/lrschedule_tf.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/steepestDescentDemo.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/newtonsMethodMinQuad.ipynb', 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/22/matrix_factorization_recommender.ipynb']
len(notebooks_1)
281

Read & store as json

def save_urls_as_json(key_path, csv_path, level1_collection="figures", level2_document=None, level3_collection=None): assert level2_document in [ "book1", "book2", ], "Incorrect level2_document value: possible values of level2_document should be ['book1', 'book2']" cred = credentials.Certificate(key_path) try: default_app = initialize_app(cred) # this should called only once except ValueError: pass db = firestore.client() collection = db.collection(level1_collection).document(level2_document).collection(level3_collection) data_json = {level1_collection: {level2_document: {level3_collection: {}}}} for document in figure_collection.get(): key = document.id value = document.to_dict() database_backup_json[level1_collection][level2_document][level3_collection][key] = value
level1_collection = "figures" level2_document = "book1" level3_collection = "figures" database_backup_json = {level1_collection: {level2_document: {level3_collection: {}}}}
figure_collection = db.collection(level1_collection).document(level2_document).collection(level3_collection) # path to urls for document in figure_collection.get(): key = document.id value = document.to_dict() database_backup_json[level1_collection][level2_document][level3_collection][key] = value database_backup_json #save as json with open(j"database_backup_book1_old_urls.json", "w") as fp: fp.write(json.dumps(database_backup_json, indent=4))
{'figures': {'book1': {'figures': {'1.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter1_introduction_figures.ipynb#1.1'}, '1.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter1_introduction_figures.ipynb#1.10'}, '1.11': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter1_introduction_figures.ipynb#1.11'}, '1.12': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter1_introduction_figures.ipynb#1.12'}, '1.13': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter1_introduction_figures.ipynb#1.13'}, '1.14': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter1_introduction_figures.ipynb#1.14'}, '1.15': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter1_introduction_figures.ipynb#1.15'}, '1.16': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter1_introduction_figures.ipynb#1.16'}, '1.17': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter1_introduction_figures.ipynb#1.17'}, '1.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter1_introduction_figures.ipynb#1.2'}, '1.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter1_introduction_figures.ipynb#1.3'}, '1.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter1_introduction_figures.ipynb#1.4'}, '1.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter1_introduction_figures.ipynb#1.5'}, '1.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter1_introduction_figures.ipynb#1.6'}, '1.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter1_introduction_figures.ipynb#1.7'}, '1.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter1_introduction_figures.ipynb#1.8'}, '1.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter1_introduction_figures.ipynb#1.9'}, '10.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter10_logistic_regression_figures.ipynb#10.1'}, '10.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter10_logistic_regression_figures.ipynb#10.10'}, '10.11': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter10_logistic_regression_figures.ipynb#10.11'}, '10.12': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter10_logistic_regression_figures.ipynb#10.12'}, '10.13': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter10_logistic_regression_figures.ipynb#10.13'}, '10.14': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter10_logistic_regression_figures.ipynb#10.14'}, '10.15': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter10_logistic_regression_figures.ipynb#10.15'}, '10.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter10_logistic_regression_figures.ipynb#10.2'}, '10.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter10_logistic_regression_figures.ipynb#10.3'}, '10.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter10_logistic_regression_figures.ipynb#10.4'}, '10.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter10_logistic_regression_figures.ipynb#10.5'}, '10.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter10_logistic_regression_figures.ipynb#10.6'}, '10.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter10_logistic_regression_figures.ipynb#10.7'}, '10.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter10_logistic_regression_figures.ipynb#10.8'}, '10.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter10_logistic_regression_figures.ipynb#10.9'}, '11.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.1'}, '11.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.10'}, '11.11': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.11'}, '11.12': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.12'}, '11.13': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.13'}, '11.14': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.14'}, '11.15': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.15'}, '11.16': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.16'}, '11.17': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.17'}, '11.18': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.18'}, '11.19': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.19'}, '11.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.2'}, '11.20': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.20'}, '11.21': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.21'}, '11.22': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.22'}, '11.23': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.23'}, '11.24': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.24'}, '11.25': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.25'}, '11.26': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.26'}, '11.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.3'}, '11.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.4'}, '11.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.5'}, '11.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.6'}, '11.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.7'}, '11.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.8'}, '11.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter11_linear_regression_figures.ipynb#11.9'}, '12.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter12_generalized_linear_models_figures.ipynb#12.1'}, '12.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter12_generalized_linear_models_figures.ipynb#12.2'}, '13.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.1'}, '13.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.10'}, '13.11': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.11'}, '13.12': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.12'}, '13.13': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.13'}, '13.14': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.14'}, '13.15': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.15'}, '13.16': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.16'}, '13.17': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.17'}, '13.18': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.18'}, '13.19': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.19'}, '13.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.2'}, '13.20': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.20'}, '13.21': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.21'}, '13.22': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.22'}, '13.23': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.23'}, '13.24': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.24'}, '13.25': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.25'}, '13.26': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.26'}, '13.27': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.27'}, '13.28': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.28'}, '13.29': {'link': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/book1/figures/chapter13_neural_networks_for_structured_data_figures.ipynb#13.29'}, '13.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.3'}, '13.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.4'}, '13.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.5'}, '13.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.6'}, '13.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.7'}, '13.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.8'}, '13.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter13_neural_networks_for_structured_data_figures.ipynb#13.9'}, '14.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.1'}, '14.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.10'}, '14.11': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.11'}, '14.12': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.12'}, '14.13': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.13'}, '14.14': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.14'}, '14.15': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.15'}, '14.16': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.16'}, '14.17': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.17'}, '14.18': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.18'}, '14.19': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.19'}, '14.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.2'}, '14.20': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.20'}, '14.21': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.21'}, '14.22': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.22'}, '14.23': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.23'}, '14.24': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.24'}, '14.25': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.25'}, '14.26': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.26'}, '14.27': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.27'}, '14.28': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.28'}, '14.29': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.29'}, '14.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.3'}, '14.30': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.30'}, '14.31': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.31'}, '14.32': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.32'}, '14.33': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.33'}, '14.34': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.34'}, '14.35': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.35'}, '14.36': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.36'}, '14.37': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.37'}, '14.38': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.38'}, '14.39': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.39'}, '14.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.4'}, '14.40': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.40'}, '14.41': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.41'}, '14.42': {'link': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/book1/figures/chapter14_neural_networks_for_images_figures.ipynb#14.42'}, '14.43': {'link': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/book1/figures/chapter14_neural_networks_for_images_figures.ipynb#14.43'}, '14.44': {'link': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/book1/figures/chapter14_neural_networks_for_images_figures.ipynb#14.44'}, '14.45': {'link': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/book1/figures/chapter14_neural_networks_for_images_figures.ipynb#14.45'}, '14.46': {'link': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/book1/figures/chapter14_neural_networks_for_images_figures.ipynb#14.46'}, '14.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.5'}, '14.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.6'}, '14.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.7'}, '14.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.8'}, '14.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter14_neural_networks_for_images_figures.ipynb#14.9'}, '15.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.1'}, '15.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.10'}, '15.11': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.11'}, '15.12': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.12'}, '15.13': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.13'}, '15.14': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.14'}, '15.15': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.15'}, '15.16': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.16'}, '15.17': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.17'}, '15.18': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.18'}, '15.19': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.19'}, '15.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.2'}, '15.20': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.20'}, '15.21': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.21'}, '15.22': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.22'}, '15.23': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.23'}, '15.24': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.24'}, '15.25': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.25'}, '15.26': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.26'}, '15.27': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.27'}, '15.28': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.28'}, '15.29': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.29'}, '15.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.3'}, '15.30': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.30'}, '15.31': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.31'}, '15.32': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.32'}, '15.33': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.33'}, '15.34': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.34'}, '15.35': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.35'}, '15.36': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.36'}, '15.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.4'}, '15.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.5'}, '15.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.6'}, '15.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.7'}, '15.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.8'}, '15.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter15_neural_networks_for_sequences_figures.ipynb#15.9'}, '16.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter16_exemplar-based_methods_figures.ipynb#16.1'}, '16.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter16_exemplar-based_methods_figures.ipynb#16.10'}, '16.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter16_exemplar-based_methods_figures.ipynb#16.2'}, '16.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter16_exemplar-based_methods_figures.ipynb#16.3'}, '16.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter16_exemplar-based_methods_figures.ipynb#16.4'}, '16.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter16_exemplar-based_methods_figures.ipynb#16.5'}, '16.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter16_exemplar-based_methods_figures.ipynb#16.6'}, '16.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter16_exemplar-based_methods_figures.ipynb#16.7'}, '16.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter16_exemplar-based_methods_figures.ipynb#16.8'}, '16.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter16_exemplar-based_methods_figures.ipynb#16.9'}, '17.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.1'}, '17.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.10'}, '17.11': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.11'}, '17.12': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.12'}, '17.13': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.13'}, '17.14': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.14'}, '17.15': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.15'}, '17.16': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.16'}, '17.17': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.17'}, '17.18': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.18'}, '17.19': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.19'}, '17.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.2'}, '17.20': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.20'}, '17.21': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.21'}, '17.22': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.22'}, '17.23': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.23'}, '17.24': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.24'}, '17.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.3'}, '17.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.4'}, '17.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.5'}, '17.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.6'}, '17.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.7'}, '17.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.8'}, '17.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter17_kernel_methods_figures.ipynb#17.9'}, '18.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter18_trees_forests_bagging_and_boosting_figures.ipynb#18.1'}, '18.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter18_trees_forests_bagging_and_boosting_figures.ipynb#18.10'}, '18.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter18_trees_forests_bagging_and_boosting_figures.ipynb#18.2'}, '18.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter18_trees_forests_bagging_and_boosting_figures.ipynb#18.3'}, '18.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter18_trees_forests_bagging_and_boosting_figures.ipynb#18.4'}, '18.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter18_trees_forests_bagging_and_boosting_figures.ipynb#18.5'}, '18.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter18_trees_forests_bagging_and_boosting_figures.ipynb#18.6'}, '18.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter18_trees_forests_bagging_and_boosting_figures.ipynb#18.7'}, '18.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter18_trees_forests_bagging_and_boosting_figures.ipynb#18.8'}, '18.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter18_trees_forests_bagging_and_boosting_figures.ipynb#18.9'}, '19.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter19_learning_with_fewer_labeled_examples_figures.ipynb#19.1'}, '19.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter19_learning_with_fewer_labeled_examples_figures.ipynb#19.10'}, '19.11': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter19_learning_with_fewer_labeled_examples_figures.ipynb#19.11'}, '19.12': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter19_learning_with_fewer_labeled_examples_figures.ipynb#19.12'}, '19.13': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter19_learning_with_fewer_labeled_examples_figures.ipynb#19.13'}, '19.14': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter19_learning_with_fewer_labeled_examples_figures.ipynb#19.14'}, '19.15': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter19_learning_with_fewer_labeled_examples_figures.ipynb#19.15'}, '19.16': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter19_learning_with_fewer_labeled_examples_figures.ipynb#19.16'}, '19.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter19_learning_with_fewer_labeled_examples_figures.ipynb#19.2'}, '19.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter19_learning_with_fewer_labeled_examples_figures.ipynb#19.3'}, '19.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter19_learning_with_fewer_labeled_examples_figures.ipynb#19.4'}, '19.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter19_learning_with_fewer_labeled_examples_figures.ipynb#19.5'}, '19.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter19_learning_with_fewer_labeled_examples_figures.ipynb#19.6'}, '19.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter19_learning_with_fewer_labeled_examples_figures.ipynb#19.7'}, '19.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter19_learning_with_fewer_labeled_examples_figures.ipynb#19.8'}, '19.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter19_learning_with_fewer_labeled_examples_figures.ipynb#19.9'}, '2.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.1'}, '2.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.10'}, '2.11': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.11'}, '2.12': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.12'}, '2.13': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.13'}, '2.14': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.14'}, '2.15': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.15'}, '2.16': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.16'}, '2.17': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.17'}, '2.18': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.18'}, '2.19': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.19'}, '2.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.2'}, '2.20': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.20'}, '2.21': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.21'}, '2.22': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.22'}, '2.23': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.23'}, '2.24': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.24'}, '2.25': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.25'}, '2.26': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.26'}, '2.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.3'}, '2.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.4'}, '2.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.5'}, '2.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.6'}, '2.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.7'}, '2.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.8'}, '2.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter2_probability_univariate_models_figures.ipynb#2.9'}, '20.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.1'}, '20.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.10'}, '20.11': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.11'}, '20.12': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.12'}, '20.13': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.13'}, '20.14': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.14'}, '20.15': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.15'}, '20.16': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.16'}, '20.17': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.17'}, '20.18': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.18'}, '20.19': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.19'}, '20.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.2'}, '20.20': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.20'}, '20.21': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.21'}, '20.22': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.22'}, '20.23': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.23'}, '20.24': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.24'}, '20.25': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.25'}, '20.26': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.26'}, '20.27': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.27'}, '20.28': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.28'}, '20.29': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.29'}, '20.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.3'}, '20.30': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.30'}, '20.31': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.31'}, '20.32': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.32'}, '20.33': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.33'}, '20.34': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.34'}, '20.35': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.35'}, '20.36': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.36'}, '20.37': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.37'}, '20.38': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.38'}, '20.39': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.39'}, '20.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.4'}, '20.40': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.40'}, '20.41': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.41'}, '20.42': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.42'}, '20.43': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.43'}, '20.44': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.44'}, '20.45': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.45'}, '20.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.5'}, '20.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.6'}, '20.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.7'}, '20.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.8'}, '20.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter20_dimensionality_reduction_figures.ipynb#20.9'}, '21.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.1'}, '21.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.10'}, '21.11': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.11'}, '21.12': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.12'}, '21.13': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.13'}, '21.14': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.14'}, '21.15': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.15'}, '21.16': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.16'}, '21.17': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.17'}, '21.18': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.18'}, '21.19': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.19'}, '21.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.2'}, '21.20': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.20'}, '21.21': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.21'}, '21.22': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.22'}, '21.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.3'}, '21.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.4'}, '21.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.5'}, '21.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.6'}, '21.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.7'}, '21.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.8'}, '21.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter21_clustering_figures.ipynb#21.9'}, '22.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter22_recommender_systems_figures.ipynb#22.1'}, '22.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter22_recommender_systems_figures.ipynb#22.2'}, '22.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter22_recommender_systems_figures.ipynb#22.3'}, '22.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter22_recommender_systems_figures.ipynb#22.4'}, '22.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter22_recommender_systems_figures.ipynb#22.5'}, '22.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter22_recommender_systems_figures.ipynb#22.6'}, '23.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter23_graph_embeddings_figures.ipynb#23.1'}, '23.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter23_graph_embeddings_figures.ipynb#23.2'}, '23.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter23_graph_embeddings_figures.ipynb#23.3'}, '23.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter23_graph_embeddings_figures.ipynb#23.4'}, '23.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter23_graph_embeddings_figures.ipynb#23.5'}, '23.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter23_graph_embeddings_figures.ipynb#23.6'}, '23.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter23_graph_embeddings_figures.ipynb#23.7'}, '23.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter23_graph_embeddings_figures.ipynb#23.8'}, '23.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter23_graph_embeddings_figures.ipynb#23.9'}, '3.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter3_probability_multivariate_models_figures.ipynb#3.1'}, '3.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter3_probability_multivariate_models_figures.ipynb#3.10'}, '3.11': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter3_probability_multivariate_models_figures.ipynb#3.11'}, '3.12': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter3_probability_multivariate_models_figures.ipynb#3.12'}, '3.13': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter3_probability_multivariate_models_figures.ipynb#3.13'}, '3.14': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter3_probability_multivariate_models_figures.ipynb#3.14'}, '3.15': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter3_probability_multivariate_models_figures.ipynb#3.15'}, '3.16': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter3_probability_multivariate_models_figures.ipynb#3.16'}, '3.17': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter3_probability_multivariate_models_figures.ipynb#3.17'}, '3.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter3_probability_multivariate_models_figures.ipynb#3.2'}, '3.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter3_probability_multivariate_models_figures.ipynb#3.3'}, '3.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter3_probability_multivariate_models_figures.ipynb#3.4'}, '3.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter3_probability_multivariate_models_figures.ipynb#3.5'}, '3.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter3_probability_multivariate_models_figures.ipynb#3.6'}, '3.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter3_probability_multivariate_models_figures.ipynb#3.7'}, '3.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter3_probability_multivariate_models_figures.ipynb#3.8'}, '3.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter3_probability_multivariate_models_figures.ipynb#3.9'}, '4.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.1'}, '4.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.10'}, '4.11': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.11'}, '4.12': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.12'}, '4.13': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.13'}, '4.14': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.14'}, '4.15': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.15'}, '4.16': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.16'}, '4.17': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.17'}, '4.18': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.18'}, '4.19': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.19'}, '4.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.2'}, '4.20': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.20'}, '4.21': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.21'}, '4.22': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.22'}, '4.23': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.23'}, '4.24': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.24'}, '4.25': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.25'}, '4.26': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.26'}, '4.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.3'}, '4.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.4'}, '4.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.5'}, '4.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.6'}, '4.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.7'}, '4.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.8'}, '4.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter4_statistics_figures.ipynb#4.9'}, '5.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter5_decision_theory_figures.ipynb#5.1'}, '5.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter5_decision_theory_figures.ipynb#5.10'}, '5.11': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter5_decision_theory_figures.ipynb#5.11'}, '5.12': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter5_decision_theory_figures.ipynb#5.12'}, '5.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter5_decision_theory_figures.ipynb#5.2'}, '5.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter5_decision_theory_figures.ipynb#5.3'}, '5.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter5_decision_theory_figures.ipynb#5.4'}, '5.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter5_decision_theory_figures.ipynb#5.5'}, '5.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter5_decision_theory_figures.ipynb#5.6'}, '5.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter5_decision_theory_figures.ipynb#5.7'}, '5.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter5_decision_theory_figures.ipynb#5.8'}, '5.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter5_decision_theory_figures.ipynb#5.9'}, '6.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter6_information_theory_figures.ipynb#6.1'}, '6.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter6_information_theory_figures.ipynb#6.2'}, '6.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter6_information_theory_figures.ipynb#6.3'}, '6.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter6_information_theory_figures.ipynb#6.4'}, '6.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter6_information_theory_figures.ipynb#6.5'}, '6.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter6_information_theory_figures.ipynb#6.6'}, '6.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter6_information_theory_figures.ipynb#6.7'}, '7.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter7_linear_algebra_figures.ipynb#7.1'}, '7.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter7_linear_algebra_figures.ipynb#7.10'}, '7.11': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter7_linear_algebra_figures.ipynb#7.11'}, '7.12': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter7_linear_algebra_figures.ipynb#7.12'}, '7.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter7_linear_algebra_figures.ipynb#7.2'}, '7.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter7_linear_algebra_figures.ipynb#7.3'}, '7.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter7_linear_algebra_figures.ipynb#7.4'}, '7.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter7_linear_algebra_figures.ipynb#7.5'}, '7.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter7_linear_algebra_figures.ipynb#7.6'}, '7.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter7_linear_algebra_figures.ipynb#7.7'}, '7.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter7_linear_algebra_figures.ipynb#7.8'}, '7.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter7_linear_algebra_figures.ipynb#7.9'}, '8.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.1'}, '8.10': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.10'}, '8.11': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.11'}, '8.12': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.12'}, '8.13': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.13'}, '8.14': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.14'}, '8.15': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.15'}, '8.16': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.16'}, '8.17': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.17'}, '8.18': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.18'}, '8.19': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.19'}, '8.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.2'}, '8.20': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.20'}, '8.21': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.21'}, '8.22': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.22'}, '8.23': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.23'}, '8.24': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.24'}, '8.25': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.25'}, '8.26': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.26'}, '8.27': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.27'}, '8.28': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.28'}, '8.29': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.29'}, '8.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.3'}, '8.30': {'link': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/book1/figures/chapter8_optimization_figures.ipynb#8.30'}, '8.31': {'link': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/book1/figures/chapter8_optimization_figures.ipynb#8.31'}, '8.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.4'}, '8.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.5'}, '8.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.6'}, '8.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.7'}, '8.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.8'}, '8.9': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter8_optimization_figures.ipynb#8.9'}, '9.1': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter9_linear_discriminant_analysis_figures.ipynb#9.1'}, '9.2': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter9_linear_discriminant_analysis_figures.ipynb#9.2'}, '9.3': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter9_linear_discriminant_analysis_figures.ipynb#9.3'}, '9.4': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter9_linear_discriminant_analysis_figures.ipynb#9.4'}, '9.5': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter9_linear_discriminant_analysis_figures.ipynb#9.5'}, '9.6': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter9_linear_discriminant_analysis_figures.ipynb#9.6'}, '9.7': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter9_linear_discriminant_analysis_figures.ipynb#9.7'}, '9.8': {'link': 'https://colab.research.google.com/github/probml/pml-book/blob/main/pml1/figure_notebooks//chapter9_linear_discriminant_analysis_figures.ipynb#9.8'}, '9.9': {'link': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/book1/figures/chapter9_linear_discriminant_analysis_figures.ipynb#9.9'}, 'attention_torch': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/transposed_conv_torch.py'}, 'batchnorm_torch': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/linsys_solve_demo.py'}, 'bert_torch': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/transposed_conv_torch.py'}, 'betaHPD': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/betaHPD.py'}, 'beta_credible_int_demo': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/beta_credible_int_demo.py'}, 'cholesky_demo': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/cholesky_demo.py'}, 'cifar10_cnn_lightning': {'link': 'https://colab.research.google.com/github/probml/probml-notebooks/blob/master/notebooks/cifar10_cnn_lightning.ipynb'}, 'cnn1d_sentiment_torch': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/transposed_conv_torch.py'}, 'conv2d_as_matrix_mult.py': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/conv2d_as_matrix_mult.py.py'}, 'conv2d_torch': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/linsys_solve_demo.py'}, 'correlation2d': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/correlation2d.py'}, 'densenet_torch': {'link': 'https://colab.research.google.com/github/probml/probml-notebooks/blob/master/notebooks/cifar10_cnn_lightning.ipynb'}, 'dtheory': {'link': 'https://colab.research.google.com/github/probml/probml-notebooks/blob/master/notebooks/dtheory.ipynb'}, 'einsum_demo': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/einsum_demo.py'}, 'entailment_attention_mlp_torch': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/transposed_conv_torch.py'}, 'finetune_cnn_torch': {'link': 'https://colab.research.google.com/github/probml/probml-notebooks/blob/master/notebooks/finetune_cnn_torch.ipynb'}, 'gru_torch': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/transposed_conv_torch.py'}, 'layer_norm_torch': {'link': 'https://colab.research.google.com/github/probml/probml-notebooks/blob/master/notebooks/layer_norm_torch.ipynb'}, 'lenet_torch': {'link': 'https://colab.research.google.com/github/probml/probml-notebooks/blob/master/notebooks/lenet_torch.ipynb'}, 'linsys_solve_demo': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/linsys_solve_demo.py'}, 'lstm_torch': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/transposed_conv_torch.py'}, 'mix_bernoulli_sgd_mnist': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/mix_bernoulli_sgd_mnist.py'}, 'multi_gpu_training_torch': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/linsys_solve_demo.py'}, 'multi_head_attention': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/transposed_conv_torch.py'}, 'nmt_attention_torch': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/transposed_conv_torch.py'}, 'nmt_torch': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/transposed_conv_torch.py'}, 'perceptron_demo_2d': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/perceptron_demo_2d.py'}, 'power_method_demo': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/power_method_demo.py'}, 'resnet_torch': {'link': 'https://colab.research.google.com/github/probml/probml-notebooks/blob/master/notebooks/lenet_torch.ipynb'}, 'rnn_sentiment_torch': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/transposed_conv_torch.py'}, 'rnn_torch': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/transposed_conv_torch.py'}, 'skipgram_torch': {'link': 'https://colab.research.google.com/github/probml/probml-notebooks/blob/master/notebooks/skipgram_torch.ipynb'}, 'sprinkler_pgm': {'link': 'https://colab.research.google.com/github/probml/probml-notebooks/blob/master/notebooks/sprinkler_pgm.ipynb'}, 'text_preproc_torch': {'link': 'https://colab.research.google.com/github/probml/probml-notebooks/blob/master/notebooks/text_preproc_torch.ipynb'}, 'tfidf_demo': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/tfidf_demo.py'}, 'transformers_torch': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/transposed_conv_torch.py'}, 'transposed_conv_torch': {'link': 'https://github.com/probml/pyprobml/blob/master/scripts/transposed_conv_torch.py'}, 'word_analogies_torch': {'link': 'https://colab.research.google.com/github/probml/probml-notebooks/blob/master/notebooks/word_analogies_torch.ipynb'}, 'x.y': {'link': 'https://github.com/probml/pml-book/tree/main/pml1'}}}}}
# save as csv df = pd.DataFrame( database_backup_json[level1_collection][level2_document][level3_collection].items(), columns=["key", "url"] ) df["url"] = df["url"].apply(lambda x: x["link"]) df.set_index(keys="key", inplace=True, drop=True) df
df.to_csv("old_database_urls_mapping.csv")

Upload as figure_old

df = pd.read_csv("old_database_urls_mapping.csv") df
level1_collection = "figures" level2_document = "book1" level3_collection = "figures_old" collection = db.collection(level1_collection).document(level2_document).collection(level3_collection)
for (key, url) in list(zip(df["key"], df["url"])): clear_output(wait=True) collection.document(key).set({"link": url}) print(key)
x.y