Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
probml
GitHub Repository: probml/pyprobml
Path: blob/master/internal/data_upload_firestore.ipynb
1191 views
Kernel: Python [conda env:pymc_exp]

Firestore DB configuration

from IPython.display import clear_output from glob import glob from probml_utils.url_utils import figure_url_mapping_from_lof from probml_utils.url_utils import non_figure_notebook_url_mapping from probml_utils.url_utils import upload_urls_to_firestore, create_firestore_db import firebase_admin from firebase_admin import credentials, firestore, initialize_app import pandas as pd %config Completer.use_jedi = False
key_path = "../../key_karm_gcp.json"

Mapping of Figures url

figure_mapping = figure_url_mapping_from_lof("pml1.lof", "figures_url_mapping_book1.csv") figure_mapping
Mapping of 219 urls is saved in figures_url_mapping_book1.csv
{'1.3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/iris_plot.ipynb', '1.4': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/iris_dtree.ipynb', '1.5': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/linreg_residuals_plot.ipynb', '1.6': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/linreg_2d_surface_demo.ipynb', '1.7': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/linreg_poly_vs_degree.ipynb', '1.8': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/iris_kmeans.ipynb', '1.9': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/iris_pca.ipynb', '1.12': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/fig_1_12.ipynb', '1.13': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/01/fig_1_13.ipynb', '2.1': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/discrete_prob_dist_plot.ipynb', '2.2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/fig_2_2.ipynb', '2.4': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/bimodal_dist_plot.ipynb', '2.5': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/anscombes_quartet.ipynb', '2.6': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/datasaurus_dozen.ipynb', '2.9': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/binom_dist_plot.ipynb', '2.10': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/activation_fun_plot.ipynb', '2.11': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/iris_logreg.ipynb', '2.12': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/softmax_plot.ipynb', '2.13': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/iris_logreg.ipynb', '2.14': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/linreg_1d_hetero_tfp.ipynb', '2.15': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/student_laplace_pdf_plot.ipynb', '2.16': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/robust_pdf_plot.ipynb', '2.17': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/fig_2_17.ipynb', '2.23': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/centralLimitDemo.ipynb', '2.24': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/02/change_of_vars_demo1d.ipynb', '3.3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/simpsons_paradox.ipynb', '3.5': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/gauss_plot_2d.ipynb', '3.6': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/gauss_plot_2d.ipynb', '3.7': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/gauss_imputation_known_params_demo.ipynb', '3.8': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/gauss_infer_1d.ipynb', '3.9': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/gauss_infer_2d.ipynb', '3.10': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/sensor_fusion_2d.ipynb', '3.11': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/gmm_plot_demo.ipynb', '3.12': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/gmm_2d.ipynb', '3.13': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/03/mix_bernoulli_em_mnist.ipynb', '4.1': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/iris_cov_mat.ipynb', '4.2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/hinge_loss_plot.ipynb', '4.3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/ema_demo.ipynb', '4.4': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/shrinkcov_plots.ipynb', '4.5': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/linreg_poly_ridge.ipynb', '4.7': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/polyfitRidgeCV.ipynb', '4.8': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/imdb_mlp_bow_tf.ipynb', '4.9': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/linreg_poly_vs_n.ipynb', '4.10': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/beta_binom_post_plot.ipynb', '4.12': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/beta_binom_post_pred_plot.ipynb', '4.13': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/mixbetademo.ipynb', '4.14': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/fig_4_14.ipynb', '4.15': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/dirichlet_samples_plot.ipynb', '4.16': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/gauss_infer_1d.ipynb', '4.17': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/gauss_infer_2d.ipynb', '4.18': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/betaHPD.ipynb', '4.19': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/postDensityIntervals.ipynb', '4.20': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/fig_4_20.ipynb', '4.22': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/laplace_approx_beta_binom_jax.ipynb', '4.23': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/bootstrapDemoBer.ipynb', '4.24': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/samplingDistributionGaussianShrinkage.ipynb', '4.25': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/04/biasVarModelComplexity3.ipynb', '5.2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/fig_5_2.ipynb', '5.3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/huberLossPlot.ipynb', '5.4': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/coins_model_sel_demo.ipynb', '5.5': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/linreg_eb_modelsel_vs_n.ipynb', '5.6': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/linreg_eb_modelsel_vs_n.ipynb', '5.8': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/riskFnGauss.ipynb', '5.10': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/05/fig_5_10.ipynb', '6.1': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/06/bernoulli_entropy_fig.ipynb', '6.2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/06/seq_logo_demo.ipynb', '6.3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/06/KLfwdReverseMixGauss.ipynb', '6.6': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/06/MIC_correlation_2d.ipynb', '7.6': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/07/gaussEvec.ipynb', '7.7': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/07/height_weight_whiten_plot.ipynb', '7.9': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/07/svd_image_demo.ipynb', '7.10': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/07/svd_image_demo.ipynb', '8.1': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/fig_8_1.ipynb', '8.7': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/smooth-vs-nonsmooth-1d.ipynb', '8.11': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/steepestDescentDemo.ipynb', '8.12': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/lineSearchConditionNum.ipynb', '8.14': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/fig_8_14.ipynb', '8.16': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/lms_demo.ipynb', '8.17': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/lrschedule_tf.ipynb', '8.18': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/learning_rate_plot.ipynb', '8.23': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/emLogLikelihoodMax.ipynb', '8.25': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/mix_gauss_demo_faithful.ipynb', '8.26': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/fig_8_26.ipynb', '8.27': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/08/gmm_lik_surface_plot.ipynb', '9.1': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/discrim_analysis_dboundaries_plot2.ipynb', '9.2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/discrim_analysis_dboundaries_plot2.ipynb', '9.4': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/fisher_lda_demo.ipynb', '9.5': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/fisher_discrim_vowel.ipynb', '9.6': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/naive_bayes_mnist_jax.ipynb', '9.7': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/naive_bayes_mnist_jax.ipynb', '9.8': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/09/generativeVsDiscrim.ipynb', '10.1': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/iris_logreg.ipynb', '10.2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/sigmoid_2d_plot.ipynb', '10.4': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/logreg_poly_demo.ipynb', '10.5': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/iris_logreg_loss_surface.ipynb', '10.6': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/logreg_poly_demo.ipynb', '10.7': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/logreg_multiclass_demo.ipynb', '10.10': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/logreg_iris_bayes_robust_1d_pymc3.ipynb', '10.13': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/logreg_laplace_demo.ipynb', '10.14': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/10/logreg_laplace_demo.ipynb', '11.1': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linreg_poly_vs_degree.ipynb', '11.2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linreg_contours_sse_plot.ipynb', '11.4': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linregOnlineDemo.ipynb', '11.5': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linreg_poly_vs_degree.ipynb', '11.6': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linreg_poly_vs_degree.ipynb', '11.7': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/geom_ridge.ipynb', '11.10': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/fig_11_10.ipynb', '11.11': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/prostate_comparison.ipynb', '11.12': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/prostate_comparison.ipynb', '11.13': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/sparse_sensing_demo.ipynb', '11.14': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/groupLassoDemo.ipynb', '11.15': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/groupLassoDemo.ipynb', '11.16': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/splines_basis_weighted.ipynb', '11.17': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/splines_basis_heatmap.ipynb', '11.18': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/splines_cherry_blossoms.ipynb', '11.19': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/fig_11_19.ipynb', '11.20': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linreg_2d_bayes_demo.ipynb', '11.21': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linreg_post_pred_plot.ipynb', '11.22': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/linreg_2d_bayes_centering_pymc3.ipynb', '11.23': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/multi_collinear_legs_numpyro.ipynb', '11.24': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/11/multi_collinear_legs_numpyro.ipynb', '12.1': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/12/poisson_regression_insurance.ipynb', '12.2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/12/poisson_regression_insurance.ipynb', '13.1': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/xor_heaviside.ipynb', '13.2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/activation_fun_plot.ipynb', '13.4': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/mlp_mnist_tf.ipynb', '13.6': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/mlp_1d_regression_hetero_tfp.ipynb', '13.14': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/activation_fun_deriv_jax.ipynb', '13.17': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/sparse_mlp.ipynb', '13.20': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/sgd_minima_variance.ipynb', '13.21': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/logregXorDemo.ipynb', '13.22': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/linregRbfDemo.ipynb', '13.23': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/13/mixexpDemoOneToMany.ipynb', '14.5': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/conv2d_jax.ipynb', '14.9': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/conv2d_jax.ipynb', '14.17': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/14/cnn_mnist_tf.ipynb', '15.2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/rnn_jax.ipynb', '15.17': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/kernel_regression_attention.ipynb', '15.25': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/15/positional_encoding_jax.ipynb', '16.1': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/knn_voronoi_plot.ipynb', '16.2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/knn_classify_demo.ipynb', '16.3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/curse_dimensionality_plot.ipynb', '16.8': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/smoothingKernelPlot.ipynb', '16.9': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/parzen_window_demo2.ipynb', '16.10': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/16/kernelRegressionDemo.ipynb', '17.1': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gprDemoArd.ipynb', '17.2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gpKernelPlot.ipynb', '17.3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gpKernelPlot.ipynb', '17.7': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gprDemoNoiseFree.ipynb', '17.8': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gprDemoChangeHparams.ipynb', '17.9': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gpr_demo_marglik.ipynb', '17.10': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gp_classify_iris_1d_pymc3.ipynb', '17.11': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/gp_classify_spaceflu_1d_pymc3.ipynb', '17.14': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/svm_classifier_feature_scaling.ipynb', '17.17': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/svm_classifier_2d.ipynb', '17.18': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/svmCgammaDemo.ipynb', '17.19': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/huberLossPlot.ipynb', '17.20': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/svm_regression_1d.ipynb', '17.21': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/kernelBinaryClassifDemo.ipynb', '17.22': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/rvm_regression_1d.ipynb', '17.23': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/17/rvm_regression_1d.ipynb', '18.1': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/regtreeSurfaceDemo.ipynb', '18.3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/dtree_sensitivity.ipynb', '18.4': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/fig_18_4.ipynb', '18.5': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/spam_tree_ensemble_compare.ipynb', '18.6': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/boosted_regr_trees.ipynb', '18.7': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/hinge_loss_plot.ipynb', '18.8': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/rf_feature_importance_mnist.ipynb', '18.9': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/spam_tree_ensemble_interpret.ipynb', '18.10': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/18/spam_tree_ensemble_interpret.ipynb', '19.1': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/19/image_augmentation_jax.ipynb', '19.14': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/19/hbayes_maml.ipynb', '20.1': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pcaDemo2d.ipynb', '20.2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pca_digits.ipynb', '20.3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pcaImageDemo.ipynb', '20.4': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pca_projected_variance.ipynb', '20.5': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pcaStandardization.ipynb', '20.6': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pcaOverfitDemo.ipynb', '20.7': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pcaOverfitDemo.ipynb', '20.8': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pcaOverfitDemo.ipynb', '20.10': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/pcaEmStepByStep.ipynb', '20.12': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/mixPpcaDemo.ipynb', '20.13': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/binary_fa_demo.ipynb', '20.17': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/ae_mnist_tf.ipynb', '20.18': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/ae_mnist_tf.ipynb', '20.19': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/ae_mnist_tf.ipynb', '20.21': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/ae_mnist_tf.ipynb', '20.24': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_24.ipynb', '20.25': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_25.ipynb', '20.26': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_26.ipynb', '20.27': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/vae_mnist_conv_lightning.ipynb', '20.30': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_30.ipynb', '20.31': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_31.ipynb', '20.33': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_33.ipynb', '20.34': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/manifold_swiss_sklearn.ipynb', '20.35': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/kpcaScholkopf.ipynb', '20.36': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_36.ipynb', '20.37': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_37.ipynb', '20.38': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_38.ipynb', '20.41': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/20/fig_20_41.ipynb', '21.2': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/agglomDemo.ipynb', '21.4': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/hclust_yeast_demo.ipynb', '21.5': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/yeast_data_viz.ipynb', '21.6': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/hclust_yeast_demo.ipynb', '21.7': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/kmeans_voronoi.ipynb', '21.8': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/kmeans_yeast_demo.ipynb', '21.9': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/vqDemo.ipynb', '21.10': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/kmeans_minibatch.ipynb', '21.11': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/fig_21_11.ipynb', '21.12': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/kmeans_silhouette.ipynb', '21.13': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/kmeans_silhouette.ipynb', '21.14': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/gmm_2d.ipynb', '21.15': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/gmm_identifiability_pymc3.ipynb', '21.16': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/gmm_identifiability_pymc3.ipynb', '21.17': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/gmm_chooseK_pymc3.ipynb', '21.18': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/gmm_chooseK_pymc3.ipynb', '21.19': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/21/spectral_clustering_demo.ipynb', '22.3': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/22/matrix_factorization_recommender.ipynb', '22.4': 'https://colab.research.google.com/github/probml/pyprobml/blob/master/notebooks/book1/22/matrix_factorization_recommender.ipynb'}
# check_dead_urls(figure_mapping, print_dead_url=True)

Mapping of Non-figures url

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

Upload both types of url in firestore

# delete all urls db = create_firestore_db(key_path) ref = db.collection("figures").document("book1").collection("figures") for doc in ref.get(): clear_output(wait=True) ref.document(doc.id).delete() print(doc.id)
spam_tree_ensemble_interpret
# upload non-figure urls upload_urls_to_firestore( key_path, "non_figures_url_mapping_book1_backward_compatibility.csv", level2_document="book1", level3_collection="figures", )
Uploading... 272 urls uploaded!
# upload figure urls upload_urls_to_firestore( key_path, "figures_url_mapping_book1_backward_compatibility.csv", level2_document="book1", level3_collection="figures", )
Uploading... 219 urls uploaded!

Revert back to old urls

# upload figure urls upload_urls_to_firestore( key_path, "database_backup_book1_old_urls.csv", level2_document="book1", level3_collection="figures" )
Uploading... 492 urls uploaded!