diff options
Diffstat (limited to 'notebooks/03-look-at-iam-paragraphs.ipynb')
-rw-r--r-- | notebooks/03-look-at-iam-paragraphs.ipynb | 75 |
1 files changed, 48 insertions, 27 deletions
diff --git a/notebooks/03-look-at-iam-paragraphs.ipynb b/notebooks/03-look-at-iam-paragraphs.ipynb index c5fe378..53054dc 100644 --- a/notebooks/03-look-at-iam-paragraphs.ipynb +++ b/notebooks/03-look-at-iam-paragraphs.ipynb @@ -2,19 +2,12 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "6ce2519f", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The autoreload extension is already loaded. To reload it, use:\n", - " %reload_ext autoreload\n" - ] - } - ], + "metadata": { + "tags": [] + }, + "outputs": [], "source": [ "import os\n", "os.environ['CUDA_VISIBLE_DEVICE'] = ''\n", @@ -41,9 +34,11 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "726ac25b", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "def _plot(image, figsize=(12,12), title='', vmin=0, vmax=255):\n", @@ -58,9 +53,11 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "ec16e41f-3d12-4da2-bf02-7429b41cf98e", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from hydra import compose, initialize\n", @@ -70,9 +67,11 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "a2523c35", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "path = \"../training/conf/datamodule/iam_extended_paragraphs.yaml\"\n", @@ -82,20 +81,46 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 5, "id": "e9386367-2b49-4633-9936-57081132e59e", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_22889/42406231.py:2: UserWarning: \n", + "/tmp/ipykernel_23754/3617549544.py:2: UserWarning: \n", "The version_base parameter is not specified.\n", "Please specify a compatability version level, or None.\n", "Will assume defaults for version 1.1\n", " with initialize(config_path=\"../training/conf/\"):\n" ] + }, + { + "ename": "ConfigCompositionException", + "evalue": "Multiple values for experiment. To override a value use 'override experiment: conv_transformer_paragraphs'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mConfigCompositionException\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[5], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# context initialization\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m initialize(config_path\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m../training/conf/\u001b[39m\u001b[38;5;124m\"\u001b[39m):\n\u001b[0;32m----> 3\u001b[0m cfg \u001b[38;5;241m=\u001b[39m \u001b[43mcompose\u001b[49m\u001b[43m(\u001b[49m\u001b[43mconfig_name\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mconfig\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43moverrides\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m+experiment=conv_transformer_paragraphs\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 4\u001b[0m cfg \u001b[38;5;241m=\u001b[39m cfg\u001b[38;5;241m.\u001b[39mdatamodule\n", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/text-recognizer-ejNaVa9M-py3.9/lib/python3.9/site-packages/hydra/compose.py:38\u001b[0m, in \u001b[0;36mcompose\u001b[0;34m(config_name, overrides, return_hydra_config, strict)\u001b[0m\n\u001b[1;32m 36\u001b[0m gh \u001b[38;5;241m=\u001b[39m GlobalHydra\u001b[38;5;241m.\u001b[39minstance()\n\u001b[1;32m 37\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m gh\u001b[38;5;241m.\u001b[39mhydra \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m---> 38\u001b[0m cfg \u001b[38;5;241m=\u001b[39m \u001b[43mgh\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mhydra\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompose_config\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 39\u001b[0m \u001b[43m \u001b[49m\u001b[43mconfig_name\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconfig_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 40\u001b[0m \u001b[43m \u001b[49m\u001b[43moverrides\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moverrides\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 41\u001b[0m \u001b[43m \u001b[49m\u001b[43mrun_mode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mRunMode\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mRUN\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 42\u001b[0m \u001b[43m \u001b[49m\u001b[43mfrom_shell\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 43\u001b[0m \u001b[43m \u001b[49m\u001b[43mwith_log_configuration\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 44\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 45\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(cfg, DictConfig)\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m return_hydra_config:\n", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/text-recognizer-ejNaVa9M-py3.9/lib/python3.9/site-packages/hydra/_internal/hydra.py:594\u001b[0m, in \u001b[0;36mHydra.compose_config\u001b[0;34m(self, config_name, overrides, run_mode, with_log_configuration, from_shell, validate_sweep_overrides)\u001b[0m\n\u001b[1;32m 576\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcompose_config\u001b[39m(\n\u001b[1;32m 577\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 578\u001b[0m config_name: Optional[\u001b[38;5;28mstr\u001b[39m],\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 583\u001b[0m validate_sweep_overrides: \u001b[38;5;28mbool\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m,\n\u001b[1;32m 584\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m DictConfig:\n\u001b[1;32m 585\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 586\u001b[0m \u001b[38;5;124;03m :param config_name:\u001b[39;00m\n\u001b[1;32m 587\u001b[0m \u001b[38;5;124;03m :param overrides:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 591\u001b[0m \u001b[38;5;124;03m :return:\u001b[39;00m\n\u001b[1;32m 592\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 594\u001b[0m cfg \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconfig_loader\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mload_configuration\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 595\u001b[0m \u001b[43m \u001b[49m\u001b[43mconfig_name\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconfig_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 596\u001b[0m \u001b[43m \u001b[49m\u001b[43moverrides\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moverrides\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 597\u001b[0m \u001b[43m \u001b[49m\u001b[43mrun_mode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrun_mode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 598\u001b[0m \u001b[43m \u001b[49m\u001b[43mfrom_shell\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfrom_shell\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 599\u001b[0m \u001b[43m \u001b[49m\u001b[43mvalidate_sweep_overrides\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mvalidate_sweep_overrides\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 600\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 601\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m with_log_configuration:\n\u001b[1;32m 602\u001b[0m configure_log(cfg\u001b[38;5;241m.\u001b[39mhydra\u001b[38;5;241m.\u001b[39mhydra_logging, cfg\u001b[38;5;241m.\u001b[39mhydra\u001b[38;5;241m.\u001b[39mverbose)\n", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/text-recognizer-ejNaVa9M-py3.9/lib/python3.9/site-packages/hydra/_internal/config_loader_impl.py:142\u001b[0m, in \u001b[0;36mConfigLoaderImpl.load_configuration\u001b[0;34m(self, config_name, overrides, run_mode, from_shell, validate_sweep_overrides)\u001b[0m\n\u001b[1;32m 133\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mload_configuration\u001b[39m(\n\u001b[1;32m 134\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 135\u001b[0m config_name: Optional[\u001b[38;5;28mstr\u001b[39m],\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 139\u001b[0m validate_sweep_overrides: \u001b[38;5;28mbool\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m,\n\u001b[1;32m 140\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m DictConfig:\n\u001b[1;32m 141\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 142\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_load_configuration_impl\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 143\u001b[0m \u001b[43m \u001b[49m\u001b[43mconfig_name\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconfig_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 144\u001b[0m \u001b[43m \u001b[49m\u001b[43moverrides\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moverrides\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 145\u001b[0m \u001b[43m \u001b[49m\u001b[43mrun_mode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrun_mode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 146\u001b[0m \u001b[43m \u001b[49m\u001b[43mfrom_shell\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfrom_shell\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 147\u001b[0m \u001b[43m \u001b[49m\u001b[43mvalidate_sweep_overrides\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mvalidate_sweep_overrides\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 148\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 149\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m OmegaConfBaseException \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 150\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m ConfigCompositionException()\u001b[38;5;241m.\u001b[39mwith_traceback(sys\u001b[38;5;241m.\u001b[39mexc_info()[\u001b[38;5;241m2\u001b[39m]) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01me\u001b[39;00m\n", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/text-recognizer-ejNaVa9M-py3.9/lib/python3.9/site-packages/hydra/_internal/config_loader_impl.py:253\u001b[0m, in \u001b[0;36mConfigLoaderImpl._load_configuration_impl\u001b[0;34m(self, config_name, overrides, run_mode, from_shell, validate_sweep_overrides)\u001b[0m\n\u001b[1;32m 248\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m validate_sweep_overrides:\n\u001b[1;32m 249\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mvalidate_sweep_overrides_legal(\n\u001b[1;32m 250\u001b[0m overrides\u001b[38;5;241m=\u001b[39mparsed_overrides, run_mode\u001b[38;5;241m=\u001b[39mrun_mode, from_shell\u001b[38;5;241m=\u001b[39mfrom_shell\n\u001b[1;32m 251\u001b[0m )\n\u001b[0;32m--> 253\u001b[0m defaults_list \u001b[38;5;241m=\u001b[39m \u001b[43mcreate_defaults_list\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 254\u001b[0m \u001b[43m \u001b[49m\u001b[43mrepo\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcaching_repo\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 255\u001b[0m \u001b[43m \u001b[49m\u001b[43mconfig_name\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconfig_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 256\u001b[0m \u001b[43m \u001b[49m\u001b[43moverrides_list\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mparsed_overrides\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 257\u001b[0m \u001b[43m \u001b[49m\u001b[43mprepend_hydra\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 258\u001b[0m \u001b[43m \u001b[49m\u001b[43mskip_missing\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrun_mode\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m==\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mRunMode\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mMULTIRUN\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 259\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 261\u001b[0m config_overrides \u001b[38;5;241m=\u001b[39m defaults_list\u001b[38;5;241m.\u001b[39mconfig_overrides\n\u001b[1;32m 263\u001b[0m cfg \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compose_config_from_defaults_list(\n\u001b[1;32m 264\u001b[0m defaults\u001b[38;5;241m=\u001b[39mdefaults_list\u001b[38;5;241m.\u001b[39mdefaults, repo\u001b[38;5;241m=\u001b[39mcaching_repo\n\u001b[1;32m 265\u001b[0m )\n", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/text-recognizer-ejNaVa9M-py3.9/lib/python3.9/site-packages/hydra/_internal/defaults_list.py:745\u001b[0m, in \u001b[0;36mcreate_defaults_list\u001b[0;34m(repo, config_name, overrides_list, prepend_hydra, skip_missing)\u001b[0m\n\u001b[1;32m 736\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 737\u001b[0m \u001b[38;5;124;03m:param repo:\u001b[39;00m\n\u001b[1;32m 738\u001b[0m \u001b[38;5;124;03m:param config_name:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 742\u001b[0m \u001b[38;5;124;03m:return:\u001b[39;00m\n\u001b[1;32m 743\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 744\u001b[0m overrides \u001b[38;5;241m=\u001b[39m Overrides(repo\u001b[38;5;241m=\u001b[39mrepo, overrides_list\u001b[38;5;241m=\u001b[39moverrides_list)\n\u001b[0;32m--> 745\u001b[0m defaults, tree \u001b[38;5;241m=\u001b[39m \u001b[43m_create_defaults_list\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 746\u001b[0m \u001b[43m \u001b[49m\u001b[43mrepo\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 747\u001b[0m \u001b[43m \u001b[49m\u001b[43mconfig_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 748\u001b[0m \u001b[43m \u001b[49m\u001b[43moverrides\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 749\u001b[0m \u001b[43m \u001b[49m\u001b[43mprepend_hydra\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mprepend_hydra\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 750\u001b[0m \u001b[43m \u001b[49m\u001b[43mskip_missing\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mskip_missing\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 751\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 752\u001b[0m overrides\u001b[38;5;241m.\u001b[39mensure_overrides_used()\n\u001b[1;32m 753\u001b[0m overrides\u001b[38;5;241m.\u001b[39mensure_deletions_used()\n", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/text-recognizer-ejNaVa9M-py3.9/lib/python3.9/site-packages/hydra/_internal/defaults_list.py:715\u001b[0m, in \u001b[0;36m_create_defaults_list\u001b[0;34m(repo, config_name, overrides, prepend_hydra, skip_missing)\u001b[0m\n\u001b[1;32m 706\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_create_defaults_list\u001b[39m(\n\u001b[1;32m 707\u001b[0m repo: IConfigRepository,\n\u001b[1;32m 708\u001b[0m config_name: Optional[\u001b[38;5;28mstr\u001b[39m],\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 711\u001b[0m skip_missing: \u001b[38;5;28mbool\u001b[39m,\n\u001b[1;32m 712\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Tuple[List[ResultDefault], DefaultsTreeNode]:\n\u001b[1;32m 713\u001b[0m root \u001b[38;5;241m=\u001b[39m _create_root(config_name\u001b[38;5;241m=\u001b[39mconfig_name, with_hydra\u001b[38;5;241m=\u001b[39mprepend_hydra)\n\u001b[0;32m--> 715\u001b[0m defaults_tree \u001b[38;5;241m=\u001b[39m \u001b[43m_create_defaults_tree\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 716\u001b[0m \u001b[43m \u001b[49m\u001b[43mrepo\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrepo\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 717\u001b[0m \u001b[43m \u001b[49m\u001b[43mroot\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mroot\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 718\u001b[0m \u001b[43m \u001b[49m\u001b[43moverrides\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moverrides\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 719\u001b[0m \u001b[43m \u001b[49m\u001b[43mis_root_config\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 720\u001b[0m \u001b[43m \u001b[49m\u001b[43minterpolated_subtree\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 721\u001b[0m \u001b[43m \u001b[49m\u001b[43mskip_missing\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mskip_missing\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 722\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 724\u001b[0m output \u001b[38;5;241m=\u001b[39m _tree_to_list(tree\u001b[38;5;241m=\u001b[39mdefaults_tree)\n\u001b[1;32m 725\u001b[0m ensure_no_duplicates_in_list(output)\n", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/text-recognizer-ejNaVa9M-py3.9/lib/python3.9/site-packages/hydra/_internal/defaults_list.py:356\u001b[0m, in \u001b[0;36m_create_defaults_tree\u001b[0;34m(repo, root, is_root_config, skip_missing, interpolated_subtree, overrides)\u001b[0m\n\u001b[1;32m 348\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_create_defaults_tree\u001b[39m(\n\u001b[1;32m 349\u001b[0m repo: IConfigRepository,\n\u001b[1;32m 350\u001b[0m root: DefaultsTreeNode,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 354\u001b[0m overrides: Overrides,\n\u001b[1;32m 355\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m DefaultsTreeNode:\n\u001b[0;32m--> 356\u001b[0m ret \u001b[38;5;241m=\u001b[39m \u001b[43m_create_defaults_tree_impl\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 357\u001b[0m \u001b[43m \u001b[49m\u001b[43mrepo\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrepo\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 358\u001b[0m \u001b[43m \u001b[49m\u001b[43mroot\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mroot\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 359\u001b[0m \u001b[43m \u001b[49m\u001b[43mis_root_config\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mis_root_config\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 360\u001b[0m \u001b[43m \u001b[49m\u001b[43mskip_missing\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mskip_missing\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 361\u001b[0m \u001b[43m \u001b[49m\u001b[43minterpolated_subtree\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43minterpolated_subtree\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 362\u001b[0m \u001b[43m \u001b[49m\u001b[43moverrides\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moverrides\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 363\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 365\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m ret\n", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/text-recognizer-ejNaVa9M-py3.9/lib/python3.9/site-packages/hydra/_internal/defaults_list.py:457\u001b[0m, in \u001b[0;36m_create_defaults_tree_impl\u001b[0;34m(repo, root, is_root_config, skip_missing, interpolated_subtree, overrides)\u001b[0m\n\u001b[1;32m 455\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m parent\u001b[38;5;241m.\u001b[39mis_virtual():\n\u001b[1;32m 456\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m is_root_config:\n\u001b[0;32m--> 457\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_expand_virtual_root\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrepo\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mroot\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43moverrides\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mskip_missing\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 458\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 459\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m root\n", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/text-recognizer-ejNaVa9M-py3.9/lib/python3.9/site-packages/hydra/_internal/defaults_list.py:280\u001b[0m, in \u001b[0;36m_expand_virtual_root\u001b[0;34m(repo, root, overrides, skip_missing)\u001b[0m\n\u001b[1;32m 277\u001b[0m new_root \u001b[38;5;241m=\u001b[39m DefaultsTreeNode(node\u001b[38;5;241m=\u001b[39md, parent\u001b[38;5;241m=\u001b[39mroot)\n\u001b[1;32m 278\u001b[0m d\u001b[38;5;241m.\u001b[39mupdate_parent(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m--> 280\u001b[0m subtree \u001b[38;5;241m=\u001b[39m \u001b[43m_create_defaults_tree_impl\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 281\u001b[0m \u001b[43m \u001b[49m\u001b[43mrepo\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrepo\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 282\u001b[0m \u001b[43m \u001b[49m\u001b[43mroot\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnew_root\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 283\u001b[0m \u001b[43m \u001b[49m\u001b[43mis_root_config\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43md\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mprimary\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 284\u001b[0m \u001b[43m \u001b[49m\u001b[43mskip_missing\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mskip_missing\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 285\u001b[0m \u001b[43m \u001b[49m\u001b[43minterpolated_subtree\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 286\u001b[0m \u001b[43m \u001b[49m\u001b[43moverrides\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moverrides\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 287\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 288\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m subtree\u001b[38;5;241m.\u001b[39mchildren \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 289\u001b[0m children\u001b[38;5;241m.\u001b[39mappend(d)\n", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/text-recognizer-ejNaVa9M-py3.9/lib/python3.9/site-packages/hydra/_internal/defaults_list.py:573\u001b[0m, in \u001b[0;36m_create_defaults_tree_impl\u001b[0;34m(repo, root, is_root_config, skip_missing, interpolated_subtree, overrides)\u001b[0m\n\u001b[1;32m 570\u001b[0m \u001b[38;5;28;01mcontinue\u001b[39;00m\n\u001b[1;32m 572\u001b[0m new_root \u001b[38;5;241m=\u001b[39m DefaultsTreeNode(node\u001b[38;5;241m=\u001b[39md, parent\u001b[38;5;241m=\u001b[39mroot)\n\u001b[0;32m--> 573\u001b[0m \u001b[43madd_child\u001b[49m\u001b[43m(\u001b[49m\u001b[43mchildren\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnew_root\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 575\u001b[0m \u001b[38;5;66;03m# processed deferred interpolations\u001b[39;00m\n\u001b[1;32m 576\u001b[0m known_choices \u001b[38;5;241m=\u001b[39m _create_interpolation_map(overrides, defaults_list, self_added)\n", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/text-recognizer-ejNaVa9M-py3.9/lib/python3.9/site-packages/hydra/_internal/defaults_list.py:520\u001b[0m, in \u001b[0;36m_create_defaults_tree_impl.<locals>.add_child\u001b[0;34m(child_list, new_root_)\u001b[0m\n\u001b[1;32m 516\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21madd_child\u001b[39m(\n\u001b[1;32m 517\u001b[0m child_list: List[Union[InputDefault, DefaultsTreeNode]],\n\u001b[1;32m 518\u001b[0m new_root_: DefaultsTreeNode,\n\u001b[1;32m 519\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m--> 520\u001b[0m subtree_ \u001b[38;5;241m=\u001b[39m \u001b[43m_create_defaults_tree_impl\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 521\u001b[0m \u001b[43m \u001b[49m\u001b[43mrepo\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrepo\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 522\u001b[0m \u001b[43m \u001b[49m\u001b[43mroot\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnew_root_\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 523\u001b[0m \u001b[43m \u001b[49m\u001b[43mis_root_config\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 524\u001b[0m \u001b[43m \u001b[49m\u001b[43minterpolated_subtree\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43minterpolated_subtree\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 525\u001b[0m \u001b[43m \u001b[49m\u001b[43mskip_missing\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mskip_missing\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 526\u001b[0m \u001b[43m \u001b[49m\u001b[43moverrides\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moverrides\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 527\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 528\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m subtree_\u001b[38;5;241m.\u001b[39mchildren \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 529\u001b[0m child_list\u001b[38;5;241m.\u001b[39mappend(new_root_\u001b[38;5;241m.\u001b[39mnode)\n", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/text-recognizer-ejNaVa9M-py3.9/lib/python3.9/site-packages/hydra/_internal/defaults_list.py:472\u001b[0m, in \u001b[0;36m_create_defaults_tree_impl\u001b[0;34m(repo, root, is_root_config, skip_missing, interpolated_subtree, overrides)\u001b[0m\n\u001b[1;32m 469\u001b[0m overrides\u001b[38;5;241m.\u001b[39mdelete(parent)\n\u001b[1;32m 470\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m root\n\u001b[0;32m--> 472\u001b[0m \u001b[43moverrides\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mset_known_choice\u001b[49m\u001b[43m(\u001b[49m\u001b[43mparent\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 474\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m parent\u001b[38;5;241m.\u001b[39mget_name() \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 475\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m root\n", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/text-recognizer-ejNaVa9M-py3.9/lib/python3.9/site-packages/hydra/_internal/defaults_list.py:185\u001b[0m, in \u001b[0;36mOverrides.set_known_choice\u001b[0;34m(self, default)\u001b[0m\n\u001b[1;32m 183\u001b[0m prev \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mknown_choices[key]\n\u001b[1;32m 184\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m default\u001b[38;5;241m.\u001b[39mget_name() \u001b[38;5;241m!=\u001b[39m prev:\n\u001b[0;32m--> 185\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m ConfigCompositionException(\n\u001b[1;32m 186\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMultiple values for \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mkey\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 187\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m To override a value use \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124moverride \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mkey\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mprev\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 188\u001b[0m )\n\u001b[1;32m 190\u001b[0m group \u001b[38;5;241m=\u001b[39m default\u001b[38;5;241m.\u001b[39mget_group_path()\n\u001b[1;32m 191\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m group \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mknown_choices_per_group:\n", + "\u001b[0;31mConfigCompositionException\u001b[0m: Multiple values for experiment. To override a value use 'override experiment: conv_transformer_paragraphs'" + ] } ], "source": [ @@ -168,9 +193,7 @@ "cell_type": "code", "execution_count": 15, "id": "e7778ae2", - "metadata": { - "scrolled": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -236,9 +259,7 @@ "cell_type": "code", "execution_count": 17, "id": "9d11ca56", - "metadata": { - "scrolled": false - }, + "metadata": {}, "outputs": [ { "data": { |