From 3125480b947682dfa56761590f607b5a42fd52e8 Mon Sep 17 00:00:00 2001
From: Jakob Robnik <43053552+JakobRobnik@users.noreply.github.com>
Date: Fri, 13 Oct 2023 15:07:16 +0200
Subject: [PATCH 1/8] Created using Colaboratory
---
notebooks/tutorials/intro_tutorial.ipynb | 74 +++++++++++++++---------
1 file changed, 46 insertions(+), 28 deletions(-)
diff --git a/notebooks/tutorials/intro_tutorial.ipynb b/notebooks/tutorials/intro_tutorial.ipynb
index 1af1213..c1a19e9 100644
--- a/notebooks/tutorials/intro_tutorial.ipynb
+++ b/notebooks/tutorials/intro_tutorial.ipynb
@@ -3,11 +3,11 @@
{
"cell_type": "markdown",
"metadata": {
- "colab_type": "text",
- "id": "view-in-github"
+ "id": "view-in-github",
+ "colab_type": "text"
},
"source": [
- ""
+ ""
]
},
{
@@ -21,30 +21,49 @@
},
{
"cell_type": "markdown",
+ "source": [
+ "\n",
+ "\n",
+ "First, let's import the MCHMC code.\n"
+ ],
+ "metadata": {
+ "id": "MbK7Gv7hIc-i"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "!git clone https://github.com/JakobRobnik/MicroCanonicalHMC.git"
+ ],
"metadata": {
- "id": "rEAjgH6b6MiR"
+ "id": "zS-IBX_rIY8B"
},
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
"source": [
"We will be using jax, as it can automatically compute gradients."
- ]
+ ],
+ "metadata": {
+ "id": "B42CrO21Ijph"
+ }
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 5,
"metadata": {
"id": "Rrzbg6xjz2gm"
},
"outputs": [],
"source": [
- "import sys \n",
- "sys.path.insert(0, '../../')\n",
- "\n",
"import jax\n",
"import jax.numpy as jnp\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
- "from sampling.sampler import Sampler"
+ "from MicroCanonicalHMC.sampling.sampler import Sampler"
]
},
{
@@ -100,7 +119,7 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 13,
"metadata": {
"id": "n2nW60C-zDIF"
},
@@ -123,7 +142,7 @@
" \"\"\"Args: jax random key\n",
" Returns: one random sample from the prior\"\"\"\n",
"\n",
- " return jax.random.normal(key, shape = (self.d, ), dtype = 'float64') * 4"
+ " return jax.random.normal(key, shape = (self.d, )) * 4"
]
},
{
@@ -148,7 +167,7 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 14,
"metadata": {
"id": "aMvFvS4Lz8Up"
},
@@ -173,7 +192,7 @@
" `sampler.frac_tune1 = 0.05`\n",
" before the sampling starts.\n",
"\n",
- " **WARNING: sometimes the default energy error 0.005 (which is used to tune the stepsize) is not optimal. Try decreasing it, say by a factor = 10 - 100 and accordingly increase the number of samples by factor^1/6 to see if the posteriors remain the same. On some other problems 0.005 is to conservative and you can improve the performance by increasing it.**"
+ " **WARNING: sometimes the default energy error 0.005 (which is used to tune the stepsize) is not optimal, especially if you are not interested in all of the parameters but specifialcally in the hardest-to-sample parameters (as is the case for example in hierarchical Bayesian models). Try decreasing the energy error, say by a factor = 10 - 100 and accordingly increase the number of samples by factor^1/6 to see if the posteriors remain the same. On some other problems 0.005 is to conservative and you can improve the performance by increasing it.**"
]
},
{
@@ -187,7 +206,7 @@
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": 16,
"metadata": {
"id": "sucJHLMi0Jfh"
},
@@ -207,18 +226,18 @@
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": 17,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "yypd11zL5Cof",
- "outputId": "d1093e20-4e6c-4ec1-d943-03167976ce01"
+ "outputId": "7a5cdb58-fdf0-4a35-df49-9a44fbf1bea1"
},
"outputs": [
{
- "name": "stdout",
"output_type": "stream",
+ "name": "stdout",
"text": [
"(3, 5000, 2)\n"
]
@@ -239,25 +258,25 @@
},
{
"cell_type": "code",
- "execution_count": 12,
+ "execution_count": 18,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 455
},
"id": "FQWghKb41Yvy",
- "outputId": "d8e9316d-5f37-4ad7-d44c-55818d06ae64"
+ "outputId": "b2035935-6e3b-422e-adb0-806be26b3c3f"
},
"outputs": [
{
+ "output_type": "display_data",
"data": {
- "image/png": "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",
"text/plain": [
"