{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "89w44Uhd11P7"
      },
      "source": [
        "### Notebook for Submission:\n",
        "\n",
        "# **In-Context Occam's Razor: How Transformers Prefer Simpler Hypotheses on the Fly**\n",
        "\n",
        "## MOSS Workshop @ ICML 2025\n",
        "\n",
        "\n",
        "This notebook provides a reproduction of the paper's key experiment (Fig. 1), where we show that Transformers trained on mixture of order-1 and order-3 Markov chains for next-token prediction, can correctly identify the chain that is simple and explains the context well, and predict using that.\n",
        "\n",
        "For the results in Fig. 1 in the paper, we use sequence length $300$, with learning rate $10^{-4}$ for $25k$ iterations. Here, to speed up the runtime, we use sequence length $200$, with learning rate $10^{-3}$ for $5k$ iterations."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "CqbkL3NUr27S"
      },
      "source": [
        "**Note:**\n",
        "- The **train cell(s)** below saves all outputs under `RUN_DIR` (in `logs/content`).\n",
        "- You can check progress in the files in `RUN_DIR`. It takes a while to print the logged results.\n",
        "- Expect it to take about **40 minutes** on a GPU runtime.\n",
        "- You can then run the **infer cell** after the next to visualize the results."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "cFTiGTA64qQz"
      },
      "source": [
        "# Setup"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "rBpd-wKsza7Y",
        "outputId": "e71e1e74-45df-4a5c-971e-046dc39e8b56"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Cloning into 'icl-mc-release'...\n",
            "remote: Enumerating objects: 37, done.\u001b[K\n",
            "remote: Counting objects: 100% (37/37), done.\u001b[K\n",
            "remote: Compressing objects: 100% (37/37), done.\u001b[K\n",
            "remote: Total 37 (delta 16), reused 0 (delta 0), pack-reused 0 (from 0)\u001b[K\n",
            "Receiving objects: 100% (37/37), 37.82 KiB | 5.40 MiB/s, done.\n",
            "Resolving deltas: 100% (16/16), done.\n",
            "/content/icl-mc-release/icl-mc-release\n"
          ]
        }
      ],
      "source": [
        "# ----- 2.  grab the anonymous repo -----\n",
        "!git clone https://github.com/throwaway-res/icl-mc-release.git\n",
        "%cd icl-mc-release"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "K_ighOBvz09G",
        "outputId": "c48b76fc-e625-4529-ad2f-65bbb2d60ce3"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Environment variables set.\n"
          ]
        }
      ],
      "source": [
        "# ----------------- Python cell -----------------\n",
        "LR              = 1e-3\n",
        "STEPS           = 5000\n",
        "SEQ_LEN         = 200  #Train seq len\n",
        "BS              = 32\n",
        "NUM_HEADS       = 6\n",
        "NUM_LAYERS      = 6\n",
        "DIM             = 192\n",
        "ORDER_LIST      = \"1,3\"  #Markov chain orders we're training on \n",
        "TEST_ORDER_LIST = \"1,3\"  #Inference time Markov chain orders\n",
        "TEST_SEQ_LEN    = \"200,200\"  #Test Seq len for the above orders\n",
        "SAVE_INTERVAL   = 1_000_000\n",
        "\n",
        "import os, datetime, pathlib, json\n",
        "RUN_DIR = pathlib.Path(\"/content/logs\") / datetime.datetime.now().strftime(\"%Y%m%d_%H%M%S\")\n",
        "RUN_DIR.mkdir(parents=True, exist_ok=True)\n",
        "\n",
        "# Make the values visible to the *next* shell cell\n",
        "for k, v in dict(LR=LR, STEPS=STEPS, SEQ_LEN=SEQ_LEN, BS=BS,\n",
        "                 NUM_HEADS=NUM_HEADS, NUM_LAYERS=NUM_LAYERS, DIM=DIM,\n",
        "                 ORDER_LIST=ORDER_LIST, TEST_ORDER_LIST=TEST_ORDER_LIST,\n",
        "                 TEST_SEQ_LEN=TEST_SEQ_LEN, SAVE_INTERVAL=SAVE_INTERVAL,\n",
        "                 RUN_DIR=str(RUN_DIR)).items():\n",
        "    os.environ[k] = str(v)\n",
        "print(\"Environment variables set.\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "4hXUCDHj4x_z"
      },
      "source": [
        "# Train Cell"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "1EQqIUTK0R4e",
        "outputId": "46edfd9c-d65a-457b-ccfc-3d3d28d03811"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Logs will go to /content/logs/20250526_223725\n"
          ]
        }
      ],
      "source": [
        "import os, datetime, pathlib\n",
        "RUN_DIR = pathlib.Path(\"/content/logs\") / datetime.datetime.now().strftime(\"%Y%m%d_%H%M%S\")\n",
        "RUN_DIR.mkdir(parents=True, exist_ok=True)\n",
        "print(\"Logs will go to\", RUN_DIR)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "y48N8zQH0bmz",
        "outputId": "7daaad95-0752-487b-e554-4db41a642e9b"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\n",
            "python main.py\n",
            "  --lr 0.001\n",
            "  --steps 5000\n",
            "  --sequence_length 200\n",
            "  --bs 32\n",
            "  --log_interval 50\n",
            "  --path /content/logs/20250526_223725\n",
            "  --num_heads 6\n",
            "  --num_layers 6\n",
            "  --vocab_size 3\n",
            "  --sparsity 1\n",
            "  --dim 192\n",
            "  --order_list 1,3\n",
            "  --test_order_list 1,3\n",
            "  --test_seq_len 200,200\n",
            "  --if_layer_norm\n",
            "  --if_mlp\n",
            "  --save_interval 1000000\n",
            "\n",
            "STDOUT:\n",
            " device cuda\n",
            "number of parameters: 2.90M\n",
            "Itr [0], Order: 1, KL values: 0: 0.99272791, 1: 0.77293301, 2: 0.86900920, 3: 1.00315154, 4: 1.04433429, 5: 1.12228167\n",
            "\n",
            "Itr [0], Order: 3, KL values: 0: 1.03409329, 1: 0.70422256, 2: 0.74976456, 3: 0.79283702, 4: 0.88665676, 5: 1.20098841\n",
            "\n",
            "Model saved to /content/logs/20250526_223725/step:0_model.pth\n",
            "Itr [50], Order: 1, KL values: 0: 0.22686428, 1: 0.00368983, 2: 0.07825205, 3: 0.24049255, 4: 0.27626988, 5: 0.35719562\n",
            "\n",
            "Itr [50], Order: 3, KL values: 0: 0.25673851, 1: 0.00318517, 2: 0.01611841, 3: 0.05351697, 4: 0.14249860, 5: 0.40538067\n",
            "\n",
            "Itr [100], Order: 1, KL values: 0: 0.25741139, 1: 0.02547728, 2: 0.05736901, 3: 0.26859960, 4: 0.30540556, 5: 0.38893619\n",
            "\n",
            "Itr [100], Order: 3, KL values: 0: 0.27907730, 1: 0.02065165, 2: 0.02164261, 3: 0.07672112, 4: 0.16497408, 5: 0.42816648\n",
            "\n",
            "Itr [150], Order: 1, KL values: 0: 0.19852023, 1: 0.01840020, 2: 0.04498156, 3: 0.20915873, 4: 0.24635832, 5: 0.32976642\n",
            "\n",
            "Itr [150], Order: 3, KL values: 0: 0.25744156, 1: 0.00832802, 2: 0.01209946, 3: 0.04920896, 4: 0.13944077, 5: 0.40587091\n",
            "\n",
            "Itr [200], Order: 1, KL values: 0: 0.17558270, 1: 0.04524881, 2: 0.02359230, 3: 0.18441980, 4: 0.22185560, 5: 0.30511865\n",
            "\n",
            "Itr [200], Order: 3, KL values: 0: 0.24667462, 1: 0.01616566, 2: 0.00832961, 3: 0.04044715, 4: 0.13059464, 5: 0.38919693\n",
            "\n",
            "Itr [250], Order: 1, KL values: 0: 0.18046923, 1: 0.04408614, 2: 0.02062689, 3: 0.18813626, 4: 0.22643164, 5: 0.31152675\n",
            "\n",
            "Itr [250], Order: 3, KL values: 0: 0.25335084, 1: 0.01183795, 2: 0.00613565, 3: 0.04333384, 4: 0.13419308, 5: 0.39882365\n",
            "\n",
            "Itr [300], Order: 1, KL values: 0: 0.18298212, 1: 0.02496714, 2: 0.03613156, 3: 0.19197831, 4: 0.22893557, 5: 0.31258139\n",
            "\n",
            "Itr [300], Order: 3, KL values: 0: 0.25325778, 1: 0.01005925, 2: 0.00892172, 3: 0.04272253, 4: 0.13418514, 5: 0.39718628\n",
            "\n",
            "Itr [350], Order: 1, KL values: 0: 0.17026418, 1: 0.04734317, 2: 0.01936192, 3: 0.17836633, 4: 0.21666491, 5: 0.30104110\n",
            "\n",
            "Itr [350], Order: 3, KL values: 0: 0.25253016, 1: 0.00788642, 2: 0.00694628, 3: 0.04341764, 4: 0.13268980, 5: 0.39707273\n",
            "\n",
            "Itr [400], Order: 1, KL values: 0: 0.16575592, 1: 0.05940458, 2: 0.02436015, 3: 0.17331524, 4: 0.21307988, 5: 0.29609600\n",
            "\n",
            "Itr [400], Order: 3, KL values: 0: 0.25359377, 1: 0.01242593, 2: 0.01011648, 3: 0.04224656, 4: 0.13139525, 5: 0.39486992\n",
            "\n",
            "Itr [450], Order: 1, KL values: 0: 0.16135690, 1: 0.08335650, 2: 0.02826437, 3: 0.16700841, 4: 0.20558879, 5: 0.28954881\n",
            "\n",
            "Itr [450], Order: 3, KL values: 0: 0.25822987, 1: 0.01983671, 2: 0.01260922, 3: 0.04798843, 4: 0.13538095, 5: 0.39641535\n",
            "\n",
            "Itr [500], Order: 1, KL values: 0: 0.16778659, 1: 0.11265099, 2: 0.01437887, 3: 0.17388572, 4: 0.21362162, 5: 0.30002680\n",
            "\n",
            "Itr [500], Order: 3, KL values: 0: 0.24706194, 1: 0.01046817, 2: 0.00403623, 3: 0.04073343, 4: 0.12865981, 5: 0.38876075\n",
            "\n",
            "Itr [550], Order: 1, KL values: 0: 0.17068062, 1: 0.06526889, 2: 0.01737682, 3: 0.17842010, 4: 0.21738091, 5: 0.30103365\n",
            "\n",
            "Itr [550], Order: 3, KL values: 0: 0.25195001, 1: 0.01126079, 2: 0.00782898, 3: 0.04578504, 4: 0.13489957, 5: 0.39531910\n",
            "\n",
            "Itr [600], Order: 1, KL values: 0: 0.17203904, 1: 0.04883436, 2: 0.02059611, 3: 0.18004498, 4: 0.21777213, 5: 0.30196244\n",
            "\n",
            "Itr [600], Order: 3, KL values: 0: 0.24873743, 1: 0.00580496, 2: 0.00552691, 3: 0.04351159, 4: 0.13165441, 5: 0.39320865\n",
            "\n",
            "Itr [650], Order: 1, KL values: 0: 0.15242801, 1: 0.05156858, 2: 0.01629519, 3: 0.16025743, 4: 0.19881825, 5: 0.28287694\n",
            "\n",
            "Itr [650], Order: 3, KL values: 0: 0.24525191, 1: 0.01078445, 2: 0.00635376, 3: 0.03688923, 4: 0.12574244, 5: 0.38625351\n",
            "\n",
            "Itr [700], Order: 1, KL values: 0: 0.14358416, 1: 0.11040555, 2: 0.01613662, 3: 0.14926708, 4: 0.18875892, 5: 0.27501532\n",
            "\n",
            "Itr [700], Order: 3, KL values: 0: 0.24940415, 1: 0.01401582, 2: 0.01059173, 3: 0.04079331, 4: 0.12643091, 5: 0.38822907\n",
            "\n",
            "Itr [750], Order: 1, KL values: 0: 0.14299110, 1: 0.09673254, 2: 0.02780588, 3: 0.14821905, 4: 0.18774563, 5: 0.27362278\n",
            "\n",
            "Itr [750], Order: 3, KL values: 0: 0.25018372, 1: 0.01963749, 2: 0.01376506, 3: 0.04217961, 4: 0.13060334, 5: 0.38819340\n",
            "\n",
            "Itr [800], Order: 1, KL values: 0: 0.08491486, 1: 0.19562909, 2: 0.11840017, 3: 0.08284567, 4: 0.11865543, 5: 0.19984783\n",
            "\n",
            "Itr [800], Order: 3, KL values: 0: 0.25670773, 1: 0.04949896, 2: 0.04538710, 3: 0.03799643, 4: 0.12101354, 5: 0.38353458\n",
            "\n",
            "Itr [850], Order: 1, KL values: 0: 0.04580291, 1: 0.19859068, 2: 0.14016829, 3: 0.04391193, 4: 0.07872167, 5: 0.16155812\n",
            "\n",
            "Itr [850], Order: 3, KL values: 0: 0.23919687, 1: 0.02867590, 2: 0.02812625, 3: 0.02364841, 4: 0.10939131, 5: 0.37008923\n",
            "\n",
            "Itr [900], Order: 1, KL values: 0: 0.03289381, 1: 0.18233836, 2: 0.11325885, 3: 0.02851669, 4: 0.06410902, 5: 0.15091255\n",
            "\n",
            "Itr [900], Order: 3, KL values: 0: 0.22693153, 1: 0.02812556, 2: 0.02344457, 3: 0.01205661, 4: 0.09522156, 5: 0.35536805\n",
            "\n",
            "Itr [950], Order: 1, KL values: 0: 0.02904188, 1: 0.25934273, 2: 0.16307612, 3: 0.02154638, 4: 0.05291602, 5: 0.14018038\n",
            "\n",
            "Itr [950], Order: 3, KL values: 0: 0.22787924, 1: 0.03397639, 2: 0.02870334, 3: 0.01356074, 4: 0.09146814, 5: 0.34912360\n",
            "\n",
            "Itr [1000], Order: 1, KL values: 0: 0.02178536, 1: 0.26503491, 2: 0.18988144, 3: 0.01365121, 4: 0.04443920, 5: 0.13328007\n",
            "\n",
            "Itr [1000], Order: 3, KL values: 0: 0.22224909, 1: 0.04997535, 2: 0.04303969, 3: 0.00982127, 4: 0.07480005, 5: 0.33740205\n",
            "\n",
            "Itr [1050], Order: 1, KL values: 0: 0.03001149, 1: 0.29410672, 2: 0.18685122, 3: 0.02086975, 4: 0.05020659, 5: 0.13701627\n",
            "\n",
            "Itr [1050], Order: 3, KL values: 0: 0.22130962, 1: 0.05529452, 2: 0.04289317, 3: 0.01257100, 4: 0.07279389, 5: 0.33313426\n",
            "\n",
            "Itr [1100], Order: 1, KL values: 0: 0.03680769, 1: 0.18166445, 2: 0.11933129, 3: 0.03150173, 4: 0.05807151, 5: 0.14666590\n",
            "\n",
            "Itr [1100], Order: 3, KL values: 0: 0.21502001, 1: 0.03393812, 2: 0.02983884, 3: 0.01895801, 4: 0.07030273, 5: 0.33154333\n",
            "\n",
            "Itr [1150], Order: 1, KL values: 0: 0.03098573, 1: 0.28635582, 2: 0.19956140, 3: 0.02060436, 4: 0.04174184, 5: 0.13007620\n",
            "\n",
            "Itr [1150], Order: 3, KL values: 0: 0.20911422, 1: 0.05015390, 2: 0.04607516, 3: 0.01983989, 4: 0.06018543, 5: 0.31582528\n",
            "\n",
            "Itr [1200], Order: 1, KL values: 0: 0.02679591, 1: 0.23378095, 2: 0.15033552, 3: 0.02059527, 4: 0.04018860, 5: 0.12425283\n",
            "\n",
            "Itr [1200], Order: 3, KL values: 0: 0.19426748, 1: 0.04754314, 2: 0.04179997, 3: 0.02199773, 4: 0.05786389, 5: 0.29455346\n",
            "\n",
            "Itr [1250], Order: 1, KL values: 0: 0.02926932, 1: 0.26396617, 2: 0.16304436, 3: 0.02117022, 4: 0.04189961, 5: 0.12355969\n",
            "\n",
            "Itr [1250], Order: 3, KL values: 0: 0.19002518, 1: 0.05366231, 2: 0.04631905, 3: 0.02669542, 4: 0.05644538, 5: 0.29009333\n",
            "\n",
            "Itr [1300], Order: 1, KL values: 0: 0.03015780, 1: 0.25557175, 2: 0.14532004, 3: 0.02182677, 4: 0.04042316, 5: 0.12147488\n",
            "\n",
            "Itr [1300], Order: 3, KL values: 0: 0.18038222, 1: 0.06321049, 2: 0.05334240, 3: 0.02827974, 4: 0.05888407, 5: 0.27304232\n",
            "\n",
            "Itr [1350], Order: 1, KL values: 0: 0.02949216, 1: 0.25082549, 2: 0.14882179, 3: 0.02196775, 4: 0.03993698, 5: 0.11487911\n",
            "\n",
            "Itr [1350], Order: 3, KL values: 0: 0.16892486, 1: 0.06098844, 2: 0.05256593, 3: 0.03098075, 4: 0.05748471, 5: 0.25613171\n",
            "\n",
            "Itr [1400], Order: 1, KL values: 0: 0.03327019, 1: 0.30507976, 2: 0.20405376, 3: 0.02199368, 4: 0.03439141, 5: 0.10017401\n",
            "\n",
            "Itr [1400], Order: 3, KL values: 0: 0.14955061, 1: 0.09322162, 2: 0.08068261, 3: 0.04405492, 4: 0.05500375, 5: 0.21669194\n",
            "\n",
            "Itr [1450], Order: 1, KL values: 0: 0.03516713, 1: 0.33568713, 2: 0.21753272, 3: 0.02518617, 4: 0.03751106, 5: 0.09970059\n",
            "\n",
            "Itr [1450], Order: 3, KL values: 0: 0.14144335, 1: 0.09374482, 2: 0.08235738, 3: 0.05006739, 4: 0.06278166, 5: 0.20701666\n",
            "\n",
            "Itr [1500], Order: 1, KL values: 0: 0.03823721, 1: 0.29184806, 2: 0.20120442, 3: 0.02917746, 4: 0.04398492, 5: 0.08880739\n",
            "\n",
            "Itr [1500], Order: 3, KL values: 0: 0.12459847, 1: 0.10506006, 2: 0.09384814, 3: 0.06084967, 4: 0.07547985, 5: 0.17683551\n",
            "\n",
            "Itr [1550], Order: 1, KL values: 0: 0.04161028, 1: 0.29670170, 2: 0.20317979, 3: 0.03167646, 4: 0.04362837, 5: 0.07738345\n",
            "\n",
            "Itr [1550], Order: 3, KL values: 0: 0.11132581, 1: 0.12200149, 2: 0.11086700, 3: 0.07561864, 4: 0.08503648, 5: 0.15031698\n",
            "\n",
            "Itr [1600], Order: 1, KL values: 0: 0.03538721, 1: 0.28786236, 2: 0.18475220, 3: 0.02500937, 4: 0.03941388, 5: 0.08427219\n",
            "\n",
            "Itr [1600], Order: 3, KL values: 0: 0.11561482, 1: 0.11727790, 2: 0.10326630, 3: 0.06572392, 4: 0.08251841, 5: 0.15913181\n",
            "\n",
            "Itr [1650], Order: 1, KL values: 0: 0.04165528, 1: 0.30390042, 2: 0.19668144, 3: 0.03086528, 4: 0.04410003, 5: 0.08304921\n",
            "\n",
            "Itr [1650], Order: 3, KL values: 0: 0.11177240, 1: 0.12992631, 2: 0.11981595, 3: 0.08122124, 4: 0.08601417, 5: 0.14846765\n",
            "\n",
            "Itr [1700], Order: 1, KL values: 0: 0.04609169, 1: 0.32204685, 2: 0.21012625, 3: 0.03668407, 4: 0.04720986, 5: 0.07498281\n",
            "\n",
            "Itr [1700], Order: 3, KL values: 0: 0.10883975, 1: 0.16710261, 2: 0.15505381, 3: 0.10945410, 4: 0.10051320, 5: 0.12425699\n",
            "\n",
            "Itr [1750], Order: 1, KL values: 0: 0.03841957, 1: 0.28502014, 2: 0.17252065, 3: 0.02861623, 4: 0.04256193, 5: 0.08375421\n",
            "\n",
            "Itr [1750], Order: 3, KL values: 0: 0.10990169, 1: 0.11935584, 2: 0.10724314, 3: 0.07485685, 4: 0.08268465, 5: 0.14881867\n",
            "\n",
            "Itr [1800], Order: 1, KL values: 0: 0.04296048, 1: 0.27177507, 2: 0.17804350, 3: 0.03500246, 4: 0.04847036, 5: 0.08537003\n",
            "\n",
            "Itr [1800], Order: 3, KL values: 0: 0.11146909, 1: 0.12542845, 2: 0.11198399, 3: 0.07961224, 4: 0.08818056, 5: 0.15214705\n",
            "\n",
            "Itr [1850], Order: 1, KL values: 0: 0.03844497, 1: 0.26195830, 2: 0.18515870, 3: 0.02931776, 4: 0.04408104, 5: 0.08636568\n",
            "\n",
            "Itr [1850], Order: 3, KL values: 0: 0.11252435, 1: 0.12713692, 2: 0.11628846, 3: 0.07831945, 4: 0.08514833, 5: 0.15155873\n",
            "\n",
            "Itr [1900], Order: 1, KL values: 0: 0.04417633, 1: 0.23281427, 2: 0.15920019, 3: 0.03520521, 4: 0.04457066, 5: 0.07940020\n",
            "\n",
            "Itr [1900], Order: 3, KL values: 0: 0.10796651, 1: 0.12598434, 2: 0.11612810, 3: 0.08373997, 4: 0.08228265, 5: 0.14025779\n",
            "\n",
            "Itr [1950], Order: 1, KL values: 0: 0.03911728, 1: 0.28382427, 2: 0.19280669, 3: 0.02906923, 4: 0.04014752, 5: 0.07264864\n",
            "\n",
            "Itr [1950], Order: 3, KL values: 0: 0.10567770, 1: 0.14349476, 2: 0.12958650, 3: 0.08901117, 4: 0.09191115, 5: 0.13148659\n",
            "\n",
            "Itr [2000], Order: 1, KL values: 0: 0.04343894, 1: 0.30662391, 2: 0.20876467, 3: 0.03092179, 4: 0.04061352, 5: 0.07185925\n",
            "\n",
            "Itr [2000], Order: 3, KL values: 0: 0.10704837, 1: 0.14884219, 2: 0.13520443, 3: 0.09247594, 4: 0.08941436, 5: 0.12866697\n",
            "\n",
            "Itr [2050], Order: 1, KL values: 0: 0.04091838, 1: 0.26175103, 2: 0.16899696, 3: 0.03153495, 4: 0.04475737, 5: 0.08452222\n",
            "\n",
            "Itr [2050], Order: 3, KL values: 0: 0.11173928, 1: 0.13050635, 2: 0.11928995, 3: 0.08522614, 4: 0.08670636, 5: 0.14499208\n",
            "\n",
            "Itr [2100], Order: 1, KL values: 0: 0.04022232, 1: 0.28119689, 2: 0.17043963, 3: 0.03007770, 4: 0.04536751, 5: 0.08105516\n",
            "\n",
            "Itr [2100], Order: 3, KL values: 0: 0.10498342, 1: 0.14648239, 2: 0.13249508, 3: 0.09556720, 4: 0.09635521, 5: 0.13127509\n",
            "\n",
            "Itr [2150], Order: 1, KL values: 0: 0.04741598, 1: 0.27321741, 2: 0.19336408, 3: 0.03845025, 4: 0.04793456, 5: 0.07281033\n",
            "\n",
            "Itr [2150], Order: 3, KL values: 0: 0.10214225, 1: 0.17164341, 2: 0.15992901, 3: 0.11873181, 4: 0.11130387, 5: 0.11854468\n",
            "\n",
            "Itr [2200], Order: 1, KL values: 0: 0.04161596, 1: 0.27853793, 2: 0.18402246, 3: 0.03184348, 4: 0.04568104, 5: 0.08015411\n",
            "\n",
            "Itr [2200], Order: 3, KL values: 0: 0.10456360, 1: 0.14461395, 2: 0.12942930, 3: 0.09146620, 4: 0.09323518, 5: 0.13336246\n",
            "\n",
            "Itr [2250], Order: 1, KL values: 0: 0.03499165, 1: 0.28528857, 2: 0.18568274, 3: 0.02530824, 4: 0.04101143, 5: 0.08463108\n",
            "\n",
            "Itr [2250], Order: 3, KL values: 0: 0.11324590, 1: 0.12240251, 2: 0.11066173, 3: 0.07598200, 4: 0.08242831, 5: 0.15139192\n",
            "\n",
            "Itr [2300], Order: 1, KL values: 0: 0.04314879, 1: 0.33664167, 2: 0.22421458, 3: 0.03092572, 4: 0.04238486, 5: 0.07918120\n",
            "\n",
            "Itr [2300], Order: 3, KL values: 0: 0.10772309, 1: 0.16181560, 2: 0.14853656, 3: 0.10838451, 4: 0.09795760, 5: 0.12287124\n",
            "\n",
            "Itr [2350], Order: 1, KL values: 0: 0.04539274, 1: 0.31033823, 2: 0.21114516, 3: 0.03425131, 4: 0.04668583, 5: 0.07621025\n",
            "\n",
            "Itr [2350], Order: 3, KL values: 0: 0.09987898, 1: 0.18009028, 2: 0.16544196, 3: 0.12109526, 4: 0.11079486, 5: 0.10950296\n",
            "\n",
            "Itr [2400], Order: 1, KL values: 0: 0.04692484, 1: 0.23605065, 2: 0.17421874, 3: 0.03844950, 4: 0.05226528, 5: 0.08484499\n",
            "\n",
            "Itr [2400], Order: 3, KL values: 0: 0.10441476, 1: 0.14997318, 2: 0.14153549, 3: 0.10646550, 4: 0.10147427, 5: 0.12480750\n",
            "\n",
            "Itr [2450], Order: 1, KL values: 0: 0.04241910, 1: 0.28901929, 2: 0.19697379, 3: 0.03180031, 4: 0.04674023, 5: 0.08228074\n",
            "\n",
            "Itr [2450], Order: 3, KL values: 0: 0.10174145, 1: 0.15842792, 2: 0.14564207, 3: 0.10364322, 4: 0.09969291, 5: 0.12495327\n",
            "\n",
            "Itr [2500], Order: 1, KL values: 0: 0.03906092, 1: 0.29589766, 2: 0.17916903, 3: 0.03013046, 4: 0.04719732, 5: 0.08477469\n",
            "\n",
            "Itr [2500], Order: 3, KL values: 0: 0.10389152, 1: 0.15251854, 2: 0.13739605, 3: 0.09814997, 4: 0.09735119, 5: 0.12975487\n",
            "\n",
            "Itr [2550], Order: 1, KL values: 0: 0.04273415, 1: 0.27425766, 2: 0.17192216, 3: 0.03330121, 4: 0.04655099, 5: 0.08203898\n",
            "\n",
            "Itr [2550], Order: 3, KL values: 0: 0.10743413, 1: 0.17175798, 2: 0.16005072, 3: 0.12405858, 4: 0.11330286, 5: 0.12071359\n",
            "\n",
            "Itr [2600], Order: 1, KL values: 0: 0.04063101, 1: 0.27927014, 2: 0.18997689, 3: 0.03124543, 4: 0.04861120, 5: 0.08859219\n",
            "\n",
            "Itr [2600], Order: 3, KL values: 0: 0.10487305, 1: 0.15406710, 2: 0.14088550, 3: 0.10181811, 4: 0.09819080, 5: 0.12691173\n",
            "\n",
            "Itr [2650], Order: 1, KL values: 0: 0.03550210, 1: 0.25457722, 2: 0.16907206, 3: 0.02786843, 4: 0.04419584, 5: 0.08847131\n",
            "\n",
            "Itr [2650], Order: 3, KL values: 0: 0.10787625, 1: 0.14301102, 2: 0.13095614, 3: 0.09706941, 4: 0.09066050, 5: 0.13109741\n",
            "\n",
            "Itr [2700], Order: 1, KL values: 0: 0.03910607, 1: 0.26570779, 2: 0.17541282, 3: 0.02938160, 4: 0.04586194, 5: 0.08748940\n",
            "\n",
            "Itr [2700], Order: 3, KL values: 0: 0.10359604, 1: 0.14166737, 2: 0.13128924, 3: 0.10095923, 4: 0.09744367, 5: 0.12969096\n",
            "\n",
            "Itr [2750], Order: 1, KL values: 0: 0.03681344, 1: 0.26379132, 2: 0.18838112, 3: 0.02688847, 4: 0.04700318, 5: 0.09559204\n",
            "\n",
            "Itr [2750], Order: 3, KL values: 0: 0.10503776, 1: 0.14871421, 2: 0.13869381, 3: 0.10167886, 4: 0.09871536, 5: 0.12905058\n",
            "\n",
            "Itr [2800], Order: 1, KL values: 0: 0.04248893, 1: 0.25263730, 2: 0.16554412, 3: 0.03350260, 4: 0.05128302, 5: 0.09296231\n",
            "\n",
            "Itr [2800], Order: 3, KL values: 0: 0.10100218, 1: 0.16002223, 2: 0.14706483, 3: 0.11782499, 4: 0.10842677, 5: 0.11810569\n",
            "\n",
            "Itr [2850], Order: 1, KL values: 0: 0.03970309, 1: 0.25947908, 2: 0.16853511, 3: 0.03195519, 4: 0.04825822, 5: 0.09144522\n",
            "\n",
            "Itr [2850], Order: 3, KL values: 0: 0.10105223, 1: 0.14906041, 2: 0.13984704, 3: 0.11516684, 4: 0.10448465, 5: 0.12540081\n",
            "\n",
            "Itr [2900], Order: 1, KL values: 0: 0.04186755, 1: 0.23611569, 2: 0.16967617, 3: 0.03376848, 4: 0.05104084, 5: 0.09519325\n",
            "\n",
            "Itr [2900], Order: 3, KL values: 0: 0.10177403, 1: 0.16488716, 2: 0.15417297, 3: 0.12304386, 4: 0.10715134, 5: 0.11617982\n",
            "\n",
            "Itr [2950], Order: 1, KL values: 0: 0.04072221, 1: 0.26351818, 2: 0.17608353, 3: 0.03133352, 4: 0.05039538, 5: 0.09901915\n",
            "\n",
            "Itr [2950], Order: 3, KL values: 0: 0.09934644, 1: 0.15811113, 2: 0.14678782, 3: 0.11608648, 4: 0.10509026, 5: 0.11767177\n",
            "\n",
            "Itr [3000], Order: 1, KL values: 0: 0.03877142, 1: 0.28662035, 2: 0.19503324, 3: 0.02989348, 4: 0.04949487, 5: 0.09154985\n",
            "\n",
            "Itr [3000], Order: 3, KL values: 0: 0.09536313, 1: 0.16597527, 2: 0.15935218, 3: 0.13400471, 4: 0.11837658, 5: 0.10831495\n",
            "\n",
            "Itr [3050], Order: 1, KL values: 0: 0.03705325, 1: 0.28319108, 2: 0.19418387, 3: 0.02704046, 4: 0.04792058, 5: 0.09509035\n",
            "\n",
            "Itr [3050], Order: 3, KL values: 0: 0.09863871, 1: 0.19019473, 2: 0.18184851, 3: 0.15281340, 4: 0.12813440, 5: 0.10345940\n",
            "\n",
            "Itr [3100], Order: 1, KL values: 0: 0.03394957, 1: 0.28277689, 2: 0.18139957, 3: 0.02448054, 4: 0.04618727, 5: 0.09268298\n",
            "\n",
            "Itr [3100], Order: 3, KL values: 0: 0.09544529, 1: 0.18222424, 2: 0.17635766, 3: 0.14923084, 4: 0.12778321, 5: 0.10363588\n",
            "\n",
            "Itr [3150], Order: 1, KL values: 0: 0.03756292, 1: 0.28791600, 2: 0.20332618, 3: 0.02967374, 4: 0.05158605, 5: 0.10261548\n",
            "\n",
            "Itr [3150], Order: 3, KL values: 0: 0.09601803, 1: 0.16502801, 2: 0.15806906, 3: 0.13565898, 4: 0.12007865, 5: 0.11118518\n",
            "\n",
            "Itr [3200], Order: 1, KL values: 0: 0.03608504, 1: 0.28347439, 2: 0.19580655, 3: 0.02838091, 4: 0.04885418, 5: 0.09618644\n",
            "\n",
            "Itr [3200], Order: 3, KL values: 0: 0.09579419, 1: 0.17089772, 2: 0.16285485, 3: 0.13831995, 4: 0.12078063, 5: 0.10821719\n",
            "\n",
            "Itr [3250], Order: 1, KL values: 0: 0.03529834, 1: 0.30522206, 2: 0.20564747, 3: 0.02423434, 4: 0.04703536, 5: 0.09473895\n",
            "\n",
            "Itr [3250], Order: 3, KL values: 0: 0.09493733, 1: 0.21110220, 2: 0.20252152, 3: 0.17184904, 4: 0.13967642, 5: 0.08960180\n",
            "\n",
            "Itr [3300], Order: 1, KL values: 0: 0.03573186, 1: 0.27516606, 2: 0.17532703, 3: 0.02680395, 4: 0.05132440, 5: 0.10354487\n",
            "\n",
            "Itr [3300], Order: 3, KL values: 0: 0.09602344, 1: 0.18859023, 2: 0.18246850, 3: 0.15601327, 4: 0.13479489, 5: 0.10118194\n",
            "\n",
            "Itr [3350], Order: 1, KL values: 0: 0.03468777, 1: 0.28465408, 2: 0.19456658, 3: 0.02601816, 4: 0.04675313, 5: 0.09263934\n",
            "\n",
            "Itr [3350], Order: 3, KL values: 0: 0.09503828, 1: 0.18731570, 2: 0.18057404, 3: 0.15406333, 4: 0.12865449, 5: 0.09890717\n",
            "\n",
            "Itr [3400], Order: 1, KL values: 0: 0.03330439, 1: 0.26006094, 2: 0.17290857, 3: 0.02525393, 4: 0.04756572, 5: 0.09344464\n",
            "\n",
            "Itr [3400], Order: 3, KL values: 0: 0.09486334, 1: 0.17740217, 2: 0.17094623, 3: 0.14856903, 4: 0.12916330, 5: 0.10230014\n",
            "\n",
            "Itr [3450], Order: 1, KL values: 0: 0.03640802, 1: 0.27600417, 2: 0.18990707, 3: 0.02664364, 4: 0.05046546, 5: 0.10160883\n",
            "\n",
            "Itr [3450], Order: 3, KL values: 0: 0.09625847, 1: 0.21250084, 2: 0.20512000, 3: 0.17377129, 4: 0.14011356, 5: 0.09148713\n",
            "\n",
            "Itr [3500], Order: 1, KL values: 0: 0.03374900, 1: 0.29993495, 2: 0.20100912, 3: 0.02143370, 4: 0.04473731, 5: 0.09348981\n",
            "\n",
            "Itr [3500], Order: 3, KL values: 0: 0.09585502, 1: 0.23070756, 2: 0.22128181, 3: 0.18663266, 4: 0.14695309, 5: 0.08465049\n",
            "\n",
            "Itr [3550], Order: 1, KL values: 0: 0.03469186, 1: 0.26470631, 2: 0.17610365, 3: 0.02499397, 4: 0.04821514, 5: 0.09812886\n",
            "\n",
            "Itr [3550], Order: 3, KL values: 0: 0.09558920, 1: 0.17604175, 2: 0.17310120, 3: 0.15294716, 4: 0.12976739, 5: 0.10470001\n",
            "\n",
            "Itr [3600], Order: 1, KL values: 0: 0.03329263, 1: 0.30068630, 2: 0.19038214, 3: 0.02135793, 4: 0.04713454, 5: 0.10133948\n",
            "\n",
            "Itr [3600], Order: 3, KL values: 0: 0.09459782, 1: 0.19038746, 2: 0.18285906, 3: 0.15698636, 4: 0.13538791, 5: 0.09702456\n",
            "\n",
            "Itr [3650], Order: 1, KL values: 0: 0.03785405, 1: 0.24322240, 2: 0.16775075, 3: 0.02925065, 4: 0.05049942, 5: 0.09895059\n",
            "\n",
            "Itr [3650], Order: 3, KL values: 0: 0.09755071, 1: 0.18481232, 2: 0.17890421, 3: 0.15842976, 4: 0.13577335, 5: 0.10053730\n",
            "\n",
            "Itr [3700], Order: 1, KL values: 0: 0.03147765, 1: 0.26583257, 2: 0.17337534, 3: 0.02236016, 4: 0.04520703, 5: 0.09602706\n",
            "\n",
            "Itr [3700], Order: 3, KL values: 0: 0.09263613, 1: 0.18993536, 2: 0.18211457, 3: 0.15873691, 4: 0.13608946, 5: 0.09771491\n",
            "\n",
            "Itr [3750], Order: 1, KL values: 0: 0.03437573, 1: 0.28384247, 2: 0.19506547, 3: 0.02407113, 4: 0.04859545, 5: 0.10420892\n",
            "\n",
            "Itr [3750], Order: 3, KL values: 0: 0.09721016, 1: 0.18141504, 2: 0.17840461, 3: 0.15751721, 4: 0.13392456, 5: 0.10437411\n",
            "\n",
            "Itr [3800], Order: 1, KL values: 0: 0.02564240, 1: 0.27617919, 2: 0.17811050, 3: 0.01640159, 4: 0.04425672, 5: 0.10458659\n",
            "\n",
            "Itr [3800], Order: 3, KL values: 0: 0.09535390, 1: 0.17102607, 2: 0.16417737, 3: 0.14013739, 4: 0.12649828, 5: 0.10610467\n",
            "\n",
            "Itr [3850], Order: 1, KL values: 0: 0.02453916, 1: 0.26851147, 2: 0.18120727, 3: 0.01410112, 4: 0.04531686, 5: 0.11390141\n",
            "\n",
            "Itr [3850], Order: 3, KL values: 0: 0.09606303, 1: 0.19033122, 2: 0.18199460, 3: 0.15091598, 4: 0.12997793, 5: 0.09912909\n",
            "\n",
            "Itr [3900], Order: 1, KL values: 0: 0.03235056, 1: 0.26187581, 2: 0.16321316, 3: 0.02159073, 4: 0.04754784, 5: 0.10282973\n",
            "\n",
            "Itr [3900], Order: 3, KL values: 0: 0.09729269, 1: 0.21926650, 2: 0.20946479, 3: 0.18217114, 4: 0.14960027, 5: 0.08978014\n",
            "\n",
            "Itr [3950], Order: 1, KL values: 0: 0.03128717, 1: 0.25087202, 2: 0.16178086, 3: 0.02143072, 4: 0.04633629, 5: 0.10362494\n",
            "\n",
            "Itr [3950], Order: 3, KL values: 0: 0.09589760, 1: 0.17863728, 2: 0.16908805, 3: 0.14246814, 4: 0.12096294, 5: 0.10450472\n",
            "\n",
            "Itr [4000], Order: 1, KL values: 0: 0.02807532, 1: 0.30072853, 2: 0.19659430, 3: 0.01736781, 4: 0.04278486, 5: 0.09931093\n",
            "\n",
            "Itr [4000], Order: 3, KL values: 0: 0.09648840, 1: 0.21061413, 2: 0.20349315, 3: 0.17324147, 4: 0.14417818, 5: 0.09186552\n",
            "\n",
            "Itr [4050], Order: 1, KL values: 0: 0.02957358, 1: 0.30403993, 2: 0.19515538, 3: 0.01816876, 4: 0.04368103, 5: 0.09812428\n",
            "\n",
            "Itr [4050], Order: 3, KL values: 0: 0.09749447, 1: 0.20286031, 2: 0.19428399, 3: 0.16765982, 4: 0.13949136, 5: 0.09307112\n",
            "\n",
            "Itr [4100], Order: 1, KL values: 0: 0.02856869, 1: 0.27991194, 2: 0.16314244, 3: 0.01906128, 4: 0.04656165, 5: 0.10348634\n",
            "\n",
            "Itr [4100], Order: 3, KL values: 0: 0.09594472, 1: 0.19662246, 2: 0.18951611, 3: 0.16219132, 4: 0.13256375, 5: 0.09418095\n",
            "\n",
            "Itr [4150], Order: 1, KL values: 0: 0.02557190, 1: 0.27133402, 2: 0.17697299, 3: 0.01676482, 4: 0.04489807, 5: 0.10592423\n",
            "\n",
            "Itr [4150], Order: 3, KL values: 0: 0.09436331, 1: 0.17139870, 2: 0.16421282, 3: 0.13971984, 4: 0.11828242, 5: 0.10861592\n",
            "\n",
            "Itr [4200], Order: 1, KL values: 0: 0.02658646, 1: 0.30232668, 2: 0.19318990, 3: 0.01618010, 4: 0.04230043, 5: 0.09868594\n",
            "\n",
            "Itr [4200], Order: 3, KL values: 0: 0.09374794, 1: 0.19672145, 2: 0.18873875, 3: 0.15860292, 4: 0.13326567, 5: 0.09462664\n",
            "\n",
            "Itr [4250], Order: 1, KL values: 0: 0.02321666, 1: 0.31104469, 2: 0.19522661, 3: 0.01150275, 4: 0.04234086, 5: 0.11008842\n",
            "\n",
            "Itr [4250], Order: 3, KL values: 0: 0.09373269, 1: 0.20521915, 2: 0.19666725, 3: 0.16849396, 4: 0.13698411, 5: 0.09177155\n",
            "\n",
            "Itr [4300], Order: 1, KL values: 0: 0.02880035, 1: 0.29220980, 2: 0.20164748, 3: 0.01799938, 4: 0.04388795, 5: 0.10331406\n",
            "\n",
            "Itr [4300], Order: 3, KL values: 0: 0.09897921, 1: 0.21040185, 2: 0.20429155, 3: 0.17504939, 4: 0.13986129, 5: 0.09091232\n",
            "\n",
            "Itr [4350], Order: 1, KL values: 0: 0.02333125, 1: 0.27711037, 2: 0.17918512, 3: 0.01356229, 4: 0.04336533, 5: 0.11051724\n",
            "\n",
            "Itr [4350], Order: 3, KL values: 0: 0.09765213, 1: 0.19949120, 2: 0.19437580, 3: 0.16873927, 4: 0.13877437, 5: 0.09672143\n",
            "\n",
            "Itr [4400], Order: 1, KL values: 0: 0.02531562, 1: 0.27455693, 2: 0.18078342, 3: 0.01540043, 4: 0.04347360, 5: 0.10828404\n",
            "\n",
            "Itr [4400], Order: 3, KL values: 0: 0.09469239, 1: 0.20148441, 2: 0.19425341, 3: 0.16904004, 4: 0.14057621, 5: 0.09150375\n",
            "\n",
            "Itr [4450], Order: 1, KL values: 0: 0.02388259, 1: 0.26114103, 2: 0.17033660, 3: 0.01452411, 4: 0.04520913, 5: 0.11638802\n",
            "\n",
            "Itr [4450], Order: 3, KL values: 0: 0.09455090, 1: 0.19277449, 2: 0.18295857, 3: 0.15569314, 4: 0.13073480, 5: 0.09765226\n",
            "\n",
            "Itr [4500], Order: 1, KL values: 0: 0.02829928, 1: 0.26621389, 2: 0.17299756, 3: 0.01817928, 4: 0.04453393, 5: 0.10284372\n",
            "\n",
            "Itr [4500], Order: 3, KL values: 0: 0.09285440, 1: 0.18669258, 2: 0.18100646, 3: 0.15541668, 4: 0.12982288, 5: 0.09690530\n",
            "\n",
            "Itr [4550], Order: 1, KL values: 0: 0.02764254, 1: 0.29583260, 2: 0.19741388, 3: 0.01770543, 4: 0.04420837, 5: 0.10129275\n",
            "\n",
            "Itr [4550], Order: 3, KL values: 0: 0.09465679, 1: 0.20638771, 2: 0.19925186, 3: 0.16919883, 4: 0.14419529, 5: 0.09387989\n",
            "\n",
            "Itr [4600], Order: 1, KL values: 0: 0.02958656, 1: 0.29873079, 2: 0.18813702, 3: 0.01850199, 4: 0.04319578, 5: 0.09598398\n",
            "\n",
            "Itr [4600], Order: 3, KL values: 0: 0.09481241, 1: 0.17321676, 2: 0.16802214, 3: 0.14968655, 4: 0.12935247, 5: 0.10255390\n",
            "\n",
            "Itr [4650], Order: 1, KL values: 0: 0.02607750, 1: 0.31198251, 2: 0.20250651, 3: 0.01532425, 4: 0.04392751, 5: 0.10821086\n",
            "\n",
            "Itr [4650], Order: 3, KL values: 0: 0.09543023, 1: 0.19281995, 2: 0.18460953, 3: 0.16232523, 4: 0.13535674, 5: 0.09379448\n",
            "\n",
            "Itr [4700], Order: 1, KL values: 0: 0.02265096, 1: 0.30429879, 2: 0.18395436, 3: 0.01201873, 4: 0.04032165, 5: 0.10373969\n",
            "\n",
            "Itr [4700], Order: 3, KL values: 0: 0.09322025, 1: 0.20809822, 2: 0.20060305, 3: 0.17440043, 4: 0.14338940, 5: 0.08651090\n",
            "\n",
            "Itr [4750], Order: 1, KL values: 0: 0.02066254, 1: 0.31201780, 2: 0.19959584, 3: 0.00912301, 4: 0.04164758, 5: 0.11776753\n",
            "\n",
            "Itr [4750], Order: 3, KL values: 0: 0.09296904, 1: 0.22342014, 2: 0.21224299, 3: 0.17767730, 4: 0.14686348, 5: 0.08433849\n",
            "\n",
            "Itr [4800], Order: 1, KL values: 0: 0.02491486, 1: 0.28001973, 2: 0.18182783, 3: 0.01415944, 4: 0.04254201, 5: 0.10664346\n",
            "\n",
            "Itr [4800], Order: 3, KL values: 0: 0.09330168, 1: 0.17460784, 2: 0.16904554, 3: 0.14764257, 4: 0.12554862, 5: 0.10026507\n",
            "\n",
            "Itr [4850], Order: 1, KL values: 0: 0.02450963, 1: 0.24940550, 2: 0.16727147, 3: 0.01533979, 4: 0.04613053, 5: 0.11611171\n",
            "\n",
            "Itr [4850], Order: 3, KL values: 0: 0.09535973, 1: 0.19329195, 2: 0.18645327, 3: 0.16155739, 4: 0.13248217, 5: 0.09638144\n",
            "\n",
            "Itr [4900], Order: 1, KL values: 0: 0.02697738, 1: 0.27236313, 2: 0.18166885, 3: 0.01676640, 4: 0.04579356, 5: 0.10808315\n",
            "\n",
            "Itr [4900], Order: 3, KL values: 0: 0.09110406, 1: 0.21277896, 2: 0.20385900, 3: 0.17610887, 4: 0.14689413, 5: 0.08754999\n",
            "\n",
            "Itr [4950], Order: 1, KL values: 0: 0.02218168, 1: 0.31199843, 2: 0.19604358, 3: 0.01130915, 4: 0.04082828, 5: 0.10433797\n",
            "\n",
            "Itr [4950], Order: 3, KL values: 0: 0.09671626, 1: 0.18282562, 2: 0.17530103, 3: 0.15235221, 4: 0.13360809, 5: 0.10099284\n",
            "\n",
            "Model saved to /content/logs/20250526_223725/step:4999_model.pth\n",
            "\n",
            "STDERR:\n",
            " 2025-05-26 22:37:33.425049: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:477] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n",
            "WARNING: All log messages before absl::InitializeLog() is called are written to STDERR\n",
            "E0000 00:00:1748299053.444614   35767 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n",
            "E0000 00:00:1748299053.450700   35767 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n",
            "2025-05-26 22:37:33.470664: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n",
            "To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n",
            "/content/icl-mc-release/utils_data.py:409: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at /pytorch/torch/csrc/utils/tensor_new.cpp:254.)\n",
            "  t_gram_stats[0] = torch.tensor(stats)\n",
            "\n",
            "Return code: 0\n"
          ]
        }
      ],
      "source": [
        "import subprocess, shlex\n",
        "cmd = f\"\"\"\n",
        "python main.py\n",
        "  --lr {LR}\n",
        "  --steps {STEPS}\n",
        "  --sequence_length {SEQ_LEN}\n",
        "  --bs {BS}\n",
        "  --log_interval 50\n",
        "  --path {RUN_DIR}\n",
        "  --num_heads {NUM_HEADS}\n",
        "  --num_layers {NUM_LAYERS}\n",
        "  --vocab_size 3\n",
        "  --sparsity 1\n",
        "  --dim {DIM}\n",
        "  --order_list {ORDER_LIST}\n",
        "  --test_order_list {TEST_ORDER_LIST}\n",
        "  --test_seq_len {TEST_SEQ_LEN}\n",
        "  --if_layer_norm\n",
        "  --if_mlp\n",
        "  --save_interval {SAVE_INTERVAL}\n",
        "\"\"\"\n",
        "print(cmd)                       # sanity-check\n",
        "result = subprocess.run(shlex.split(cmd), capture_output=True, text=True, check=False)\n",
        "\n",
        "print(\"STDOUT:\\n\", result.stdout)\n",
        "print(\"STDERR:\\n\", result.stderr)   # ← real traceback from main.py\n",
        "print(\"Return code:\", result.returncode)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "htOh_KRD44iH"
      },
      "source": [
        "# Infer Cell"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 253
        },
        "id": "SQ4OWPPF_oMU",
        "outputId": "edac547a-480f-4dad-a622-be4b44a1ad38"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Figure(1000x400)\n"
          ]
        },
        {
          "data": {
            "image/png": "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cdqlTml0Op2MGDECwzDweDwMHDiQwsJCrrjiCgoKCgiHw8yZM4c//vGPPPjggzgcDq699lp0XcfhcFBZWcntt9/OlClTuPLKKyksLCQajXLrrbfy4osvsmvXLoLBIEOHDuU3v/kN0WiUH/zgBxQVFVFbW0swGOQ73/kOn3/+OTt27GD27NlceumlfcfPmEo0Gu/1vVIhSgIel6NTGu12O8OHDwfA7/dTUFDA0KFDefrpp/nwww9xOp243W4efPBB/vWvf7FhwwZ+9rOfMX36dL71rW9x++23U1BQgNPp5MYbb+T+++8nFovR0NDA6aefzjXXXEMoFOL6668nHA7jcrnYuXMnP/3pTzn++OO5/PLLGTBgAOFwmJtuuok333yTrVu3EgqFKCkp4be//S2GYXDllVdSUFBAXV0dTU1NXHTRRXz22Wfs2LGDiy66iCuvvPKQWyz8zygDABFtI1Fte5/eU5GKcEpje1S2oaGBaDTKs88+S11dHZdccgk/+tGPCIfD7N69m8GDB3PVVVexePFiHnzwQZYvX84nn3zCm2++icPh4PLLL+fjjz9m0qRJrFu3jnvvvZdx48axePFiNm/ezBNPPIHL5eK0005jypQpPP/88zz//PO88cYbTJw4sc94sCOwnvpYVZ/dDyDfXkyxe0SPytbW1iKKIn/605/Yvn07P/zhD5k9ezahUIiqqipUVeWxxx7jZz/7GaeeeioffPABd911F4Zh0NzcTE1NDW+99RYej4d4PM5TTz2FqqqsWLGCRx99lFNOOYWWlpbkdU1NTZx66qk8/vjj3Hnnndxxxx189NFH/OAHP+gTXsR1g98sX8+2YLhP7mfizJIBfHdo8T6vefvtt9m4cSO7d+8mJyeHiRMnEovF2L59O7qu8/e//50RI0Zw//33U11dzamnnko8HkdVVdatW8dvfvMbxo4diyAI3HPPPUCi31911VV897vfxeVysX79eu655x5GjRrFpZdeyubNm3n66af58ssvee6555g1a1afraSe+lc5/1pQ2Sf3MjF+cDZ/vHomstS9wV3TNNavX88111zDCSecQCQSYceOHaiqykcffYSiKPz5z38mGAxy+umnE41Gk2VuuukmjjrqKARB4Oc//zmCINDc3Mz111/PypUrGTFiBBUVFdxwww3MnDmTn/70p8ybN4+nnnqKtWvXctdd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XCxatEhMmDBBOBwOcezYMXHrrbeKrKysay5DpVjLQYMG8fbbb/P1119rToZyc3MZP348DoeDSZMmXbf6AsXFxZw6dYpbbrnFHXikXTuOHz9+VR4UKwN/f39NIam0tFQLiAJuMe2LL77I/PnzOX78eLWW4/fff2fGjBl8+OGH5OfnA7B79246deqELMtERkYSGhrKiRMnqjxvzwAep0+f5uzZs3Tr1k0bK2vXrmXmzJmsWbMGm81WZfnqdDpq1ap1kZJkcnIyer1eE7926dKF3bt3U1RUREJCQrkxcuLEiUpFDvP19SU8PLzczl6SJEJCQrRxoDriUnd+OTk5PP/887z88sskJCRcc95qXqGhoZdUxlq3bh0zZ87k66+/1tp+9+7dmgSwTp06BAQEcOrUqUqV41IoKCggJSWFNm3aoNPp6NixI4cOHSp3pFTVUNtflcJd2P4JCQnMmjWL995777KB2aoCu3fvZsaMGSxbtkwTDe/evZvOnTuj1+uJjo7Gz8+P06dPV3nennR5/PhxsrKy6NKli3b/66+/ZubMmaxdu/aS4emvBQaDgVq1al3kd+LAgQM0btyYwMBAzGYzN910E7/99hspKSkoikLDhg01et2zZ0+lHPH4+/sTHh5ebmev0ornuPD19dXGRWZmJrNnz+a1117TpJzXCtV6JjAwsEK6XLNmjdb2Ki3s3r2bLl26oNfriYmJwWQykZSUdM1lqJTOQNu2bVmwYAGTJ0/GYrHQvn17xo8fjyRJLFq0iJCQkGsuWHXDbrfjcrm0cy+z2aw5t/grtIeLi4t54YUXGDBgABEREVitVubOnUtERAT79+9nxIgRfPHFF9SrV6/K827ZsiWzZ88mICCAzz77jD179rB48WLy8vK0wajT6fDz8yt3hlzVEELwzTff0KVLF0JDQwHo2bMnXbt21fwOJCUlMWXKlGplKouLi8tFbfT396ewsBCbzVbOAZDFYtE841WHExYhBKmpqbzyyitMmDABo9GIn58fL774IpGRkezdu5fhw4ezevXqajFx8mz7t99+W2v7/Px8jXnQ6/VYLJZqGxc2m02LWAjuNldDHVe3dYMQgpSUFF599VUmT56M0WikTp06vPjii4SHh7Nu3TrGjBnDZ599Vi1zRJs2bXj22Wfx9fVl2bJl7Nu3jwULFpCfn6+diet0umptf3C3w9dff80dd9yhWbX06dNH64c33niDc+fOMWbMmGqlS7Xe4F5vAgMDycvL0+hVZagDAgIoKirSomFWNYQQnDlzhjfffJOZM2ciyzKBgYHMmzePyMhItm/fzogRI/jqq68IDw+v8vz79OmD1WrF6XTyxhtvkJaWxujRoykoKNDGhV6vx8fHh6KiomvOp1I6A+oZ2ssvv8z06dMJCgoiKiqKhQsXVpuSTVVBDRGr7n5sNttf5mGqpKSE5557jrCwMCZMmKAR+L333oskSbRr146ff/6ZPXv2VAszEBsbS4MGDbTvvXv3JicnB39/f4qKihBCaMqE1el5rLi4mO+++45XX31VI+JbbrlFUx4yGo3MmTOHJ554olq9wJnNZhwOh6YMVFxcjK+vr8YgqGNE9UJWHWURZc54Jk2aRP/+/bnnnnuQJKncuLj55pvZvHkzv//+e7UwA55tbzKZeO6555gwYQJ+fn4UFhYihEBRFEpLS6ttXKhtq+5+rFYrBoOh2k3rRJlS66RJkxg4cCB33303kiQRGRlJ7969tSitd955J0lJSZq+TVWicePGNGnSBIDo6GhNj8fPz0+jS0VRsFqt1UqXBQUFbNy4sZwlWMeOHbWxoSgKb7/9No899li19os6H8F5d7wBAQFYLBYcDgculwuDwUBxcXE5SU5VQpQps06aNInhw4fTo0cPzQW+Spdt27Zl48aNHDhwgB49elRp/pIk0aFDB63tRZnzoccee6zcuKgKL7bX3HpCCDZv3syiRYs4fvw4MTExHDlyhFatWrFq1SoWLVrEli1bqs23eWXh6+tL3bp1OXToEEII9u/fT2xsbLXbkVqtVl544QWcTidz5szBZDJpnaketdjtdvLy8qpl9yHKtFbVgZWbm6vFDL/55pvZu3evZlucmZlZbRYhQgj27t2LyWTihhtuuKhs4FYsqkoiV+uspq9+j46O1rSGFUVhz549tG3bFj8/P+rVq8fBgwcRQnDgwAFiYmIqRXAV5S/K7MknTpxI165dGTFihBZPXR0TQghsNhsFBQWV9gXhWQbP35dq+5tvvpk9e/Zo2uZ5eXnExsZWqgyXQkBAAJGRkRw5cgQhBH/88QdNmjSpUpfIF0KU2XBPnDiR22+/nWHDhmntr1pxCCEoLCy8YijdypTBky6zs7O1kLkXtn9+fj7169ev8jKo5di+fTvBwcEaw1PR2KhKt+GXosuWLVty8uRJiouLsdvt7N+/n5tuuonatWujKApnz55FURR2795dacXvS9FERkYGEyZM4J577uGRRx7RFmXVx44QgtLSUoqKiqqULj3bpKK21+l0tG3bVjseSUtLo7S0tFKbx0qxdYcOHeLnn3/Wfnfs2JG9e/dqvyVJ4rbbbqtMFtUGvV7P+PHjmT9/Pjt37mTnzp08//zz1e55buPGjSxfvpwePXowbdo0DAYD06ZNIz09naVLl1KvXj2OHDlCaGgonTt3rpYyLFmyhKSkJHx9ffn1118ZOnQoQUFB3HPPPXz99ddMmzaNtLQ07r77bqKjo6ulDEIIvv32W/r27atNrk6nk+eeew6DwYDL5eLXX39l1qxZVWZGJYRgyZIlbN26leTkZCZPnszgwYPp2rUrgwYN4qmnnqJp06bs37+fpUuXamNk3rx57N69m507dzJnzpxKjZHU1FReffVVtm/fzsGDBzlz5gyzZs1iyZIl7NmzBz8/PyZOnEhISAizZs3iwIEDfPLJJ9StW5f4+Hiio6Np3759pdph27ZtrFixguTkZF566SW6du3KY489xpw5c5BlWWv7mTNnotfruf/++1m7di1PP/00SUlJ9OnTp1Ka25eDwWDQ6PKnn35ix44dvPLKK9UuZVy8eDF79+4lICCAiRMnEhoaysyZM1m3bh07d+4kNDSU3bt307NnT+rWrVstZXj33XdJT0/HbDazdetWHnvsMfz9/enTpw/r1q1jxowZJCYm8sADD1SbR0KVLgcMGFBOSvPMM89oRzY7duzghRdeqLK50mq1Mn/+fPbs2UNaWhoTJ05k6tSptGzZklatWjFp0iRMJhNBQUF06tQJi8XC0KFDmTZtGs2bN+ePP/5gyZIllRojZ86c4Y033mDPnj2cOXOGY8eOMXPmTN577z32799PaGgo+/btIyIighkzZrBr1y5Wr15NnTp12L9/P82bN+fGG2+sVDts2rSJL7/8krS0NObOnUv37t0ZNGgQzz77rNb227dv19r+wQcf5LHHHmPmzJmcPHmSgQMHaset14JKeSC8kJu6KPGyM67rFYqicPr0aRISEmjUqBGxsbHVPunk5eWRlpam/ZYkifr16yOEID4+nqysLEJDQ2nZsqUWpbEqoYqjjx49SmlpKbGxsZoijigzCd23bx9+fn7ceOONGAyGamkTIQRJSUmEhYVpEhD1bE5VkmvatCl16tSp0h1IcnJyuXO1qKgogoODcTqdHDp0iOzsbG644QbNtl0IwalTp6psjFitVhITEzW6kWWZ2NhYsrKyyM3N1Z4zGAzExsZis9mIj4/XvMC1bNkSHx+fSpUhNzeXc+fOab/9/PyIjo6+ZNurEqR9+/YRGBjIDTfcgCzL1UYriqJw8uRJEhMTadq0KfXq1at2PwPp6ekVtn9BQQGHDx+msLCQ6OhomjZtWi11V8tw7NgxbDYbDRo00BRaVcnR/v37q739FUUhKSmJyMhITUoqhOD06dOcOnUKnU5Hs2bNqtQ1sMvlIjExUTsakiSJevXqYTabsVqt/PHHHzidTtq2batJJJxOJ/Hx8WRmZtK6detK+/8oLS3lzJkzGl2q/Z+enq4pWIP7GKt+/fqUlpYSHx9Pbm4uERERtGjRQvOBcK1QXZGrCAgIoFatWiQmJmoKo82bNy/nhyE7O5v9+/cTEhJC69atK3VsU22BirzwwgsvvPDCi/8OXL/bdi+88MILL7zw4i+BlxnwwgsvvPDCi785vMzAVcBTP+JKehL/i1Dr7KnZ/lfC4XCQl5enWVrk5uZWugwOh4OcnJz/qr4sLS2loKDgkmVWNd5VW/3/dXjpsubpMj8/X7N0UWm0Mqgq+v4rUVJSopneVgQhBAUFBVXqQK064GUGroDi4mKWLVvGo48+ytChQ3n22Wc5duxYTRfrL4Nq3vXUU08xePBgHn/8cT7//HOcTudflv+qVatYunQpALt27WLs2LGaydfVpnHixIlyCkKHDh1i2LBh1erZrqrx9ddfM2fOnMs+s379el5//fX/qsn0z0JlepYuXcqIESMYNmwYc+bMqbR3xv8mKIrC3r17mTJlCoMHD2b8+PGsXr36T9FFZSCE4OOPP+bTTz8FYMuWLUyaNEnz1XG1aRw9epTk5GTtWlxcHI899thfNr9UBVauXMnLL7982We+/vprFi5ceF3TpZcZuAyEELz++uusWLGCBx98kFGjRhEREVHO9eTldibXumO50m7navKryGb2StcryuvEiRMMHTqU6OhonnjiCe68805OnTpVzh3pn833au+D2wHKsmXLuPfeewFo0qTJRUFyriadpUuX8tVXX2nPOxwObQdyLWW/FKqiLS51XZUMXCpNSZLo3r07GzduLDfB/q9BCMG8efNYs2YNDz/8MCNHjiQoKKicK9b/dbo8fPgwI0aMoFGjRjzxxBN0796dhISEcszAny3P1d4Ht4vszz//XHOO1bJlSx599NE/TZfvvvsua9eu1Z5RJQOXKv/1SJeqZOBSaUqSxF133cU333xTzornekP1uvX6L4fdbufHH39k4sSJ9OzZE0mS6Nq1q3ZfURR27drF//3f/1FaWsrdd9/NPffcgyzLlJaWsnz5cnbu3MlNN91E48aNCQoKonPnzmzatImAgADatWuHJEns2bOHgoICevTogRBuZzyrV6+mpKSEu+66i169eiHLMps3b0aSJA4fPsyhQ4fo2rWrZg/scrnYvn07//nPfygpKaF9+/YMGTIEWZbZv38/q1atIi8vj3/84x888MADGI1GUlNTWbZsGYmJiQQHB/PII49w0003lWuDuLg4QkJCGD9+vBZS84EHHgDOO2tZuXIl8fHxxMbGMnz4cM0GPTk5meXLl3PmzBlatWrF0KFDCQwM5PTp0+zevRuLxcKGDRuIjo5mzJgxhISEXGSas2vXLiwWCw0bNkSSJKxWq2Z+k5qaysaNG4mKimLt2rWEhoYyduxYoqKiyqVz4sQJtm/fjq+vL4WFhXTu3JnAwEAURWHz5s18//33hIaGMmbMGGrVqqW9s3z5cjIzM+nYsSMDBw7EbDZz9OhRjh07xv33348kSSQlJfHrr78ycOBAbDYbq1atYvfu3RiNRrp37879999PTk4OK1as4OjRo1gsFh588EHNq9iWLVtwOBycOHGC/fv306lTJx5++GFMJhNOp5Nvv/2WH3/8UfMYqSInJ4dPPvmEw4cPa7boXbt2JTQ0lBYtWvD9998zevTo69oL6LXCZrOxadMm5s6dy1133XWRPxOVFtasWYPD4aBXr17cdddd6HQ6SkpK+Pjjj4mLi+OWW26hXr16REVF0a5dO3744QeioqJo06YNQgh27NiB0+nk9ttvR1EUduzYocVsuOeee/jnP/+JXq/nhx9+wGw288cff3Ds2DG6detGv379NJ8NW7ZsYe3atVitVm699VYefvhhdDodv//+O19++SWFhYX06NGD++67D4PBwNmzZ1m2bBlnz54lNDSUIUOGaJElVezcuZM6deowduxYZFm+aIHLyMhgxYoVHDt2jEaNGjF8+HDNVW5iYiKffvopycnJ3HTTTQwePBh/f3+OHz/O/v370ev1bNq0idjYWEaPHn2Rv3whBFu3biUsLExzclNSUkJmZiZCCM6ePcvWrVsJDg5m/fr1REVFMWbMmItC/B4+fJg9e/aQmJhIeno63bp1A9zz6vfff8+GDRuIjIxk7NixWtmPHDnCihUryM7OpkuXLvTv3x8fHx8OHjzI2bNnNebk1KlTxMXF0b9/f0pKSli5ciW///47JpNJm1PT09NZuXIlx48fx9/fn4EDB3LLLbcAbpt/vV7PoUOHiI+P57bbbmPAgAEYDAYcDgdff/01P/30E02bNi3HCGRmZrJs2TKOHz9OQECARutRUVHExsayadMmBg8efF3SpVcycBnIsky9evVYtmwZP/30E6mpqZr4SgjBL7/8wuTJk2ndujV33nknCxYsYM2aNQghWLx4MV988QUDBw5ECMH48eP56aefAPjuu+/Ytm2bls+2bdv47rvvANi+fTsTJkygRYsW3HXXXbz77rvajnbdunVMmTIFg8HAXXfdxeuvv87mzZsRQrB+/XomTpxIixYt6NOnDyUlJdjtdvbt28eoUaOIiYmhd+/efPrpp/z73//G5XLx9NNPk52dzYABA7jxxhvJycm5qA3q1KnDqVOn+Pe//82RI0coLi4G3LbAJSUljBs3jpMnT9K3b18KCwsZP348paWlZGZmamL4vn37Eh8fz6xZs3C5XBw/fpwpU6awZ88e7r33Xn777bcKxWzqpNOmTRvNfvbkyZN89NFHKIpCcnIy06dPZ8OGDfTq1YukpCSeffbZi0SVFouFwMBAgoODiY2N1WJmJCQksHnz5oveTUtLY/DgwciyTO/evfn888+ZP38+Qrg9VX7++efa5Hv69Gk+/PBDXC4Xn332GatXr+a+++7jzjvv1M7309LSEELQt29fGjduzLhx47Sjpg0bNjBp0iSEENx99928++67fP/99wjhjtvw0ksv0a1bN/z9/fnkk0+0dpk/fz4HDhzgwQcfpFOnTlrfSZJEx44d+fnnn//0zve/BQaDgejoaD788EO2bNlCWlpaOU+BGzZsYPr06bRt25Zu3brx0ksv8cMPPyCEO97FunXrePjhhykpKWH8+PH8+uuvgDsYjGfY9c2bN7Nx40aEcHtbffLJJ7npppvo0aMHr776KuvWrQPcIuCpU6fi7+9P9+7dmTdv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",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "order_list = ORDER_LIST.split(',')\n",
        "order_list = [int(x) for x in order_list]\n",
        "\n",
        "max_order = max(order_list)\n",
        "\n",
        "ORDER=max_order #highest order chain during train\n",
        "\n",
        "!python kl_div_plot_new.py --path {RUN_DIR} \\\n",
        "            --order {ORDER}\n",
        "\n",
        "import os\n",
        "import matplotlib.pyplot as plt\n",
        "import matplotlib.image as mpimg\n",
        "\n",
        "plot_file = os.path.join(RUN_DIR, \"plot.png\")\n",
        "\n",
        "img = mpimg.imread(plot_file)\n",
        "plt.imshow(img)\n",
        "plt.axis(\"off\")\n",
        "plt.show()"
      ]
    }
  ],
  "metadata": {
    "accelerator": "GPU",
    "colab": {
      "gpuType": "T4",
      "provenance": []
    },
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}
