{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# Text as Data\n",
        "\n",
        "*Last modified: November 11, 2026*\n",
        "\n",
        "This notebook turns the statements of the Federal Open Market Committee\n",
        "(FOMC) into numbers. We collect every policy statement since 2015 from\n",
        "the Federal Reserve’s website and represent each one as a vector, first\n",
        "by counting words and then with embeddings from a small language model.\n",
        "With those vectors we measure how much each statement changed from the\n",
        "previous one, draw a map of the Fed’s communication over a decade, and\n",
        "search the statements by meaning. The notes on [language models in\n",
        "finance](../notes/language-models.qmd) explain the background.\n",
        "\n",
        "## Packages\n",
        "\n",
        "`requests` and `BeautifulSoup` download and read web pages.\n",
        "`sentence-transformers` runs a small pretrained language model on your\n",
        "computer; the first time it runs, it downloads the model, about 90 MB."
      ],
      "id": "c1e24cbf-65aa-43b2-b748-e9940bcbc0fc"
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {},
      "outputs": [],
      "source": [
        "import re\n",
        "import time\n",
        "from pathlib import Path\n",
        "\n",
        "import matplotlib.pyplot as plt\n",
        "import numpy as np\n",
        "import pandas as pd\n",
        "import requests\n",
        "from bs4 import BeautifulSoup\n",
        "from huggingface_hub.utils import logging as hf_logging\n",
        "from sentence_transformers import SentenceTransformer\n",
        "from sklearn.feature_extraction.text import CountVectorizer\n",
        "\n",
        "# Hide the Hugging Face notice about downloading without an account\n",
        "hf_logging.set_verbosity_error()\n",
        "\n",
        "DATA = Path(\"../_data\") if Path(\"../_data\").exists() else Path(\"data\")\n",
        "HEADERS = {\"User-Agent\": \"FIN 4506 course notebook\"}"
      ],
      "id": "964f3317"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Collecting the statements\n",
        "\n",
        "The Fed’s calendar pages link each statement, at an address of the form\n",
        "`monetaryYYYYMMDDa.htm`. The current calendar covers the last few years;\n",
        "older years have a page each."
      ],
      "id": "523a2850-50c5-4a20-aa97-36bc80992775"
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {},
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "101 statements, 20150128 to 20261028"
          ]
        }
      ],
      "source": [
        "pages = [\"https://www.federalreserve.gov/monetarypolicy/fomccalendars.htm\"]\n",
        "pages += [f\"https://www.federalreserve.gov/monetarypolicy/fomchistorical{y}.htm\"\n",
        "          for y in range(2015, pd.Timestamp.today().year)]\n",
        "\n",
        "dates = set()\n",
        "for page in pages:\n",
        "    html = requests.get(page, headers=HEADERS, timeout=30).text\n",
        "    dates |= set(re.findall(r\"/newsevents/pressreleases/monetary(\\d{8})a\\.htm\", html))\n",
        "dates = sorted(d for d in dates if d >= \"20150101\")\n",
        "print(f\"{len(dates)} statements, {dates[0]} to {dates[-1]}\")"
      ],
      "id": "bdce5885"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "Each statement page has the date, release information and contact\n",
        "details around the statement itself, which ends where the vote is\n",
        "reported. The function keeps the statement’s paragraphs only. Some of\n",
        "the linked pages are not policy statements: they announce changes to the\n",
        "Fed’s balance sheet operations or to its statement of longer-run goals.\n",
        "A policy statement either reports the vote on “the monetary policy\n",
        "action” or says the Committee “approved the following statement,” so the\n",
        "function also records whether the page is one."
      ],
      "id": "63390cbb-5387-4b51-8b50-bfefc80ad053"
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {},
      "outputs": [],
      "source": [
        "def statement(date):\n",
        "    url = f\"https://www.federalreserve.gov/newsevents/pressreleases/monetary{date}a.htm\"\n",
        "    response = requests.get(url, headers=HEADERS, timeout=30)\n",
        "    response.encoding = \"utf-8\"\n",
        "    article = BeautifulSoup(response.text, \"lxml\").select_one(\"#article\")\n",
        "    page = article.get_text(\" \", strip=True)\n",
        "    policy = (\"monetary policy action\" in page\n",
        "              or \"approved the following statement\" in page)\n",
        "    paragraphs = []\n",
        "    for p in article.select(\"p\"):\n",
        "        text = p.get_text(\" \", strip=True)\n",
        "        if text.startswith((\"Voting\", \"For media inquiries\",\n",
        "                            \"Implementation Note\")):\n",
        "            break\n",
        "        if (not text or text.startswith((\"For release\", \"For immediate release\"))\n",
        "                or re.fullmatch(r\"[A-Z][a-z]+ \\d{1,2}, \\d{4}\", text)\n",
        "                or \"approved the following statement\" in text):\n",
        "            continue\n",
        "        paragraphs.append(text)\n",
        "    return paragraphs, policy"
      ],
      "id": "686d2667"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "Downloading about a hundred pages takes a minute, so we save the result.\n",
        "The pause between requests is a courtesy to the Fed’s server."
      ],
      "id": "90e15cbc-e565-4818-865b-38bc736ce0a0"
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "metadata": {},
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Not policy statements: [datetime.date(2019, 10, 11), datetime.date(2020, 3, 31), datetime.date(2020, 8, 27), datetime.date(2025, 8, 22)]"
          ]
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "\n",
              "</div>"
            ]
          }
        }
      ],
      "source": [
        "file = DATA / \"fomc_releases_2015_2026.parquet\"\n",
        "if not file.exists():\n",
        "    rows = []\n",
        "    for date in dates:\n",
        "        paragraphs, policy = statement(date)\n",
        "        rows.append({\"date\": pd.Timestamp(date), \"paragraphs\": paragraphs, \"policy\": policy})\n",
        "        time.sleep(0.5)\n",
        "    DATA.mkdir(exist_ok=True)\n",
        "    pd.DataFrame(rows).to_parquet(file)\n",
        "releases = pd.read_parquet(file)\n",
        "print(\"Not policy statements:\", list(releases.loc[~releases[\"policy\"], \"date\"].dt.date))\n",
        "fomc = releases[releases[\"policy\"]].reset_index(drop=True)\n",
        "fomc[\"text\"] = fomc[\"paragraphs\"].apply(\" \".join)\n",
        "fomc[\"words\"] = fomc[\"text\"].str.split().str.len()\n",
        "fomc[[\"date\", \"words\", \"text\"]].tail()"
      ],
      "id": "b0deb2e6"
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "image/png": "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\nYII=\n"
          }
        }
      ],
      "source": [
        "fig, ax = plt.subplots(figsize=(7, 3))\n",
        "ax.plot(fomc[\"date\"], fomc[\"words\"], \"o\", ms=3)\n",
        "ax.set_ylabel(\"Words\")\n",
        "ax.set_title(\"Length of FOMC statements\")\n",
        "plt.show()"
      ],
      "id": "13a1c1ca"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## How much did the statement change? Counting words\n",
        "\n",
        "A first measure of change compares each statement’s word counts with the\n",
        "previous statement’s. `CountVectorizer` builds the bag-of-words vectors,\n",
        "one entry per word, and the cosine similarity of consecutive vectors\n",
        "measures how much the wording stayed the same. We define the change as\n",
        "one minus the similarity."
      ],
      "id": "3daa3a65-c376-4c63-a113-55e2abbbf07d"
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {},
      "outputs": [],
      "source": [
        "counts = CountVectorizer().fit_transform(fomc[\"text\"]).toarray().astype(float)\n",
        "\n",
        "def change_from_previous(vectors):\n",
        "    unit = vectors / np.linalg.norm(vectors, axis=1, keepdims=True)\n",
        "    similarity = (unit[1:] * unit[:-1]).sum(axis=1)\n",
        "    return np.r_[np.nan, 1 - similarity]\n",
        "\n",
        "fomc[\"change_words\"] = change_from_previous(counts)"
      ],
      "id": "eb7b3bdb"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## How much did the statement change? Embeddings\n",
        "\n",
        "The model `all-MiniLM-L6-v2` maps a piece of text to a vector of 384\n",
        "numbers, so that texts with similar meanings get vectors that point in\n",
        "similar directions. It reads at most about 256 tokens at a time and\n",
        "would cut longer texts short, so we embed each paragraph separately and\n",
        "average the paragraphs’ vectors into one vector per statement."
      ],
      "id": "2c4168ae-91da-44d8-9297-8b04c96297f5"
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "c19ee91b89784d279129c069a53b5a59",
              "version_major": 2,
              "version_minor": 0
            }
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "(97, 384)"
            ]
          }
        }
      ],
      "source": [
        "model = SentenceTransformer(\"all-MiniLM-L6-v2\")\n",
        "\n",
        "def embed_statement(paragraphs):\n",
        "    vectors = model.encode(list(paragraphs), normalize_embeddings=True, show_progress_bar=False)\n",
        "    return vectors.mean(axis=0)\n",
        "\n",
        "embeddings = np.vstack([embed_statement(p) for p in fomc[\"paragraphs\"]])\n",
        "fomc[\"change_meaning\"] = change_from_previous(embeddings)\n",
        "embeddings.shape"
      ],
      "id": "008fd716"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "The two measures agree on the big changes and disagree on smaller ones:\n",
        "a statement can reword many sentences without changing its message, or\n",
        "change its message with a few words."
      ],
      "id": "24e2e699-0e7e-4bed-a019-9cffc8da4554"
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "image/png": "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\nRK5CYII=\n"
          }
        }
      ],
      "source": [
        "fig, ax = plt.subplots(figsize=(6, 4))\n",
        "ax.scatter(fomc[\"change_words\"], fomc[\"change_meaning\"], s=12)\n",
        "for _, row in fomc.nlargest(3, \"change_meaning\").iterrows():\n",
        "    ax.annotate(f\"{row['date']:%b %d, %Y}\", (row[\"change_words\"], row[\"change_meaning\"]),\n",
        "                xytext=(4, 2), textcoords=\"offset points\", fontsize=8)\n",
        "ax.margins(x=0.15)\n",
        "ax.set_xlabel(\"Change in wording (word counts)\")\n",
        "ax.set_ylabel(\"Change in meaning (embeddings)\")\n",
        "plt.show()"
      ],
      "id": "0596a9ef"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Change in meaning over time\n",
        "\n",
        "How do the large changes line up with what the Fed did? The upper bound\n",
        "of the federal funds target range comes from FRED, series `DFEDTARU`."
      ],
      "id": "1118f961-b759-4ce3-9c29-541c68cc4bfe"
    },
    {
      "cell_type": "code",
      "execution_count": 9,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "action\n",
              "hold    65\n",
              "hike    21\n",
              "cut     11\n",
              "Name: count, dtype: int64"
            ]
          }
        }
      ],
      "source": [
        "url = \"https://fred.stlouisfed.org/graph/fredgraph.csv?id=DFEDTARU\"\n",
        "target = pd.read_csv(url, parse_dates=[\"observation_date\"],\n",
        "                     index_col=\"observation_date\")[\"DFEDTARU\"].dropna()\n",
        "\n",
        "before = fomc[\"date\"].map(lambda t: target.asof(t - pd.Timedelta(days=1)))\n",
        "after = fomc[\"date\"].map(lambda t: target.asof(t + pd.Timedelta(days=1)))\n",
        "fomc[\"action\"] = np.select([after > before, after < before], [\"hike\", \"cut\"], \"hold\")\n",
        "fomc[\"action\"].value_counts()"
      ],
      "id": "0bb9faf9"
    },
    {
      "cell_type": "code",
      "execution_count": 10,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "image/png": "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\niMgk/B95DHJRawznHQAAAABJRU5ErkJggg==\n"
          }
        }
      ],
      "source": [
        "fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(8, 5), sharex=True,\n",
        "                               gridspec_kw={\"height_ratios\": [3, 2]})\n",
        "ax1.vlines(fomc[\"date\"], 0, fomc[\"change_meaning\"], lw=1.5)\n",
        "labeled = []\n",
        "for _, row in fomc.nlargest(7, \"change_meaning\").iterrows():\n",
        "    # One label per cluster of large changes\n",
        "    if all(abs((row[\"date\"] - d).days) > 90 for d in labeled):\n",
        "        labeled.append(row[\"date\"])\n",
        "        ax1.annotate(f\"{row['date']:%b %Y}\", (row[\"date\"], row[\"change_meaning\"]),\n",
        "                     xytext=(3, 0), textcoords=\"offset points\", fontsize=8)\n",
        "ax1.set_ylabel(\"Change in meaning\")\n",
        "ax2.step(target.loc[\"2015\":].index, target.loc[\"2015\":], where=\"post\")\n",
        "ax2.set_ylabel(\"Fed funds target (%)\")\n",
        "plt.show()"
      ],
      "id": "e187f958"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "The largest changes come when policy turned abruptly: the emergency cuts\n",
        "of March 2020 and the statements that followed, the first hike of the\n",
        "2022 cycle, in March 2022, and the first hike after the cuts of 2024 and\n",
        "2025, in September 2026. Two cautions keep this from being a rule. Not\n",
        "every turning point shows up: the first cut of September 2024 barely\n",
        "changed the statement’s meaning, although it was a turning point in\n",
        "policy. And not every large change is about policy: in June 2026 the Fed\n",
        "adopted a new, much shorter format for its statements, which changed the\n",
        "text a great deal without changing the policy.\n",
        "\n",
        "## A map of Fed communication\n",
        "\n",
        "An embedding has 384 numbers, too many to look at. *Principal\n",
        "components* find the two directions along which the statements differ\n",
        "most, and projecting each statement onto them gives a map in two\n",
        "dimensions. Nothing in the calculation knows the dates."
      ],
      "id": "d187dadf-936c-4399-aa9a-77775516545e"
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "metadata": {},
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Share of the variation along the two directions: [0.33 0.18]"
          ]
        }
      ],
      "source": [
        "centered = embeddings - embeddings.mean(axis=0)\n",
        "_, singular_values, directions = np.linalg.svd(centered, full_matrices=False)\n",
        "fomc[[\"pc1\", \"pc2\"]] = centered @ directions[:2].T\n",
        "share = singular_values[:2] ** 2 / (singular_values**2).sum()\n",
        "print(f\"Share of the variation along the two directions: {share.round(2)}\")"
      ],
      "id": "5170966d"
    },
    {
      "cell_type": "code",
      "execution_count": 12,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "image/png": "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\n"
          }
        }
      ],
      "source": [
        "periods = pd.cut(fomc[\"date\"].dt.year, [2014, 2019, 2021, 2023, 2026],\n",
        "                 labels=[\"2015-2019\", \"2020-2021\", \"2022-2023\", \"2024-2026\"])\n",
        "fig, ax = plt.subplots(figsize=(6.5, 4.5))\n",
        "for period, group in fomc.groupby(periods, observed=True):\n",
        "    ax.scatter(group[\"pc1\"], group[\"pc2\"], s=18, label=period)\n",
        "ax.set_xlabel(\"First principal component\")\n",
        "ax.set_ylabel(\"Second principal component\")\n",
        "ax.legend(frameon=False)\n",
        "plt.show()"
      ],
      "id": "ccb8599f"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "The statements sort themselves into the Fed’s recent history: the slow\n",
        "normalization of 2015 to 2019, the pandemic years of zero rates, the\n",
        "rapid hikes of 2022 and 2023, and the period since. Statements written\n",
        "in the same circumstances use different sentences but carry similar\n",
        "meanings, and the embeddings place them together.\n",
        "\n",
        "Does meaning also track what the Fed did at each meeting? For each\n",
        "statement, find the most similar other statement, skipping the two\n",
        "meetings before and after it, which are similar simply because they are\n",
        "close in time, and check whether the Fed took the same action, hike,\n",
        "hold or cut, at both meetings."
      ],
      "id": "a9bf9d30-80bc-4865-a912-1572abb895c2"
    },
    {
      "cell_type": "code",
      "execution_count": 13,
      "metadata": {},
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Same action as the nearest statement: 67%   (by chance: 51%)"
          ]
        }
      ],
      "source": [
        "unit = embeddings / np.linalg.norm(embeddings, axis=1, keepdims=True)\n",
        "similarity = unit @ unit.T\n",
        "n = len(fomc)\n",
        "for i in range(n):\n",
        "    similarity[i, max(0, i - 2):i + 3] = -np.inf\n",
        "nearest = similarity.argmax(axis=1)\n",
        "same = (fomc[\"action\"].to_numpy() == fomc[\"action\"].to_numpy()[nearest]).mean()\n",
        "chance = (fomc[\"action\"].value_counts(normalize=True) ** 2).sum()\n",
        "print(f\"Same action as the nearest statement: {same:.0%}   (by chance: {chance:.0%})\")"
      ],
      "id": "51fd605e"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "The nearest statement in meaning shares the action more often than\n",
        "chance would give. Part of this is still the eras: skipping two meetings\n",
        "on each side leaves neighbors from the same hiking or holding cycle, so\n",
        "the test does not separate what the Fed said from when it said it.\n",
        "\n",
        "## Search by meaning\n",
        "\n",
        "Embeddings also make search by meaning possible. Which statement is\n",
        "closest to a sentence we write ourselves?"
      ],
      "id": "6eb42d67-2605-46e7-b18b-d77605502634"
    },
    {
      "cell_type": "code",
      "execution_count": 14,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "\n",
              "</div>"
            ]
          }
        }
      ],
      "source": [
        "query = \"Inflation is far too high and the Committee will raise rates aggressively.\"\n",
        "q = model.encode([query], normalize_embeddings=True)[0]\n",
        "fomc.assign(similarity=unit @ q).nlargest(3, \"similarity\")[[\"date\", \"action\", \"similarity\"]]"
      ],
      "id": "3861d151"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## What embeddings can and cannot tell us\n",
        "\n",
        "An embedding from a small general-purpose model captures what a text is\n",
        "about and how it is framed, well enough to sort a decade of statements\n",
        "into eras and to find the statements that match a description. It does\n",
        "not know which way a statement points for markets, or what markets\n",
        "expected before it came out. A statement can change a great deal in\n",
        "meaning because the economy changed, while telling investors nothing\n",
        "they did not already know.\n",
        "\n",
        "## Try it\n",
        "\n",
        "1.  Change the query in the search, for example to a sentence about the\n",
        "    labor market or about financial stability, and read the statements\n",
        "    it finds.\n",
        "2.  Find the two consecutive statements whose meaning changed least,\n",
        "    read them, and explain what changed in their wording.\n",
        "3.  Do yields move with the statements? Collect the daily change in the\n",
        "    2-year Treasury yield (FRED series `DGS2`) on each statement day and\n",
        "    plot it against the change in meaning. Before drawing conclusions,\n",
        "    consider what else happens that day. On June 15, 2022 and December\n",
        "    13, 2023, the 2-year yield fell by more than 20 basis points\n",
        "    although the statements’ meaning changed little: at those meetings\n",
        "    the Fed also released its economic projections, and, as at every\n",
        "    meeting since 2019, the chair held a press conference. Research on\n",
        "    central bank communication, such as Gürkaynak et al. (2005), uses\n",
        "    yield changes within minutes of the release for this reason.\n",
        "\n",
        "Gürkaynak, Refet S., Brian Sack, and Eric T. Swanson. 2005. “Do Actions\n",
        "Speak Louder Than Words? The Response of Asset Prices to Monetary Policy\n",
        "Actions and Statements.” *International Journal of Central Banking* 1\n",
        "(1): 55–93.\n",
        "<https://www.ijcb.org/journal/v1n1/do-actions-speak-louder-words-response-asset-prices-monetary-policy-actions-and>."
      ],
      "id": "163d182c-ba69-4fae-96f4-4e11084bccc9"
    }
  ],
  "nbformat": 4,
  "nbformat_minor": 5,
  "metadata": {
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3 (ipykernel)",
      "language": "python",
      "path": "/home/lnaranjo/.pyenv/versions/global/share/jupyter/kernels/python3"
    },
    "language_info": {
      "name": "python",
      "codemirror_mode": {
        "name": "ipython",
        "version": "3"
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.15.2"
    },
    "widgets": {
      "application/vnd.jupyter.widget-state+json": {
        "state": {
          "34a16a6e01c04e7795d79af238fdd7dc": {
            "model_module": "@jupyter-widgets/controls",
            "model_module_version": "2.0.0",
            "model_name": "HTMLStyleModel",
            "state": {
              "_model_module": "@jupyter-widgets/controls",
              "_model_module_version": "2.0.0",
              "_model_name": "HTMLStyleModel",
              "_view_count": null,
              "_view_module": "@jupyter-widgets/base",
              "_view_module_version": "2.0.0",
              "_view_name": "StyleView",
              "background": null,
              "description_width": "",
              "font_size": null,
              "text_color": null
            }
          },
          "52c14d977a5d419d815da2b4307fba6b": {
            "model_module": "@jupyter-widgets/controls",
            "model_module_version": "2.0.0",
            "model_name": "ProgressStyleModel",
            "state": {
              "_model_module": "@jupyter-widgets/controls",
              "_model_module_version": "2.0.0",
              "_model_name": "ProgressStyleModel",
              "_view_count": null,
              "_view_module": "@jupyter-widgets/base",
              "_view_module_version": "2.0.0",
              "_view_name": "StyleView",
              "bar_color": null,
              "description_width": ""
            }
          },
          "62d775e172f7482199bc14c20845a551": {
            "model_module": "@jupyter-widgets/base",
            "model_module_version": "2.0.0",
            "model_name": "LayoutModel",
            "state": {
              "_model_module": "@jupyter-widgets/base",
              "_model_module_version": "2.0.0",
              "_model_name": "LayoutModel",
              "_view_count": null,
              "_view_module": "@jupyter-widgets/base",
              "_view_module_version": "2.0.0",
              "_view_name": "LayoutView",
              "align_content": null,
              "align_items": null,
              "align_self": null,
              "border_bottom": null,
              "border_left": null,
              "border_right": null,
              "border_top": null,
              "bottom": null,
              "display": null,
              "flex": null,
              "flex_flow": null,
              "grid_area": null,
              "grid_auto_columns": null,
              "grid_auto_flow": null,
              "grid_auto_rows": null,
              "grid_column": null,
              "grid_gap": null,
              "grid_row": null,
              "grid_template_areas": null,
              "grid_template_columns": null,
              "grid_template_rows": null,
              "height": null,
              "justify_content": null,
              "justify_items": null,
              "left": null,
              "margin": null,
              "max_height": null,
              "max_width": null,
              "min_height": null,
              "min_width": null,
              "object_fit": null,
              "object_position": null,
              "order": null,
              "overflow": null,
              "padding": null,
              "right": null,
              "top": null,
              "visibility": null,
              "width": null
            }
          },
          "7ea90d7062384e5781aeba7fe65ca5d5": {
            "model_module": "@jupyter-widgets/controls",
            "model_module_version": "2.0.0",
            "model_name": "HTMLModel",
            "state": {
              "_dom_classes": [],
              "_model_module": "@jupyter-widgets/controls",
              "_model_module_version": "2.0.0",
              "_model_name": "HTMLModel",
              "_view_count": null,
              "_view_module": "@jupyter-widgets/controls",
              "_view_module_version": "2.0.0",
              "_view_name": "HTMLView",
              "description": "",
              "description_allow_html": false,
              "layout": "IPY_MODEL_b4241142250b48c88038d2b10077b20c",
              "placeholder": "​",
              "style": "IPY_MODEL_34a16a6e01c04e7795d79af238fdd7dc",
              "tabbable": null,
              "tooltip": null,
              "value": "Loading weights: 100%"
            }
          },
          "7fcde2b9aee84994b08a21ae4c3d5e6d": {
            "model_module": "@jupyter-widgets/base",
            "model_module_version": "2.0.0",
            "model_name": "LayoutModel",
            "state": {
              "_model_module": "@jupyter-widgets/base",
              "_model_module_version": "2.0.0",
              "_model_name": "LayoutModel",
              "_view_count": null,
              "_view_module": "@jupyter-widgets/base",
              "_view_module_version": "2.0.0",
              "_view_name": "LayoutView",
              "align_content": null,
              "align_items": null,
              "align_self": null,
              "border_bottom": null,
              "border_left": null,
              "border_right": null,
              "border_top": null,
              "bottom": null,
              "display": null,
              "flex": null,
              "flex_flow": null,
              "grid_area": null,
              "grid_auto_columns": null,
              "grid_auto_flow": null,
              "grid_auto_rows": null,
              "grid_column": null,
              "grid_gap": null,
              "grid_row": null,
              "grid_template_areas": null,
              "grid_template_columns": null,
              "grid_template_rows": null,
              "height": null,
              "justify_content": null,
              "justify_items": null,
              "left": null,
              "margin": null,
              "max_height": null,
              "max_width": null,
              "min_height": null,
              "min_width": null,
              "object_fit": null,
              "object_position": null,
              "order": null,
              "overflow": null,
              "padding": null,
              "right": null,
              "top": null,
              "visibility": null,
              "width": null
            }
          },
          "8a52f0e9f58a45a387f81b0e81b6bd29": {
            "model_module": "@jupyter-widgets/controls",
            "model_module_version": "2.0.0",
            "model_name": "FloatProgressModel",
            "state": {
              "_dom_classes": [],
              "_model_module": "@jupyter-widgets/controls",
              "_model_module_version": "2.0.0",
              "_model_name": "FloatProgressModel",
              "_view_count": null,
              "_view_module": "@jupyter-widgets/controls",
              "_view_module_version": "2.0.0",
              "_view_name": "ProgressView",
              "bar_style": "success",
              "description": "",
              "description_allow_html": false,
              "layout": "IPY_MODEL_7fcde2b9aee84994b08a21ae4c3d5e6d",
              "max": 103,
              "min": 0,
              "orientation": "horizontal",
              "style": "IPY_MODEL_52c14d977a5d419d815da2b4307fba6b",
              "tabbable": null,
              "tooltip": null,
              "value": 103
            }
          },
          "9329bb6774e044539e8c263cbf56214a": {
            "model_module": "@jupyter-widgets/base",
            "model_module_version": "2.0.0",
            "model_name": "LayoutModel",
            "state": {
              "_model_module": "@jupyter-widgets/base",
              "_model_module_version": "2.0.0",
              "_model_name": "LayoutModel",
              "_view_count": null,
              "_view_module": "@jupyter-widgets/base",
              "_view_module_version": "2.0.0",
              "_view_name": "LayoutView",
              "align_content": null,
              "align_items": null,
              "align_self": null,
              "border_bottom": null,
              "border_left": null,
              "border_right": null,
              "border_top": null,
              "bottom": null,
              "display": null,
              "flex": null,
              "flex_flow": null,
              "grid_area": null,
              "grid_auto_columns": null,
              "grid_auto_flow": null,
              "grid_auto_rows": null,
              "grid_column": null,
              "grid_gap": null,
              "grid_row": null,
              "grid_template_areas": null,
              "grid_template_columns": null,
              "grid_template_rows": null,
              "height": null,
              "justify_content": null,
              "justify_items": null,
              "left": null,
              "margin": null,
              "max_height": null,
              "max_width": null,
              "min_height": null,
              "min_width": null,
              "object_fit": null,
              "object_position": null,
              "order": null,
              "overflow": null,
              "padding": null,
              "right": null,
              "top": null,
              "visibility": null,
              "width": null
            }
          },
          "b4241142250b48c88038d2b10077b20c": {
            "model_module": "@jupyter-widgets/base",
            "model_module_version": "2.0.0",
            "model_name": "LayoutModel",
            "state": {
              "_model_module": "@jupyter-widgets/base",
              "_model_module_version": "2.0.0",
              "_model_name": "LayoutModel",
              "_view_count": null,
              "_view_module": "@jupyter-widgets/base",
              "_view_module_version": "2.0.0",
              "_view_name": "LayoutView",
              "align_content": null,
              "align_items": null,
              "align_self": null,
              "border_bottom": null,
              "border_left": null,
              "border_right": null,
              "border_top": null,
              "bottom": null,
              "display": null,
              "flex": null,
              "flex_flow": null,
              "grid_area": null,
              "grid_auto_columns": null,
              "grid_auto_flow": null,
              "grid_auto_rows": null,
              "grid_column": null,
              "grid_gap": null,
              "grid_row": null,
              "grid_template_areas": null,
              "grid_template_columns": null,
              "grid_template_rows": null,
              "height": null,
              "justify_content": null,
              "justify_items": null,
              "left": null,
              "margin": null,
              "max_height": null,
              "max_width": null,
              "min_height": null,
              "min_width": null,
              "object_fit": null,
              "object_position": null,
              "order": null,
              "overflow": null,
              "padding": null,
              "right": null,
              "top": null,
              "visibility": null,
              "width": null
            }
          },
          "bb90856ae8474c2d94d84062c67b5f56": {
            "model_module": "@jupyter-widgets/controls",
            "model_module_version": "2.0.0",
            "model_name": "HTMLModel",
            "state": {
              "_dom_classes": [],
              "_model_module": "@jupyter-widgets/controls",
              "_model_module_version": "2.0.0",
              "_model_name": "HTMLModel",
              "_view_count": null,
              "_view_module": "@jupyter-widgets/controls",
              "_view_module_version": "2.0.0",
              "_view_name": "HTMLView",
              "description": "",
              "description_allow_html": false,
              "layout": "IPY_MODEL_9329bb6774e044539e8c263cbf56214a",
              "placeholder": "​",
              "style": "IPY_MODEL_d38038ae30d3491f8a8b383969e5e0f9",
              "tabbable": null,
              "tooltip": null,
              "value": " 103/103 [00:00&lt;00:00, 3142.51it/s]"
            }
          },
          "c19ee91b89784d279129c069a53b5a59": {
            "model_module": "@jupyter-widgets/controls",
            "model_module_version": "2.0.0",
            "model_name": "HBoxModel",
            "state": {
              "_dom_classes": [],
              "_model_module": "@jupyter-widgets/controls",
              "_model_module_version": "2.0.0",
              "_model_name": "HBoxModel",
              "_view_count": null,
              "_view_module": "@jupyter-widgets/controls",
              "_view_module_version": "2.0.0",
              "_view_name": "HBoxView",
              "box_style": "",
              "children": [
                "IPY_MODEL_7ea90d7062384e5781aeba7fe65ca5d5",
                "IPY_MODEL_8a52f0e9f58a45a387f81b0e81b6bd29",
                "IPY_MODEL_bb90856ae8474c2d94d84062c67b5f56"
              ],
              "layout": "IPY_MODEL_62d775e172f7482199bc14c20845a551",
              "tabbable": null,
              "tooltip": null
            }
          },
          "d38038ae30d3491f8a8b383969e5e0f9": {
            "model_module": "@jupyter-widgets/controls",
            "model_module_version": "2.0.0",
            "model_name": "HTMLStyleModel",
            "state": {
              "_model_module": "@jupyter-widgets/controls",
              "_model_module_version": "2.0.0",
              "_model_name": "HTMLStyleModel",
              "_view_count": null,
              "_view_module": "@jupyter-widgets/base",
              "_view_module_version": "2.0.0",
              "_view_name": "StyleView",
              "background": null,
              "description_width": "",
              "font_size": null,
              "text_color": null
            }
          }
        },
        "version_major": 2,
        "version_minor": 0
      }
    }
  }
}