зеркало из
				https://github.com/ssciwr/AMMICO.git
				synced 2025-10-30 21:46:04 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			4691 строка
		
	
	
		
			148 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			4691 строка
		
	
	
		
			148 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {
 | ||
|  "cells": [
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "# AMMICO Demonstration Notebook\n",
 | ||
|     "With ammico, you can analyze text on images and image content at the same time. This is a demonstration notebook to showcase the capabilities of ammico.\n",
 | ||
|     "You can run this notebook on google colab or locally / on your own HPC resource. The first cell only runs on google colab; on all other machines, you need to create a conda environment first and install ammico from the Python Package Index using  \n",
 | ||
|     "```pip install ammico```  \n",
 | ||
|     "Alternatively you can install the development version from the GitHub repository  \n",
 | ||
|     "```pip install git+https://github.com/ssciwr/AMMICO.git```"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 1,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-10-31T09:23:20.973556Z",
 | ||
|      "iopub.status.busy": "2023-10-31T09:23:20.973053Z",
 | ||
|      "iopub.status.idle": "2023-10-31T09:23:20.985958Z",
 | ||
|      "shell.execute_reply": "2023-10-31T09:23:20.984918Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [],
 | ||
|    "source": [
 | ||
|     "# if running on google colab\n",
 | ||
|     "# flake8-noqa-cell\n",
 | ||
|     "import os\n",
 | ||
|     "\n",
 | ||
|     "if \"google.colab\" in str(get_ipython()):\n",
 | ||
|     "    # update python version\n",
 | ||
|     "    # install setuptools\n",
 | ||
|     "    # %pip install setuptools==61 -qqq\n",
 | ||
|     "    # install ammico\n",
 | ||
|     "    %pip install git+https://github.com/ssciwr/ammico.git -qqq\n",
 | ||
|     "    # mount google drive for data and API key\n",
 | ||
|     "    from google.colab import drive\n",
 | ||
|     "\n",
 | ||
|     "    drive.mount(\"/content/drive\")"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "Import the ammico package."
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 2,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-10-31T09:23:20.990852Z",
 | ||
|      "iopub.status.busy": "2023-10-31T09:23:20.989959Z",
 | ||
|      "iopub.status.idle": "2023-10-31T09:23:35.747790Z",
 | ||
|      "shell.execute_reply": "2023-10-31T09:23:35.746786Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [],
 | ||
|    "source": [
 | ||
|     "import ammico"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "# Step 1: Read your data into AMMICO\n",
 | ||
|     "The ammico package reads in one or several input files given in a folder for processing. The user can select to read in all image files in a folder, to include subfolders via the `recursive` option, and can select the file extension that should be considered (for example, only \"jpg\" files, or both \"jpg\" and \"png\" files). For reading in the files, the ammico function `find_files` is used, with optional keywords:\n",
 | ||
|     "\n",
 | ||
|     "| input key | input type | possible input values |\n",
 | ||
|     "| --------- | ---------- | --------------------- |\n",
 | ||
|     "`path` | `str` | the directory containing the image files (defaults to the location set by environment variable `AMMICO_DATA_HOME`) |\n",
 | ||
|     "| `pattern` | `str\\|list` | the file extensions to consider (defaults to \"png\", \"jpg\", \"jpeg\", \"gif\", \"webp\", \"avif\", \"tiff\") |\n",
 | ||
|     "| `recursive` | `bool` | include subdirectories recursively (defaults to `True`) |\n",
 | ||
|     "| `limit` | `int` | maximum number of files to read (defaults to `20`, for all images set to `None` or `-1`) |\n",
 | ||
|     "| `random_seed` | `str` | the random seed for shuffling the images; applies when only a few images are read and the selection should be preserved (defaults to `None`) |\n",
 | ||
|     "\n",
 | ||
|     "The `find_files` function returns a nested dict that contains the file ids and the paths to the files and is empty otherwise. This dict is filled step by step with more data as each detector class is run on the data (see below)."
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 3,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-10-31T09:23:35.753511Z",
 | ||
|      "iopub.status.busy": "2023-10-31T09:23:35.752778Z",
 | ||
|      "iopub.status.idle": "2023-10-31T09:23:35.759953Z",
 | ||
|      "shell.execute_reply": "2023-10-31T09:23:35.758791Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [],
 | ||
|    "source": [
 | ||
|     "image_dict = ammico.find_files(\n",
 | ||
|     "    path=\"data/\",\n",
 | ||
|     "    limit=10,\n",
 | ||
|     ")"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "## Step 2: Inspect the input files using the graphical user interface\n",
 | ||
|     "A Dash user interface is to select the most suitable options for the analysis, before running a complete analysis on the whole data set. The options for each detector module are explained below in the corresponding sections; for example, different models can be selected that will provide slightly different results. This way, the user can interactively explore which settings provide the most accurate results. In the interface, the nested `image_dict` is passed through the `AnalysisExplorer` class. The interface is run on a specific port which is passed using the `port` keyword; if a port is already in use, it will return an error message, in which case the user should select a different port number. \n",
 | ||
|     "The interface opens a dash app inside the Jupyter Notebook and allows selection of the input file in the top left dropdown menu, as well as selection of the detector type in the top right, with options for each detector type as explained below. The output of the detector is shown directly on the right next to the image. This way, the user can directly inspect how updating the options for each detector changes the computed results, and find the best settings for a production run.\n",
 | ||
|     "\n",
 | ||
|     "Please note that for the Google Cloud Vision API (the TextDetector class) you need to set a key in order to process the images. This key is ideally set as an environment variable using for example\n",
 | ||
|     "```\n",
 | ||
|     "os.environ[\n",
 | ||
|     "    \"GOOGLE_APPLICATION_CREDENTIALS\"\n",
 | ||
|     "] = \"/content/drive/MyDrive/misinformation-data/misinformation-campaign-981aa55a3b13.json\"\n",
 | ||
|     "```\n",
 | ||
|     "where you place the key on your Google Drive if running on colab, or place it in a local folder on your machine."
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 4,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-10-31T09:23:35.764487Z",
 | ||
|      "iopub.status.busy": "2023-10-31T09:23:35.764207Z",
 | ||
|      "iopub.status.idle": "2023-10-31T09:23:35.819817Z",
 | ||
|      "shell.execute_reply": "2023-10-31T09:23:35.818840Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "data": {
 | ||
|       "text/html": [
 | ||
|        "\n",
 | ||
|        "        <iframe\n",
 | ||
|        "            width=\"100%\"\n",
 | ||
|        "            height=\"650\"\n",
 | ||
|        "            src=\"http://127.0.0.1:8055/\"\n",
 | ||
|        "            frameborder=\"0\"\n",
 | ||
|        "            allowfullscreen\n",
 | ||
|        "            \n",
 | ||
|        "        ></iframe>\n",
 | ||
|        "        "
 | ||
|       ],
 | ||
|       "text/plain": [
 | ||
|        "<IPython.lib.display.IFrame at 0x7f2ab64faeb0>"
 | ||
|       ]
 | ||
|      },
 | ||
|      "metadata": {},
 | ||
|      "output_type": "display_data"
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "analysis_explorer = ammico.AnalysisExplorer(image_dict)\n",
 | ||
|     "analysis_explorer.run_server(port=8055)"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "## Step 3: Analyze all images\n",
 | ||
|     "After having selected the best options for each detector module from the interactive GUI, the analysis can now be run in production on all images in the data set. Depending on the size of the data set and the computing resources available, this can take some time. Please note that you need to have set your Google Cloud Vision API key for the TextDetector to run.\n",
 | ||
|     "The desired detector modules are called sequentially in any order, for example:"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 5,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-10-31T09:23:35.864525Z",
 | ||
|      "iopub.status.busy": "2023-10-31T09:23:35.863973Z",
 | ||
|      "iopub.status.idle": "2023-10-31T09:27:21.063281Z",
 | ||
|      "shell.execute_reply": "2023-10-31T09:27:21.055064Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "Collecting en-core-web-md==3.7.0\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "  Downloading https://github.com/explosion/spacy-models/releases/download/en_core_web_md-3.7.0/en_core_web_md-3.7.0-py3-none-any.whl (42.8 MB)\n",
 | ||
|       "\u001b[?25l     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/42.8 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m\r",
 | ||
|       "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.1/42.8 MB\u001b[0m \u001b[31m1.7 MB/s\u001b[0m eta \u001b[36m0:00:26\u001b[0m\r",
 | ||
|       "\u001b[2K     \u001b[91m━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.1/42.8 MB\u001b[0m \u001b[31m15.6 MB/s\u001b[0m eta \u001b[36m0:00:03\u001b[0m\r",
 | ||
|       "\u001b[2K     \u001b[91m━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.1/42.8 MB\u001b[0m \u001b[31m39.1 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r",
 | ||
|       "\u001b[2K     \u001b[91m━━━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.6/42.8 MB\u001b[0m \u001b[31m53.4 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r",
 | ||
|       "\u001b[2K     \u001b[91m━━━━━━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.9/42.8 MB\u001b[0m \u001b[31m90.5 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "\u001b[2K     \u001b[91m━━━━━━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m14.5/42.8 MB\u001b[0m \u001b[31m97.4 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r",
 | ||
|       "\u001b[2K     \u001b[91m━━━━━━━━━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m18.0/42.8 MB\u001b[0m \u001b[31m97.2 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r",
 | ||
|       "\u001b[2K     \u001b[91m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m21.3/42.8 MB\u001b[0m \u001b[31m96.3 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r",
 | ||
|       "\u001b[2K     \u001b[91m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m24.8/42.8 MB\u001b[0m \u001b[31m95.6 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r",
 | ||
|       "\u001b[2K     \u001b[91m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m \u001b[32m28.3/42.8 MB\u001b[0m \u001b[31m96.0 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r",
 | ||
|       "\u001b[2K     \u001b[91m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m \u001b[32m31.8/42.8 MB\u001b[0m \u001b[31m97.0 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "\u001b[2K     \u001b[91m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m \u001b[32m35.2/42.8 MB\u001b[0m \u001b[31m95.6 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r",
 | ||
|       "\u001b[2K     \u001b[91m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━\u001b[0m \u001b[32m38.6/42.8 MB\u001b[0m \u001b[31m95.5 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r",
 | ||
|       "\u001b[2K     \u001b[91m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m \u001b[32m42.6/42.8 MB\u001b[0m \u001b[31m99.9 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r",
 | ||
|       "\u001b[2K     \u001b[91m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m \u001b[32m42.8/42.8 MB\u001b[0m \u001b[31m97.5 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r",
 | ||
|       "\u001b[2K     \u001b[91m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m \u001b[32m42.8/42.8 MB\u001b[0m \u001b[31m97.5 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r",
 | ||
|       "\u001b[2K     \u001b[91m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m \u001b[32m42.8/42.8 MB\u001b[0m \u001b[31m97.5 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m42.8/42.8 MB\u001b[0m \u001b[31m42.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
 | ||
|       "\u001b[?25hRequirement already satisfied: spacy<3.8.0,>=3.7.0 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from en-core-web-md==3.7.0) (3.7.2)\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "Requirement already satisfied: spacy-legacy<3.1.0,>=3.0.11 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (3.0.12)\n",
 | ||
|       "Requirement already satisfied: spacy-loggers<2.0.0,>=1.0.0 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (1.0.5)\n",
 | ||
|       "Requirement already satisfied: murmurhash<1.1.0,>=0.28.0 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (1.0.10)\n",
 | ||
|       "Requirement already satisfied: cymem<2.1.0,>=2.0.2 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (2.0.8)\n",
 | ||
|       "Requirement already satisfied: preshed<3.1.0,>=3.0.2 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (3.0.9)\n",
 | ||
|       "Requirement already satisfied: thinc<8.3.0,>=8.1.8 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (8.2.1)\n",
 | ||
|       "Requirement already satisfied: wasabi<1.2.0,>=0.9.1 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (1.1.2)\n",
 | ||
|       "Requirement already satisfied: srsly<3.0.0,>=2.4.3 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (2.4.8)\n",
 | ||
|       "Requirement already satisfied: catalogue<2.1.0,>=2.0.6 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (2.0.10)\n",
 | ||
|       "Requirement already satisfied: weasel<0.4.0,>=0.1.0 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (0.3.3)\n",
 | ||
|       "Requirement already satisfied: typer<0.10.0,>=0.3.0 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (0.9.0)\n",
 | ||
|       "Requirement already satisfied: smart-open<7.0.0,>=5.2.1 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (6.4.0)\n",
 | ||
|       "Requirement already satisfied: tqdm<5.0.0,>=4.38.0 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (4.66.1)\n",
 | ||
|       "Requirement already satisfied: requests<3.0.0,>=2.13.0 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (2.31.0)\n",
 | ||
|       "Requirement already satisfied: pydantic!=1.8,!=1.8.1,<3.0.0,>=1.7.4 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (1.10.13)\n",
 | ||
|       "Requirement already satisfied: jinja2 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (3.1.2)\n",
 | ||
|       "Requirement already satisfied: setuptools in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (58.1.0)\n",
 | ||
|       "Requirement already satisfied: packaging>=20.0 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (23.2)\n",
 | ||
|       "Requirement already satisfied: langcodes<4.0.0,>=3.2.0 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (3.3.0)\n",
 | ||
|       "Requirement already satisfied: numpy>=1.19.0 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (1.23.4)\n",
 | ||
|       "Requirement already satisfied: typing-extensions>=4.2.0 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from pydantic!=1.8,!=1.8.1,<3.0.0,>=1.7.4->spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (4.5.0)\n",
 | ||
|       "Requirement already satisfied: charset-normalizer<4,>=2 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from requests<3.0.0,>=2.13.0->spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (3.3.1)\n",
 | ||
|       "Requirement already satisfied: idna<4,>=2.5 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from requests<3.0.0,>=2.13.0->spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (2.10)\n",
 | ||
|       "Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from requests<3.0.0,>=2.13.0->spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (2.0.7)\n",
 | ||
|       "Requirement already satisfied: certifi>=2017.4.17 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from requests<3.0.0,>=2.13.0->spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (2023.7.22)\n",
 | ||
|       "Requirement already satisfied: blis<0.8.0,>=0.7.8 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from thinc<8.3.0,>=8.1.8->spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (0.7.11)\n",
 | ||
|       "Requirement already satisfied: confection<1.0.0,>=0.0.1 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from thinc<8.3.0,>=8.1.8->spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (0.1.3)\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "Requirement already satisfied: click<9.0.0,>=7.1.1 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from typer<0.10.0,>=0.3.0->spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (8.1.7)\n",
 | ||
|       "Requirement already satisfied: cloudpathlib<0.17.0,>=0.7.0 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from weasel<0.4.0,>=0.1.0->spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (0.16.0)\n",
 | ||
|       "Requirement already satisfied: MarkupSafe>=2.0 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from jinja2->spacy<3.8.0,>=3.7.0->en-core-web-md==3.7.0) (2.1.3)\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "Installing collected packages: en-core-web-md\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "Successfully installed en-core-web-md-3.7.0\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n",
 | ||
|       "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m23.0.1\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m23.3.1\u001b[0m\n",
 | ||
|       "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\u001b[38;5;2m✔ Download and installation successful\u001b[0m\n",
 | ||
|       "You can now load the package via spacy.load('en_core_web_md')\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)art-cnn-12-6/resolve/a4f8f3e/config.json:   0%|          | 0.00/1.80k [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)art-cnn-12-6/resolve/a4f8f3e/config.json: 100%|██████████| 1.80k/1.80k [00:00<00:00, 236kB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   0%|          | 0.00/1.22G [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   2%|▏         | 21.0M/1.22G [00:00<00:07, 170MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   3%|▎         | 41.9M/1.22G [00:00<00:06, 180MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   5%|▌         | 62.9M/1.22G [00:00<00:06, 191MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   8%|▊         | 94.4M/1.22G [00:00<00:05, 203MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  10%|█         | 126M/1.22G [00:00<00:05, 209MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  12%|█▏        | 147M/1.22G [00:00<00:05, 204MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  14%|█▎        | 168M/1.22G [00:00<00:05, 205MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  16%|█▋        | 199M/1.22G [00:00<00:04, 207MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  19%|█▉        | 231M/1.22G [00:01<00:04, 211MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  21%|██▏       | 262M/1.22G [00:01<00:04, 213MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  24%|██▍       | 294M/1.22G [00:01<00:04, 212MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  27%|██▋       | 325M/1.22G [00:01<00:04, 211MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  29%|██▉       | 357M/1.22G [00:01<00:04, 214MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  32%|███▏      | 388M/1.22G [00:01<00:03, 212MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  34%|███▍      | 419M/1.22G [00:02<00:03, 211MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  37%|███▋      | 451M/1.22G [00:02<00:03, 216MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  39%|███▉      | 482M/1.22G [00:02<00:03, 215MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  42%|████▏     | 514M/1.22G [00:02<00:03, 212MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  45%|████▍     | 545M/1.22G [00:02<00:03, 214MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  47%|████▋     | 577M/1.22G [00:02<00:03, 211MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  50%|████▉     | 608M/1.22G [00:02<00:02, 206MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  51%|█████▏    | 629M/1.22G [00:03<00:02, 207MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  54%|█████▍    | 661M/1.22G [00:03<00:02, 203MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  56%|█████▌    | 682M/1.22G [00:03<00:02, 201MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  58%|█████▊    | 713M/1.22G [00:03<00:02, 204MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  60%|██████    | 734M/1.22G [00:03<00:02, 202MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  63%|██████▎   | 765M/1.22G [00:03<00:02, 206MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  64%|██████▍   | 786M/1.22G [00:03<00:02, 206MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  66%|██████▌   | 807M/1.22G [00:03<00:02, 205MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  68%|██████▊   | 828M/1.22G [00:04<00:01, 203MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  70%|███████   | 860M/1.22G [00:04<00:01, 208MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  73%|███████▎  | 891M/1.22G [00:04<00:01, 212MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  75%|███████▌  | 923M/1.22G [00:04<00:01, 214MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  78%|███████▊  | 954M/1.22G [00:04<00:01, 215MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  81%|████████  | 986M/1.22G [00:04<00:01, 215MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  83%|████████▎ | 1.02G/1.22G [00:04<00:00, 213MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  86%|████████▌ | 1.05G/1.22G [00:05<00:00, 209MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  88%|████████▊ | 1.07G/1.22G [00:05<00:00, 207MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  90%|█████████ | 1.10G/1.22G [00:05<00:00, 209MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  92%|█████████▏| 1.12G/1.22G [00:05<00:00, 208MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  94%|█████████▍| 1.15G/1.22G [00:05<00:00, 210MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  96%|█████████▌| 1.17G/1.22G [00:05<00:00, 208MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  98%|█████████▊| 1.20G/1.22G [00:05<00:00, 206MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin: 100%|█████████▉| 1.22G/1.22G [00:06<00:00, 51.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin: 100%|██████████| 1.22G/1.22G [00:07<00:00, 174MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)-6/resolve/a4f8f3e/tokenizer_config.json:   0%|          | 0.00/26.0 [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)-6/resolve/a4f8f3e/tokenizer_config.json: 100%|██████████| 26.0/26.0 [00:00<00:00, 7.65kB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)bart-cnn-12-6/resolve/a4f8f3e/vocab.json:   0%|          | 0.00/899k [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)bart-cnn-12-6/resolve/a4f8f3e/vocab.json: 100%|██████████| 899k/899k [00:00<00:00, 7.77MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)bart-cnn-12-6/resolve/a4f8f3e/vocab.json: 100%|██████████| 899k/899k [00:00<00:00, 7.35MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)bart-cnn-12-6/resolve/a4f8f3e/merges.txt:   0%|          | 0.00/456k [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)bart-cnn-12-6/resolve/a4f8f3e/merges.txt: 100%|██████████| 456k/456k [00:00<00:00, 64.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)st-2-english/resolve/af0f99b/config.json:   0%|          | 0.00/629 [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)st-2-english/resolve/af0f99b/config.json: 100%|██████████| 629/629 [00:00<00:00, 131kB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   0%|          | 0.00/268M [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   8%|▊         | 21.0M/268M [00:00<00:01, 196MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  16%|█▌        | 41.9M/268M [00:00<00:01, 203MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  23%|██▎       | 62.9M/268M [00:00<00:01, 198MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  31%|███▏      | 83.9M/268M [00:00<00:00, 190MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  39%|███▉      | 105M/268M [00:00<00:00, 185MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  47%|████▋     | 126M/268M [00:00<00:00, 189MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  55%|█████▍    | 147M/268M [00:00<00:00, 194MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  63%|██████▎   | 168M/268M [00:00<00:00, 199MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  74%|███████▍  | 199M/268M [00:01<00:00, 205MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  86%|████████▌ | 231M/268M [00:01<00:00, 210MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  98%|█████████▊| 262M/268M [00:01<00:00, 213MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin: 100%|██████████| 268M/268M [00:01<00:00, 202MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)sh/resolve/af0f99b/tokenizer_config.json:   0%|          | 0.00/48.0 [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)sh/resolve/af0f99b/tokenizer_config.json: 100%|██████████| 48.0/48.0 [00:00<00:00, 22.4kB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)-sst-2-english/resolve/af0f99b/vocab.txt:   0%|          | 0.00/232k [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)-sst-2-english/resolve/af0f99b/vocab.txt: 100%|██████████| 232k/232k [00:00<00:00, 50.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)ll03-english/resolve/f2482bf/config.json:   0%|          | 0.00/998 [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)ll03-english/resolve/f2482bf/config.json: 100%|██████████| 998/998 [00:00<00:00, 220kB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   0%|          | 0.00/1.33G [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   2%|▏         | 31.5M/1.33G [00:00<00:06, 216MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   5%|▍         | 62.9M/1.33G [00:00<00:05, 215MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   7%|▋         | 94.4M/1.33G [00:00<00:05, 209MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   9%|▉         | 126M/1.33G [00:00<00:05, 209MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  11%|█         | 147M/1.33G [00:00<00:05, 208MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  13%|█▎        | 178M/1.33G [00:00<00:05, 208MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  15%|█▍        | 199M/1.33G [00:00<00:05, 208MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  17%|█▋        | 220M/1.33G [00:01<00:05, 204MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  19%|█▉        | 252M/1.33G [00:01<00:05, 208MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  21%|██        | 283M/1.33G [00:01<00:04, 212MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  24%|██▎       | 315M/1.33G [00:01<00:04, 210MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  25%|██▌       | 336M/1.33G [00:01<00:04, 210MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  28%|██▊       | 367M/1.33G [00:01<00:04, 203MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  30%|██▉       | 398M/1.33G [00:01<00:04, 206MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  32%|███▏      | 430M/1.33G [00:02<00:04, 211MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  35%|███▍      | 461M/1.33G [00:02<00:04, 213MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  37%|███▋      | 493M/1.33G [00:02<00:03, 216MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  39%|███▉      | 524M/1.33G [00:02<00:03, 218MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  42%|████▏     | 556M/1.33G [00:02<00:03, 221MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  44%|████▍     | 587M/1.33G [00:02<00:03, 221MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  46%|████▋     | 619M/1.33G [00:02<00:03, 211MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  49%|████▊     | 650M/1.33G [00:03<00:03, 209MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  51%|█████     | 682M/1.33G [00:03<00:03, 206MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  53%|█████▎    | 703M/1.33G [00:03<00:03, 205MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  54%|█████▍    | 724M/1.33G [00:03<00:02, 206MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  56%|█████▌    | 744M/1.33G [00:03<00:03, 196MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  58%|█████▊    | 776M/1.33G [00:03<00:02, 202MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  61%|██████    | 807M/1.33G [00:03<00:02, 206MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  62%|██████▏   | 828M/1.33G [00:03<00:02, 204MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  64%|██████▎   | 849M/1.33G [00:04<00:02, 204MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  65%|██████▌   | 870M/1.33G [00:04<00:02, 202MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  67%|██████▋   | 891M/1.33G [00:04<00:02, 198MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  68%|██████▊   | 912M/1.33G [00:04<00:02, 198MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  71%|███████   | 944M/1.33G [00:04<00:01, 206MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  72%|███████▏  | 965M/1.33G [00:04<00:01, 201MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  74%|███████▍  | 986M/1.33G [00:04<00:01, 202MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  76%|███████▌  | 1.02G/1.33G [00:04<00:01, 209MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  78%|███████▊  | 1.04G/1.33G [00:04<00:01, 207MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  79%|███████▉  | 1.06G/1.33G [00:05<00:01, 207MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  81%|████████  | 1.08G/1.33G [00:05<00:01, 207MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  83%|████████▎ | 1.10G/1.33G [00:05<00:01, 206MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  84%|████████▍ | 1.12G/1.33G [00:05<00:01, 203MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  86%|████████▌ | 1.14G/1.33G [00:05<00:00, 204MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  87%|████████▋ | 1.16G/1.33G [00:05<00:00, 202MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  90%|████████▉ | 1.20G/1.33G [00:05<00:00, 208MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  91%|█████████ | 1.22G/1.33G [00:05<00:00, 207MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  94%|█████████▎| 1.25G/1.33G [00:06<00:00, 208MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  96%|█████████▌| 1.28G/1.33G [00:06<00:00, 210MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  98%|█████████▊| 1.31G/1.33G [00:06<00:00, 213MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin: 100%|██████████| 1.33G/1.33G [00:06<00:00, 211MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin: 100%|██████████| 1.33G/1.33G [00:06<00:00, 208MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)sh/resolve/f2482bf/tokenizer_config.json:   0%|          | 0.00/60.0 [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)sh/resolve/f2482bf/tokenizer_config.json: 100%|██████████| 60.0/60.0 [00:00<00:00, 25.6kB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)onll03-english/resolve/f2482bf/vocab.txt:   0%|          | 0.00/213k [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)onll03-english/resolve/f2482bf/vocab.txt: 100%|██████████| 213k/213k [00:00<00:00, 66.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "Downloading data from 'https://github.com/serengil/deepface_models/releases/download/v1.0/retinaface.h5' to file '/home/runner/.cache/pooch/3be32af6e4183fa0156bc33bda371147-retinaface.h5'.\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "Downloading data from 'https://github.com/chandrikadeb7/Face-Mask-Detection/raw/v1.0.0/mask_detector.model' to file '/home/runner/.cache/pooch/865b4b1e20f798935b70082440d5fb21-mask_detector.model'.\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 1s 1s/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "Downloading data from 'https://github.com/serengil/deepface_models/releases/download/v1.0/age_model_weights.h5' to file '/home/runner/.cache/pooch/39859d3331cd91ac06154cc306e1acc8-age_model_weights.h5'.\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "Downloading data from 'https://github.com/serengil/deepface_models/releases/download/v1.0/facial_expression_model_weights.h5' to file '/home/runner/.cache/pooch/dd5d5d6d8f5cecdc0fa6cb34d4d82d16-facial_expression_model_weights.h5'.\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "Downloading data from 'https://github.com/serengil/deepface_models/releases/download/v1.0/gender_model_weights.h5' to file '/home/runner/.cache/pooch/2e0d8fb96c5ee966ade0f3f2360f6478-gender_model_weights.h5'.\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "Downloading data from 'https://github.com/serengil/deepface_models/releases/download/v1.0/race_model_single_batch.h5' to file '/home/runner/.cache/pooch/382cb5446128012fa5305ddb9d608751-race_model_single_batch.h5'.\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 1s 590ms/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 1s 579ms/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 1s 956ms/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 0s 423ms/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 0s 403ms/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 1s 996ms/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 0s 385ms/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 0s 439ms/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 1s 583ms/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 0s 123ms/step\n"
 | ||
|      ]
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "for key in image_dict.keys():\n",
 | ||
|     "    image_dict[key] = ammico.TextDetector(image_dict[key], analyse_text=True).analyse_image()\n",
 | ||
|     "    image_dict[key] = ammico.EmotionDetector(image_dict[key]).analyse_image()"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "For the computationally demanding `SummaryDetector`, it is best to initialize the model first and then analyze each image while passing the model explicitly. This can be done in a separate loop or in the same loop as for text and emotion detection."
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 6,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-10-31T09:27:21.308174Z",
 | ||
|      "iopub.status.busy": "2023-10-31T09:27:21.307757Z",
 | ||
|      "iopub.status.idle": "2023-10-31T09:30:34.337509Z",
 | ||
|      "shell.execute_reply": "2023-10-31T09:30:34.310119Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)bert-base-uncased/resolve/main/vocab.txt:   0%|          | 0.00/232k [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)bert-base-uncased/resolve/main/vocab.txt: 100%|██████████| 232k/232k [00:00<00:00, 2.21MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)bert-base-uncased/resolve/main/vocab.txt: 100%|██████████| 232k/232k [00:00<00:00, 2.01MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)cased/resolve/main/tokenizer_config.json:   0%|          | 0.00/28.0 [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)cased/resolve/main/tokenizer_config.json: 100%|██████████| 28.0/28.0 [00:00<00:00, 11.4kB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)rt-base-uncased/resolve/main/config.json:   0%|          | 0.00/570 [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "(…)rt-base-uncased/resolve/main/config.json: 100%|██████████| 570/570 [00:00<00:00, 232kB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  0%|          | 0.00/2.50G [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  0%|          | 9.71M/2.50G [00:00<00:26, 102MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  1%|          | 28.7M/2.50G [00:00<00:16, 159MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  2%|▏         | 43.8M/2.50G [00:00<00:17, 152MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  2%|▏         | 58.8M/2.50G [00:00<00:17, 154MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  3%|▎         | 74.3M/2.50G [00:00<00:16, 157MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  3%|▎         | 89.2M/2.50G [00:00<00:16, 155MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  4%|▍         | 108M/2.50G [00:00<00:15, 169MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  5%|▍         | 125M/2.50G [00:00<00:14, 171MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  6%|▌         | 144M/2.50G [00:00<00:14, 180MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  6%|▋         | 161M/2.50G [00:01<00:14, 179MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  7%|▋         | 178M/2.50G [00:01<00:14, 174MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  8%|▊         | 195M/2.50G [00:01<00:14, 170MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  8%|▊         | 211M/2.50G [00:01<00:15, 163MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  9%|▉         | 227M/2.50G [00:01<00:15, 163MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  9%|▉         | 243M/2.50G [00:01<00:15, 156MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 10%|█         | 258M/2.50G [00:01<00:15, 157MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 11%|█         | 273M/2.50G [00:03<01:13, 32.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 11%|█         | 283M/2.50G [00:03<01:03, 37.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 11%|█▏        | 294M/2.50G [00:03<00:53, 44.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 12%|█▏        | 309M/2.50G [00:03<00:40, 58.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 12%|█▏        | 320M/2.50G [00:03<00:35, 66.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 13%|█▎        | 331M/2.50G [00:03<00:32, 71.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 13%|█▎        | 342M/2.50G [00:03<00:39, 59.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 14%|█▍        | 355M/2.50G [00:04<00:32, 71.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 14%|█▍        | 364M/2.50G [00:05<01:32, 25.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 15%|█▍        | 376M/2.50G [00:05<01:11, 32.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 15%|█▌        | 387M/2.50G [00:05<00:56, 40.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 16%|█▌        | 400M/2.50G [00:05<00:43, 52.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 16%|█▌        | 410M/2.50G [00:05<00:38, 59.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 17%|█▋        | 424M/2.50G [00:05<00:29, 74.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 17%|█▋        | 435M/2.50G [00:05<00:26, 84.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 17%|█▋        | 446M/2.50G [00:05<00:25, 88.7MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 18%|█▊        | 458M/2.50G [00:06<00:22, 97.7MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 18%|█▊        | 473M/2.50G [00:06<00:19, 112MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 19%|█▉        | 488M/2.50G [00:06<00:24, 88.7MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 20%|█▉        | 505M/2.50G [00:06<00:20, 107MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 20%|██        | 517M/2.50G [00:06<00:22, 97.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 21%|██        | 535M/2.50G [00:06<00:18, 117MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 22%|██▏       | 552M/2.50G [00:06<00:15, 133MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 22%|██▏       | 567M/2.50G [00:07<00:15, 138MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 23%|██▎       | 582M/2.50G [00:07<00:14, 145MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 23%|██▎       | 600M/2.50G [00:07<00:13, 157MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 24%|██▍       | 618M/2.50G [00:07<00:12, 166MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 25%|██▍       | 635M/2.50G [00:07<00:15, 130MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 25%|██▌       | 650M/2.50G [00:07<00:14, 139MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 26%|██▌       | 668M/2.50G [00:07<00:13, 152MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 27%|██▋       | 684M/2.50G [00:07<00:13, 151MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 27%|██▋       | 699M/2.50G [00:07<00:12, 153MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 28%|██▊       | 714M/2.50G [00:08<00:13, 147MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 28%|██▊       | 730M/2.50G [00:08<00:12, 152MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 29%|██▉       | 744M/2.50G [00:08<00:12, 153MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 30%|██▉       | 760M/2.50G [00:08<00:12, 155MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 30%|███       | 775M/2.50G [00:08<00:14, 128MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 31%|███       | 789M/2.50G [00:08<00:13, 134MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 31%|███▏      | 805M/2.50G [00:08<00:12, 143MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 32%|███▏      | 822M/2.50G [00:08<00:12, 151MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 33%|███▎      | 837M/2.50G [00:08<00:11, 154MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 33%|███▎      | 852M/2.50G [00:09<00:11, 150MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 34%|███▍      | 867M/2.50G [00:09<00:13, 131MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 34%|███▍      | 880M/2.50G [00:09<00:13, 134MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 35%|███▍      | 894M/2.50G [00:09<00:21, 80.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 35%|███▌      | 910M/2.50G [00:09<00:17, 96.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 36%|███▌      | 922M/2.50G [00:09<00:17, 96.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 37%|███▋      | 937M/2.50G [00:09<00:15, 111MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 37%|███▋      | 950M/2.50G [00:10<00:23, 71.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 38%|███▊      | 964M/2.50G [00:10<00:19, 85.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 38%|███▊      | 978M/2.50G [00:10<00:17, 96.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 39%|███▊      | 992M/2.50G [00:10<00:15, 108MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 39%|███▉      | 0.98G/2.50G [00:10<00:14, 116MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 40%|███▉      | 1.00G/2.50G [00:10<00:12, 126MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 40%|████      | 1.01G/2.50G [00:10<00:11, 136MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 41%|████      | 1.03G/2.50G [00:11<00:11, 142MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 42%|████▏     | 1.04G/2.50G [00:11<00:10, 143MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 42%|████▏     | 1.06G/2.50G [00:11<00:10, 149MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 43%|████▎     | 1.07G/2.50G [00:11<00:10, 150MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 43%|████▎     | 1.08G/2.50G [00:11<00:10, 152MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 44%|████▍     | 1.10G/2.50G [00:11<00:10, 149MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 44%|████▍     | 1.11G/2.50G [00:11<00:10, 145MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 45%|████▌     | 1.13G/2.50G [00:11<00:09, 153MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 46%|████▌     | 1.14G/2.50G [00:11<00:09, 155MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 46%|████▋     | 1.16G/2.50G [00:11<00:09, 157MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 47%|████▋     | 1.17G/2.50G [00:12<00:09, 151MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 47%|████▋     | 1.19G/2.50G [00:12<00:10, 133MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 48%|████▊     | 1.20G/2.50G [00:12<00:10, 136MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 49%|████▊     | 1.22G/2.50G [00:12<00:09, 143MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 49%|████▉     | 1.23G/2.50G [00:12<00:09, 147MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 50%|████▉     | 1.25G/2.50G [00:12<00:08, 150MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 50%|█████     | 1.26G/2.50G [00:12<00:09, 148MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 51%|█████     | 1.27G/2.50G [00:12<00:10, 124MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 51%|█████▏    | 1.29G/2.50G [00:12<00:09, 133MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 52%|█████▏    | 1.30G/2.50G [00:13<00:09, 139MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 53%|█████▎    | 1.32G/2.50G [00:13<00:09, 140MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 53%|█████▎    | 1.33G/2.50G [00:13<00:08, 146MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 54%|█████▍    | 1.35G/2.50G [00:13<00:08, 151MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 54%|█████▍    | 1.36G/2.50G [00:13<00:10, 119MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 55%|█████▍    | 1.37G/2.50G [00:13<00:09, 125MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 55%|█████▌    | 1.39G/2.50G [00:13<00:09, 122MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 56%|█████▌    | 1.40G/2.50G [00:13<00:09, 129MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 56%|█████▋    | 1.41G/2.50G [00:13<00:08, 132MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 57%|█████▋    | 1.43G/2.50G [00:14<00:08, 139MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 58%|█████▊    | 1.44G/2.50G [00:14<00:08, 138MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 58%|█████▊    | 1.46G/2.50G [00:14<00:08, 132MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 59%|█████▊    | 1.47G/2.50G [00:14<00:08, 138MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 59%|█████▉    | 1.48G/2.50G [00:14<00:14, 77.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 60%|█████▉    | 1.50G/2.50G [00:14<00:11, 97.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 61%|██████    | 1.51G/2.50G [00:15<00:09, 109MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 61%|██████    | 1.53G/2.50G [00:15<00:09, 110MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 62%|██████▏   | 1.54G/2.50G [00:15<00:08, 118MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 62%|██████▏   | 1.55G/2.50G [00:15<00:11, 88.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 63%|██████▎   | 1.57G/2.50G [00:15<00:10, 96.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 63%|██████▎   | 1.58G/2.50G [00:15<00:09, 107MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 64%|██████▎   | 1.59G/2.50G [00:15<00:08, 116MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 64%|██████▍   | 1.61G/2.50G [00:15<00:07, 136MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 65%|██████▌   | 1.63G/2.50G [00:16<00:06, 154MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 66%|██████▌   | 1.65G/2.50G [00:16<00:05, 154MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 67%|██████▋   | 1.67G/2.50G [00:16<00:05, 167MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 67%|██████▋   | 1.68G/2.50G [00:16<00:05, 153MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 68%|██████▊   | 1.70G/2.50G [00:16<00:05, 167MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 69%|██████▊   | 1.72G/2.50G [00:16<00:04, 174MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 69%|██████▉   | 1.74G/2.50G [00:16<00:04, 174MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 70%|██████▉   | 1.75G/2.50G [00:16<00:04, 168MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 71%|███████   | 1.77G/2.50G [00:16<00:04, 161MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 71%|███████   | 1.78G/2.50G [00:16<00:04, 162MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 72%|███████▏  | 1.80G/2.50G [00:17<00:04, 161MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 72%|███████▏  | 1.81G/2.50G [00:17<00:04, 159MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 73%|███████▎  | 1.83G/2.50G [00:17<00:05, 138MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 74%|███████▎  | 1.84G/2.50G [00:17<00:04, 143MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 74%|███████▍  | 1.86G/2.50G [00:17<00:04, 153MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 75%|███████▌  | 1.88G/2.50G [00:17<00:04, 168MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 76%|███████▌  | 1.89G/2.50G [00:17<00:04, 157MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 76%|███████▋  | 1.91G/2.50G [00:17<00:04, 128MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 77%|███████▋  | 1.92G/2.50G [00:18<00:05, 124MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 77%|███████▋  | 1.94G/2.50G [00:18<00:04, 130MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 78%|███████▊  | 1.95G/2.50G [00:18<00:05, 109MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 78%|███████▊  | 1.96G/2.50G [00:18<00:04, 120MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 79%|███████▉  | 1.98G/2.50G [00:18<00:04, 115MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 79%|███████▉  | 1.99G/2.50G [00:18<00:04, 118MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 80%|███████▉  | 2.00G/2.50G [00:18<00:05, 107MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 80%|████████  | 2.01G/2.50G [00:18<00:04, 115MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 81%|████████  | 2.03G/2.50G [00:19<00:03, 137MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 82%|████████▏ | 2.04G/2.50G [00:19<00:03, 123MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 82%|████████▏ | 2.06G/2.50G [00:19<00:03, 141MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 83%|████████▎ | 2.08G/2.50G [00:19<00:05, 79.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 83%|████████▎ | 2.09G/2.50G [00:19<00:05, 85.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 84%|████████▍ | 2.10G/2.50G [00:19<00:04, 91.7MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 85%|████████▍ | 2.12G/2.50G [00:20<00:05, 73.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 85%|████████▌ | 2.14G/2.50G [00:20<00:04, 91.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 86%|████████▌ | 2.15G/2.50G [00:20<00:03, 101MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 86%|████████▋ | 2.16G/2.50G [00:20<00:03, 105MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 87%|████████▋ | 2.18G/2.50G [00:20<00:02, 116MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 88%|████████▊ | 2.20G/2.50G [00:20<00:02, 132MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 88%|████████▊ | 2.21G/2.50G [00:20<00:02, 140MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 89%|████████▉ | 2.22G/2.50G [00:21<00:02, 143MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 90%|████████▉ | 2.24G/2.50G [00:21<00:01, 152MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 90%|█████████ | 2.26G/2.50G [00:21<00:01, 169MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 91%|█████████ | 2.28G/2.50G [00:21<00:01, 178MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 92%|█████████▏| 2.30G/2.50G [00:21<00:01, 125MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 92%|█████████▏| 2.31G/2.50G [00:21<00:01, 139MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 93%|█████████▎| 2.33G/2.50G [00:21<00:01, 129MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 94%|█████████▎| 2.35G/2.50G [00:21<00:01, 138MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 94%|█████████▍| 2.36G/2.50G [00:22<00:01, 137MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 95%|█████████▍| 2.37G/2.50G [00:22<00:00, 144MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 95%|█████████▌| 2.39G/2.50G [00:22<00:00, 145MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 96%|█████████▌| 2.40G/2.50G [00:22<00:00, 150MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 97%|█████████▋| 2.42G/2.50G [00:22<00:00, 125MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 97%|█████████▋| 2.43G/2.50G [00:22<00:00, 121MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 98%|█████████▊| 2.45G/2.50G [00:22<00:00, 130MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 98%|█████████▊| 2.46G/2.50G [00:22<00:00, 119MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 99%|█████████▉| 2.48G/2.50G [00:22<00:00, 138MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 99%|█████████▉| 2.49G/2.50G [00:23<00:00, 138MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "100%|█████████▉| 2.50G/2.50G [00:23<00:00, 137MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "100%|██████████| 2.50G/2.50G [00:23<00:00, 116MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  0%|          | 0.00/1.35G [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  1%|          | 9.39M/1.35G [00:00<00:14, 98.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  2%|▏         | 24.6M/1.35G [00:00<00:10, 134MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  3%|▎         | 37.4M/1.35G [00:00<00:11, 127MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  4%|▎         | 49.6M/1.35G [00:00<00:12, 108MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  5%|▍         | 68.8M/1.35G [00:00<00:09, 137MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  6%|▋         | 87.6M/1.35G [00:00<00:08, 156MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  8%|▊         | 106M/1.35G [00:00<00:08, 166MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  9%|▉         | 122M/1.35G [00:00<00:08, 164MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 10%|█         | 141M/1.35G [00:00<00:07, 175MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 12%|█▏        | 161M/1.35G [00:01<00:06, 184MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 13%|█▎        | 180M/1.35G [00:01<00:06, 180MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 14%|█▍        | 197M/1.35G [00:01<00:06, 180MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 16%|█▌        | 217M/1.35G [00:01<00:06, 187MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 17%|█▋        | 236M/1.35G [00:01<00:06, 191MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 19%|█▊        | 256M/1.35G [00:01<00:05, 197MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 20%|█▉        | 275M/1.35G [00:01<00:08, 139MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 21%|██▏       | 294M/1.35G [00:01<00:07, 153MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 22%|██▏       | 310M/1.35G [00:02<00:09, 117MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 23%|██▎       | 324M/1.35G [00:02<00:12, 85.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 25%|██▍       | 343M/1.35G [00:02<00:10, 105MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 26%|██▌       | 356M/1.35G [00:02<00:12, 87.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 27%|██▋       | 375M/1.35G [00:02<00:09, 107MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 29%|██▊       | 394M/1.35G [00:03<00:08, 125MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 30%|██▉       | 409M/1.35G [00:04<00:26, 38.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 30%|███       | 420M/1.35G [00:04<00:22, 45.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 31%|███▏      | 432M/1.35G [00:04<00:18, 53.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 32%|███▏      | 443M/1.35G [00:04<00:17, 57.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 33%|███▎      | 457M/1.35G [00:04<00:13, 70.7MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 34%|███▍      | 472M/1.35G [00:04<00:11, 86.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 35%|███▌      | 485M/1.35G [00:04<00:09, 96.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 36%|███▌      | 498M/1.35G [00:04<00:08, 105MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 37%|███▋      | 511M/1.35G [00:05<00:08, 105MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 38%|███▊      | 523M/1.35G [00:05<00:10, 86.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 39%|███▉      | 535M/1.35G [00:05<00:09, 95.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 40%|███▉      | 548M/1.35G [00:05<00:08, 106MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 41%|████      | 563M/1.35G [00:05<00:07, 119MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 42%|████▏     | 578M/1.35G [00:05<00:06, 128MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 43%|████▎     | 591M/1.35G [00:05<00:07, 110MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 44%|████▎     | 603M/1.35G [00:06<00:08, 91.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 44%|████▍     | 613M/1.35G [00:06<00:08, 93.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 45%|████▌     | 625M/1.35G [00:06<00:07, 101MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 46%|████▋     | 641M/1.35G [00:06<00:06, 119MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 48%|████▊     | 661M/1.35G [00:06<00:05, 143MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 49%|████▉     | 681M/1.35G [00:06<00:04, 162MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 51%|█████     | 701M/1.35G [00:06<00:04, 174MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 52%|█████▏    | 718M/1.35G [00:06<00:04, 153MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 53%|█████▎    | 733M/1.35G [00:06<00:05, 134MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 54%|█████▍    | 748M/1.35G [00:07<00:04, 139MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 55%|█████▌    | 762M/1.35G [00:07<00:04, 135MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 56%|█████▌    | 776M/1.35G [00:08<00:16, 37.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 57%|█████▋    | 785M/1.35G [00:08<00:14, 42.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 58%|█████▊    | 794M/1.35G [00:08<00:13, 44.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 59%|█████▊    | 808M/1.35G [00:08<00:10, 57.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 59%|█████▉    | 818M/1.35G [00:08<00:08, 65.7MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 60%|██████    | 833M/1.35G [00:08<00:07, 81.7MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 61%|██████    | 844M/1.35G [00:10<00:22, 24.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 62%|██████▏   | 862M/1.35G [00:10<00:14, 37.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 63%|██████▎   | 873M/1.35G [00:10<00:11, 44.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 64%|██████▍   | 884M/1.35G [00:10<00:09, 52.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 65%|██████▍   | 894M/1.35G [00:10<00:08, 60.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 66%|██████▌   | 905M/1.35G [00:10<00:07, 65.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 66%|██████▋   | 915M/1.35G [00:10<00:06, 73.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 67%|██████▋   | 927M/1.35G [00:11<00:05, 84.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 68%|██████▊   | 940M/1.35G [00:11<00:04, 95.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 69%|██████▉   | 951M/1.35G [00:11<00:06, 71.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 70%|██████▉   | 961M/1.35G [00:11<00:05, 78.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 71%|███████   | 973M/1.35G [00:11<00:04, 90.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 71%|███████▏  | 983M/1.35G [00:12<00:09, 44.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 72%|███████▏  | 991M/1.35G [00:12<00:14, 27.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 72%|███████▏  | 0.98G/1.35G [00:12<00:11, 33.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 73%|███████▎  | 0.99G/1.35G [00:13<00:08, 44.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 74%|███████▍  | 1.00G/1.35G [00:13<00:05, 62.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 76%|███████▌  | 1.02G/1.35G [00:13<00:04, 81.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 77%|███████▋  | 1.03G/1.35G [00:13<00:03, 95.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 78%|███████▊  | 1.05G/1.35G [00:13<00:02, 108MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 79%|███████▊  | 1.06G/1.35G [00:13<00:02, 117MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 80%|████████  | 1.08G/1.35G [00:13<00:02, 136MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 81%|████████  | 1.09G/1.35G [00:13<00:02, 131MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 82%|████████▏ | 1.11G/1.35G [00:13<00:02, 121MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 83%|████████▎ | 1.12G/1.35G [00:14<00:01, 126MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 84%|████████▍ | 1.14G/1.35G [00:14<00:01, 142MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 85%|████████▌ | 1.15G/1.35G [00:14<00:01, 143MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 86%|████████▋ | 1.16G/1.35G [00:14<00:01, 145MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 87%|████████▋ | 1.18G/1.35G [00:14<00:01, 132MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 89%|████████▊ | 1.19G/1.35G [00:14<00:01, 139MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 90%|████████▉ | 1.21G/1.35G [00:14<00:00, 157MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 91%|█████████▏| 1.23G/1.35G [00:14<00:00, 168MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 93%|█████████▎| 1.25G/1.35G [00:14<00:00, 172MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 94%|█████████▍| 1.26G/1.35G [00:14<00:00, 157MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 95%|█████████▍| 1.28G/1.35G [00:15<00:00, 155MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 96%|█████████▌| 1.29G/1.35G [00:15<00:00, 155MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 97%|█████████▋| 1.31G/1.35G [00:15<00:00, 160MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 98%|█████████▊| 1.32G/1.35G [00:15<00:00, 154MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 99%|█████████▉| 1.34G/1.35G [00:15<00:00, 153MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "100%|██████████| 1.35G/1.35G [00:15<00:00, 92.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "# initialize the models\n",
 | ||
|     "summary_model, summary_vis_processors = ammico.SummaryDetector(image_dict).load_model(model_type=\"base\")\n",
 | ||
|     "# run the analysis without having to re-iniatialize the model\n",
 | ||
|     "for key in image_dict.keys():\n",
 | ||
|     "    image_dict[key] = ammico.SummaryDetector(image_dict[key], analysis_type=\"summary\", \n",
 | ||
|     "                                             summary_model=summary_model, \n",
 | ||
|     "                                             summary_vis_processors=summary_vis_processors).analyse_image()"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "This can be done in a separate loop or in the same loop as for text and emotion detection.\n",
 | ||
|     "\n",
 | ||
|     "The nested dictionary will be updated from containing only the file id's and paths to the image files, to containing also all the image data."
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "## Step 4: Convert analysis output to pandas dataframe and write csv\n",
 | ||
|     "The content of the nested dictionary can then conveniently be converted into a pandas dataframe for further analysis in Python, or be written as a csv file:"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 7,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-10-31T09:30:34.529729Z",
 | ||
|      "iopub.status.busy": "2023-10-31T09:30:34.527325Z",
 | ||
|      "iopub.status.idle": "2023-10-31T09:30:34.865229Z",
 | ||
|      "shell.execute_reply": "2023-10-31T09:30:34.864000Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [],
 | ||
|    "source": [
 | ||
|     "image_df = ammico.get_dataframe(image_dict)"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "Inspect the dataframe:"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 8,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-10-31T09:30:34.872533Z",
 | ||
|      "iopub.status.busy": "2023-10-31T09:30:34.872212Z",
 | ||
|      "iopub.status.idle": "2023-10-31T09:30:35.280665Z",
 | ||
|      "shell.execute_reply": "2023-10-31T09:30:35.279670Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "data": {
 | ||
|       "text/html": [
 | ||
|        "<div>\n",
 | ||
|        "<style scoped>\n",
 | ||
|        "    .dataframe tbody tr th:only-of-type {\n",
 | ||
|        "        vertical-align: middle;\n",
 | ||
|        "    }\n",
 | ||
|        "\n",
 | ||
|        "    .dataframe tbody tr th {\n",
 | ||
|        "        vertical-align: top;\n",
 | ||
|        "    }\n",
 | ||
|        "\n",
 | ||
|        "    .dataframe thead th {\n",
 | ||
|        "        text-align: right;\n",
 | ||
|        "    }\n",
 | ||
|        "</style>\n",
 | ||
|        "<table border=\"1\" class=\"dataframe\">\n",
 | ||
|        "  <thead>\n",
 | ||
|        "    <tr style=\"text-align: right;\">\n",
 | ||
|        "      <th></th>\n",
 | ||
|        "      <th>filename</th>\n",
 | ||
|        "      <th>text</th>\n",
 | ||
|        "      <th>text_language</th>\n",
 | ||
|        "      <th>text_english</th>\n",
 | ||
|        "      <th>text_clean</th>\n",
 | ||
|        "      <th>text_summary</th>\n",
 | ||
|        "      <th>sentiment</th>\n",
 | ||
|        "      <th>sentiment_score</th>\n",
 | ||
|        "      <th>entity</th>\n",
 | ||
|        "      <th>entity_type</th>\n",
 | ||
|        "      <th>...</th>\n",
 | ||
|        "      <th>multiple_faces</th>\n",
 | ||
|        "      <th>no_faces</th>\n",
 | ||
|        "      <th>wears_mask</th>\n",
 | ||
|        "      <th>age</th>\n",
 | ||
|        "      <th>gender</th>\n",
 | ||
|        "      <th>race</th>\n",
 | ||
|        "      <th>emotion</th>\n",
 | ||
|        "      <th>emotion (category)</th>\n",
 | ||
|        "      <th>const_image_summary</th>\n",
 | ||
|        "      <th>3_non-deterministic_summary</th>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "  </thead>\n",
 | ||
|        "  <tbody>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>0</th>\n",
 | ||
|        "      <td>data/106349S_por.png</td>\n",
 | ||
|        "      <td>NEWS URGENTE SAMSUNG AO VIVO Rio de Janeiro NO...</td>\n",
 | ||
|        "      <td>pt</td>\n",
 | ||
|        "      <td>NEWS URGENT SAMSUNG LIVE Rio de Janeiro NEW CO...</td>\n",
 | ||
|        "      <td>NEWS URGENT SAMSUNG LIVE Rio de Janeiro NEW CO...</td>\n",
 | ||
|        "      <td>NEW COUNTING METHOD RJ City HALL EXCLUDES 1,1...</td>\n",
 | ||
|        "      <td>NEGATIVE</td>\n",
 | ||
|        "      <td>0.99</td>\n",
 | ||
|        "      <td>[Rio de Janeiro, C, ##IT, ##Y, PLANALTO]</td>\n",
 | ||
|        "      <td>[LOC, ORG, LOC, ORG, LOC]</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>No</td>\n",
 | ||
|        "      <td>1</td>\n",
 | ||
|        "      <td>[Yes]</td>\n",
 | ||
|        "      <td>[24]</td>\n",
 | ||
|        "      <td>[Man]</td>\n",
 | ||
|        "      <td>[None]</td>\n",
 | ||
|        "      <td>[None]</td>\n",
 | ||
|        "      <td>[None]</td>\n",
 | ||
|        "      <td>a man wearing a face mask while looking at a c...</td>\n",
 | ||
|        "      <td>[television screen with a man holding a microp...</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>1</th>\n",
 | ||
|        "      <td>data/102141_2_eng.png</td>\n",
 | ||
|        "      <td>CORONAVIRUS QUARANTINE CORONAVIRUS OUTBREAK BE...</td>\n",
 | ||
|        "      <td>en</td>\n",
 | ||
|        "      <td>CORONAVIRUS QUARANTINE CORONAVIRUS OUTBREAK BE...</td>\n",
 | ||
|        "      <td>CORONAVIRUS QUARANTINE CORONAVIRUS OUTBREAK BE...</td>\n",
 | ||
|        "      <td>Coronavirus QUARANTINE CORONAVIRUS OUTBREAK</td>\n",
 | ||
|        "      <td>NEGATIVE</td>\n",
 | ||
|        "      <td>0.97</td>\n",
 | ||
|        "      <td>[CORONAVIRUS, ##ARANTI, CORONAVIR, Co, ##ronavi]</td>\n",
 | ||
|        "      <td>[ORG, MISC, ORG, PER, ORG]</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>No</td>\n",
 | ||
|        "      <td>1</td>\n",
 | ||
|        "      <td>[Yes]</td>\n",
 | ||
|        "      <td>[25]</td>\n",
 | ||
|        "      <td>[Man]</td>\n",
 | ||
|        "      <td>[None]</td>\n",
 | ||
|        "      <td>[None]</td>\n",
 | ||
|        "      <td>[None]</td>\n",
 | ||
|        "      <td>a collage of images including a corona sign, a...</td>\n",
 | ||
|        "      <td>[a man with an injection in his mouth and two ...</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>2</th>\n",
 | ||
|        "      <td>data/102730_eng.png</td>\n",
 | ||
|        "      <td>400 DEATHS GET E-BOOK X AN Corporation ncy Ser...</td>\n",
 | ||
|        "      <td>en</td>\n",
 | ||
|        "      <td>400 DEATHS GET E-BOOK X AN Corporation ncy Ser...</td>\n",
 | ||
|        "      <td>DEATHS GET E - BOOK X AN Corporation Services ...</td>\n",
 | ||
|        "      <td>A municipal worker sprays disinfectant on his...</td>\n",
 | ||
|        "      <td>NEGATIVE</td>\n",
 | ||
|        "      <td>0.99</td>\n",
 | ||
|        "      <td>[AN Corporation ncy Services, Ahmedabad, RE, #...</td>\n",
 | ||
|        "      <td>[ORG, LOC, PER, ORG]</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>No</td>\n",
 | ||
|        "      <td>1</td>\n",
 | ||
|        "      <td>[No]</td>\n",
 | ||
|        "      <td>[27]</td>\n",
 | ||
|        "      <td>[Man]</td>\n",
 | ||
|        "      <td>[asian]</td>\n",
 | ||
|        "      <td>[sad]</td>\n",
 | ||
|        "      <td>[Negative]</td>\n",
 | ||
|        "      <td>two people in blue coats spray disinfection a van</td>\n",
 | ||
|        "      <td>[two people with medical gear spray paint a va...</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "  </tbody>\n",
 | ||
|        "</table>\n",
 | ||
|        "<p>3 rows × 21 columns</p>\n",
 | ||
|        "</div>"
 | ||
|       ],
 | ||
|       "text/plain": [
 | ||
|        "                filename                                               text  \\\n",
 | ||
|        "0   data/106349S_por.png  NEWS URGENTE SAMSUNG AO VIVO Rio de Janeiro NO...   \n",
 | ||
|        "1  data/102141_2_eng.png  CORONAVIRUS QUARANTINE CORONAVIRUS OUTBREAK BE...   \n",
 | ||
|        "2    data/102730_eng.png  400 DEATHS GET E-BOOK X AN Corporation ncy Ser...   \n",
 | ||
|        "\n",
 | ||
|        "  text_language                                       text_english  \\\n",
 | ||
|        "0            pt  NEWS URGENT SAMSUNG LIVE Rio de Janeiro NEW CO...   \n",
 | ||
|        "1            en  CORONAVIRUS QUARANTINE CORONAVIRUS OUTBREAK BE...   \n",
 | ||
|        "2            en  400 DEATHS GET E-BOOK X AN Corporation ncy Ser...   \n",
 | ||
|        "\n",
 | ||
|        "                                          text_clean  \\\n",
 | ||
|        "0  NEWS URGENT SAMSUNG LIVE Rio de Janeiro NEW CO...   \n",
 | ||
|        "1  CORONAVIRUS QUARANTINE CORONAVIRUS OUTBREAK BE...   \n",
 | ||
|        "2  DEATHS GET E - BOOK X AN Corporation Services ...   \n",
 | ||
|        "\n",
 | ||
|        "                                        text_summary sentiment  \\\n",
 | ||
|        "0   NEW COUNTING METHOD RJ City HALL EXCLUDES 1,1...  NEGATIVE   \n",
 | ||
|        "1        Coronavirus QUARANTINE CORONAVIRUS OUTBREAK  NEGATIVE   \n",
 | ||
|        "2   A municipal worker sprays disinfectant on his...  NEGATIVE   \n",
 | ||
|        "\n",
 | ||
|        "   sentiment_score                                             entity  \\\n",
 | ||
|        "0             0.99           [Rio de Janeiro, C, ##IT, ##Y, PLANALTO]   \n",
 | ||
|        "1             0.97   [CORONAVIRUS, ##ARANTI, CORONAVIR, Co, ##ronavi]   \n",
 | ||
|        "2             0.99  [AN Corporation ncy Services, Ahmedabad, RE, #...   \n",
 | ||
|        "\n",
 | ||
|        "                  entity_type  ... multiple_faces no_faces  wears_mask   age  \\\n",
 | ||
|        "0   [LOC, ORG, LOC, ORG, LOC]  ...             No        1       [Yes]  [24]   \n",
 | ||
|        "1  [ORG, MISC, ORG, PER, ORG]  ...             No        1       [Yes]  [25]   \n",
 | ||
|        "2        [ORG, LOC, PER, ORG]  ...             No        1        [No]  [27]   \n",
 | ||
|        "\n",
 | ||
|        "  gender     race emotion emotion (category)  \\\n",
 | ||
|        "0  [Man]   [None]  [None]             [None]   \n",
 | ||
|        "1  [Man]   [None]  [None]             [None]   \n",
 | ||
|        "2  [Man]  [asian]   [sad]         [Negative]   \n",
 | ||
|        "\n",
 | ||
|        "                                 const_image_summary  \\\n",
 | ||
|        "0  a man wearing a face mask while looking at a c...   \n",
 | ||
|        "1  a collage of images including a corona sign, a...   \n",
 | ||
|        "2  two people in blue coats spray disinfection a van   \n",
 | ||
|        "\n",
 | ||
|        "                         3_non-deterministic_summary  \n",
 | ||
|        "0  [television screen with a man holding a microp...  \n",
 | ||
|        "1  [a man with an injection in his mouth and two ...  \n",
 | ||
|        "2  [two people with medical gear spray paint a va...  \n",
 | ||
|        "\n",
 | ||
|        "[3 rows x 21 columns]"
 | ||
|       ]
 | ||
|      },
 | ||
|      "execution_count": 8,
 | ||
|      "metadata": {},
 | ||
|      "output_type": "execute_result"
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "image_df.head(3)"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "Or write to a csv file:"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 9,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-10-31T09:30:35.559380Z",
 | ||
|      "iopub.status.busy": "2023-10-31T09:30:35.558966Z",
 | ||
|      "iopub.status.idle": "2023-10-31T09:30:35.669976Z",
 | ||
|      "shell.execute_reply": "2023-10-31T09:30:35.668837Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [],
 | ||
|    "source": [
 | ||
|     "image_df.to_csv(\"data_out.csv\")"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "# The detector modules\n",
 | ||
|     "The different detector modules with their options are explained in more detail in this section.\n",
 | ||
|     "## Text detector\n",
 | ||
|     "Text on the images can be extracted using the `TextDetector` class (`text` module). The text is initally extracted using the Google Cloud Vision API and then translated into English with googletrans. The translated text is cleaned of whitespace, linebreaks, and numbers using Python syntax and spaCy. \n",
 | ||
|     "\n",
 | ||
|     "<img src=\"../_static/text_detector.png\" width=\"800\" />\n",
 | ||
|     "\n",
 | ||
|     "The user can set if the text should be further summarized, and analyzed for sentiment and named entity recognition, by setting the keyword `analyse_text` to `True` (the default is `False`). If set, the transformers pipeline is used for each of these tasks, with the default models as of 03/2023. Other models can be selected by setting the optional keyword `model_names` to a list of selected models, on for each task: `model_names=[\"sshleifer/distilbart-cnn-12-6\", \"distilbert-base-uncased-finetuned-sst-2-english\", \"dbmdz/bert-large-cased-finetuned-conll03-english\"]` for summary, sentiment, and ner. To be even more specific, revision numbers can also be selected by specifying the optional keyword `revision_numbers` to a list of revision numbers for each model, for example `revision_numbers=[\"a4f8f3e\", \"af0f99b\", \"f2482bf\"]`. \n",
 | ||
|     "\n",
 | ||
|     "Please note that for the Google Cloud Vision API (the TextDetector class) you need to set a key in order to process the images. This key is ideally set as an environment variable using for example"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 10,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-10-31T09:30:35.678710Z",
 | ||
|      "iopub.status.busy": "2023-10-31T09:30:35.678319Z",
 | ||
|      "iopub.status.idle": "2023-10-31T09:30:35.687016Z",
 | ||
|      "shell.execute_reply": "2023-10-31T09:30:35.685988Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [],
 | ||
|    "source": [
 | ||
|     "os.environ[\"GOOGLE_APPLICATION_CREDENTIALS\"] = \"misinformation-campaign-981aa55a3b13.json\"\n"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "where you place the key on your Google Drive if running on colab, or place it in a local folder on your machine.\n",
 | ||
|     "\n",
 | ||
|     "Summarizing, the text detection is carried out using the following method call and keywords, where `analyse_text`, `model_names`, and `revision_numbers` are optional:\n"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 11,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-10-31T09:30:35.696888Z",
 | ||
|      "iopub.status.busy": "2023-10-31T09:30:35.696490Z",
 | ||
|      "iopub.status.idle": "2023-10-31T09:30:49.311644Z",
 | ||
|      "shell.execute_reply": "2023-10-31T09:30:49.309681Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "ename": "DefaultCredentialsError",
 | ||
|      "evalue": "Please provide credentials for google cloud vision API, see https://cloud.google.com/docs/authentication/application-default-credentials.",
 | ||
|      "output_type": "error",
 | ||
|      "traceback": [
 | ||
|       "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
 | ||
|       "\u001b[0;31mDefaultCredentialsError\u001b[0m                   Traceback (most recent call last)",
 | ||
|       "File \u001b[0;32m~/work/AMMICO/AMMICO/ammico/text.py:173\u001b[0m, in \u001b[0;36mTextDetector.get_text_from_image\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    172\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 173\u001b[0m     client \u001b[38;5;241m=\u001b[39m \u001b[43mvision\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mImageAnnotatorClient\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    174\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m DefaultCredentialsError:\n",
 | ||
|       "File \u001b[0;32m/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/google/cloud/vision_v1/services/image_annotator/client.py:462\u001b[0m, in \u001b[0;36mImageAnnotatorClient.__init__\u001b[0;34m(self, credentials, transport, client_options, client_info)\u001b[0m\n\u001b[1;32m    461\u001b[0m Transport \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mtype\u001b[39m(\u001b[38;5;28mself\u001b[39m)\u001b[38;5;241m.\u001b[39mget_transport_class(transport)\n\u001b[0;32m--> 462\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_transport \u001b[38;5;241m=\u001b[39m \u001b[43mTransport\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m    463\u001b[0m \u001b[43m    \u001b[49m\u001b[43mcredentials\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcredentials\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    464\u001b[0m \u001b[43m    \u001b[49m\u001b[43mcredentials_file\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mclient_options\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcredentials_file\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    465\u001b[0m \u001b[43m    \u001b[49m\u001b[43mhost\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mapi_endpoint\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    466\u001b[0m \u001b[43m    \u001b[49m\u001b[43mscopes\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mclient_options\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mscopes\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    467\u001b[0m \u001b[43m    \u001b[49m\u001b[43mclient_cert_source_for_mtls\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mclient_cert_source_func\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    468\u001b[0m \u001b[43m    \u001b[49m\u001b[43mquota_project_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mclient_options\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mquota_project_id\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    469\u001b[0m \u001b[43m    \u001b[49m\u001b[43mclient_info\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mclient_info\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    470\u001b[0m \u001b[43m    \u001b[49m\u001b[43malways_use_jwt_access\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    471\u001b[0m \u001b[43m    \u001b[49m\u001b[43mapi_audience\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mclient_options\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mapi_audience\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    472\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n",
 | ||
|       "File \u001b[0;32m/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/google/cloud/vision_v1/services/image_annotator/transports/grpc.py:155\u001b[0m, in \u001b[0;36mImageAnnotatorGrpcTransport.__init__\u001b[0;34m(self, host, credentials, credentials_file, scopes, channel, api_mtls_endpoint, client_cert_source, ssl_channel_credentials, client_cert_source_for_mtls, quota_project_id, client_info, always_use_jwt_access, api_audience)\u001b[0m\n\u001b[1;32m    154\u001b[0m \u001b[38;5;66;03m# The base transport sets the host, credentials and scopes\u001b[39;00m\n\u001b[0;32m--> 155\u001b[0m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__init__\u001b[39;49m\u001b[43m(\u001b[49m\n\u001b[1;32m    156\u001b[0m \u001b[43m    \u001b[49m\u001b[43mhost\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mhost\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    157\u001b[0m \u001b[43m    \u001b[49m\u001b[43mcredentials\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcredentials\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    158\u001b[0m \u001b[43m    \u001b[49m\u001b[43mcredentials_file\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcredentials_file\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    159\u001b[0m \u001b[43m    \u001b[49m\u001b[43mscopes\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mscopes\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    160\u001b[0m \u001b[43m    \u001b[49m\u001b[43mquota_project_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mquota_project_id\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    161\u001b[0m \u001b[43m    \u001b[49m\u001b[43mclient_info\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mclient_info\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    162\u001b[0m \u001b[43m    \u001b[49m\u001b[43malways_use_jwt_access\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43malways_use_jwt_access\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    163\u001b[0m \u001b[43m    \u001b[49m\u001b[43mapi_audience\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mapi_audience\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    164\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    166\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_grpc_channel:\n",
 | ||
|       "File \u001b[0;32m/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/google/cloud/vision_v1/services/image_annotator/transports/base.py:103\u001b[0m, in \u001b[0;36mImageAnnotatorTransport.__init__\u001b[0;34m(self, host, credentials, credentials_file, scopes, quota_project_id, client_info, always_use_jwt_access, api_audience, **kwargs)\u001b[0m\n\u001b[1;32m    102\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m credentials \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m--> 103\u001b[0m     credentials, _ \u001b[38;5;241m=\u001b[39m \u001b[43mgoogle\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mauth\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdefault\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m    104\u001b[0m \u001b[43m        \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mscopes_kwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mquota_project_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mquota_project_id\u001b[49m\n\u001b[1;32m    105\u001b[0m \u001b[43m    \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    106\u001b[0m     \u001b[38;5;66;03m# Don't apply audience if the credentials file passed from user.\u001b[39;00m\n",
 | ||
|       "File \u001b[0;32m/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/google/auth/_default.py:657\u001b[0m, in \u001b[0;36mdefault\u001b[0;34m(scopes, request, quota_project_id, default_scopes)\u001b[0m\n\u001b[1;32m    656\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m checker \u001b[38;5;129;01min\u001b[39;00m checkers:\n\u001b[0;32m--> 657\u001b[0m     credentials, project_id \u001b[38;5;241m=\u001b[39m \u001b[43mchecker\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    658\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m credentials \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",
 | ||
|       "File \u001b[0;32m/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/google/auth/_default.py:650\u001b[0m, in \u001b[0;36mdefault.<locals>.<lambda>\u001b[0;34m()\u001b[0m\n\u001b[1;32m    641\u001b[0m explicit_project_id \u001b[38;5;241m=\u001b[39m os\u001b[38;5;241m.\u001b[39menviron\u001b[38;5;241m.\u001b[39mget(\n\u001b[1;32m    642\u001b[0m     environment_vars\u001b[38;5;241m.\u001b[39mPROJECT, os\u001b[38;5;241m.\u001b[39menviron\u001b[38;5;241m.\u001b[39mget(environment_vars\u001b[38;5;241m.\u001b[39mLEGACY_PROJECT)\n\u001b[1;32m    643\u001b[0m )\n\u001b[1;32m    645\u001b[0m checkers \u001b[38;5;241m=\u001b[39m (\n\u001b[1;32m    646\u001b[0m     \u001b[38;5;66;03m# Avoid passing scopes here to prevent passing scopes to user credentials.\u001b[39;00m\n\u001b[1;32m    647\u001b[0m     \u001b[38;5;66;03m# with_scopes_if_required() below will ensure scopes/default scopes are\u001b[39;00m\n\u001b[1;32m    648\u001b[0m     \u001b[38;5;66;03m# safely set on the returned credentials since requires_scopes will\u001b[39;00m\n\u001b[1;32m    649\u001b[0m     \u001b[38;5;66;03m# guard against setting scopes on user credentials.\u001b[39;00m\n\u001b[0;32m--> 650\u001b[0m     \u001b[38;5;28;01mlambda\u001b[39;00m: \u001b[43m_get_explicit_environ_credentials\u001b[49m\u001b[43m(\u001b[49m\u001b[43mquota_project_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mquota_project_id\u001b[49m\u001b[43m)\u001b[49m,\n\u001b[1;32m    651\u001b[0m     \u001b[38;5;28;01mlambda\u001b[39;00m: _get_gcloud_sdk_credentials(quota_project_id\u001b[38;5;241m=\u001b[39mquota_project_id),\n\u001b[1;32m    652\u001b[0m     _get_gae_credentials,\n\u001b[1;32m    653\u001b[0m     \u001b[38;5;28;01mlambda\u001b[39;00m: _get_gce_credentials(request, quota_project_id\u001b[38;5;241m=\u001b[39mquota_project_id),\n\u001b[1;32m    654\u001b[0m )\n\u001b[1;32m    656\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m checker \u001b[38;5;129;01min\u001b[39;00m checkers:\n",
 | ||
|       "File \u001b[0;32m/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/google/auth/_default.py:270\u001b[0m, in \u001b[0;36m_get_explicit_environ_credentials\u001b[0;34m(quota_project_id)\u001b[0m\n\u001b[1;32m    269\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m explicit_file \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--> 270\u001b[0m     credentials, project_id \u001b[38;5;241m=\u001b[39m \u001b[43mload_credentials_from_file\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m    271\u001b[0m \u001b[43m        \u001b[49m\u001b[43mos\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43menviron\u001b[49m\u001b[43m[\u001b[49m\u001b[43menvironment_vars\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mCREDENTIALS\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mquota_project_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mquota_project_id\u001b[49m\n\u001b[1;32m    272\u001b[0m \u001b[43m    \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    274\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m credentials, project_id\n",
 | ||
|       "File \u001b[0;32m/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/google/auth/_default.py:114\u001b[0m, in \u001b[0;36mload_credentials_from_file\u001b[0;34m(filename, scopes, default_scopes, quota_project_id, request)\u001b[0m\n\u001b[1;32m    113\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mexists(filename):\n\u001b[0;32m--> 114\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m exceptions\u001b[38;5;241m.\u001b[39mDefaultCredentialsError(\n\u001b[1;32m    115\u001b[0m         \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFile \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m was not found.\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m.\u001b[39mformat(filename)\n\u001b[1;32m    116\u001b[0m     )\n\u001b[1;32m    118\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m io\u001b[38;5;241m.\u001b[39mopen(filename, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mr\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;28;01mas\u001b[39;00m file_obj:\n",
 | ||
|       "\u001b[0;31mDefaultCredentialsError\u001b[0m: File misinformation-campaign-981aa55a3b13.json was not found.",
 | ||
|       "\nDuring handling of the above exception, another exception occurred:\n",
 | ||
|       "\u001b[0;31mDefaultCredentialsError\u001b[0m                   Traceback (most recent call last)",
 | ||
|       "Cell \u001b[0;32mIn[11], line 2\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m key \u001b[38;5;129;01min\u001b[39;00m image_dict\u001b[38;5;241m.\u001b[39mkeys():\n\u001b[0;32m----> 2\u001b[0m     image_dict[key] \u001b[38;5;241m=\u001b[39m \u001b[43mammico\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mTextDetector\u001b[49m\u001b[43m(\u001b[49m\u001b[43mimage_dict\u001b[49m\u001b[43m[\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\n\u001b[1;32m      3\u001b[0m \u001b[43m    \u001b[49m\u001b[43manalyse_text\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmodel_names\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;43msshleifer/distilbart-cnn-12-6\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 \u001b[43m    \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdistilbert-base-uncased-finetuned-sst-2-english\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\n\u001b[1;32m      5\u001b[0m \u001b[43m    \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdbmdz/bert-large-cased-finetuned-conll03-english\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\n\u001b[1;32m      6\u001b[0m \u001b[43m    \u001b[49m\u001b[43mrevision_numbers\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;43ma4f8f3e\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43maf0f99b\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mf2482bf\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43manalyse_image\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
 | ||
|       "File \u001b[0;32m~/work/AMMICO/AMMICO/ammico/text.py:158\u001b[0m, in \u001b[0;36mTextDetector.analyse_image\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    152\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21manalyse_image\u001b[39m(\u001b[38;5;28mself\u001b[39m) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m \u001b[38;5;28mdict\u001b[39m:\n\u001b[1;32m    153\u001b[0m \u001b[38;5;250m    \u001b[39m\u001b[38;5;124;03m\"\"\"Perform text extraction and analysis of the text.\u001b[39;00m\n\u001b[1;32m    154\u001b[0m \n\u001b[1;32m    155\u001b[0m \u001b[38;5;124;03m    Returns:\u001b[39;00m\n\u001b[1;32m    156\u001b[0m \u001b[38;5;124;03m        dict: The updated dictionary with text analysis results.\u001b[39;00m\n\u001b[1;32m    157\u001b[0m \u001b[38;5;124;03m    \"\"\"\u001b[39;00m\n\u001b[0;32m--> 158\u001b[0m     \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_text_from_image\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    159\u001b[0m     \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtranslate_text()\n\u001b[1;32m    160\u001b[0m     \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mremove_linebreaks()\n",
 | ||
|       "File \u001b[0;32m~/work/AMMICO/AMMICO/ammico/text.py:175\u001b[0m, in \u001b[0;36mTextDetector.get_text_from_image\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    173\u001b[0m     client \u001b[38;5;241m=\u001b[39m vision\u001b[38;5;241m.\u001b[39mImageAnnotatorClient()\n\u001b[1;32m    174\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m DefaultCredentialsError:\n\u001b[0;32m--> 175\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m DefaultCredentialsError(\n\u001b[1;32m    176\u001b[0m         \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mPlease provide credentials for google cloud vision API, see https://cloud.google.com/docs/authentication/application-default-credentials.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m    177\u001b[0m     )\n\u001b[1;32m    178\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m io\u001b[38;5;241m.\u001b[39mopen(path, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrb\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;28;01mas\u001b[39;00m image_file:\n\u001b[1;32m    179\u001b[0m     content \u001b[38;5;241m=\u001b[39m image_file\u001b[38;5;241m.\u001b[39mread()\n",
 | ||
|       "\u001b[0;31mDefaultCredentialsError\u001b[0m: Please provide credentials for google cloud vision API, see https://cloud.google.com/docs/authentication/application-default-credentials."
 | ||
|      ]
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "for key in image_dict.keys():\n",
 | ||
|     "    image_dict[key] = ammico.TextDetector(image_dict[key], \n",
 | ||
|     "    analyse_text=True, model_names=[\"sshleifer/distilbart-cnn-12-6\", \n",
 | ||
|     "    \"distilbert-base-uncased-finetuned-sst-2-english\", \n",
 | ||
|     "    \"dbmdz/bert-large-cased-finetuned-conll03-english\"], \n",
 | ||
|     "    revision_numbers=[\"a4f8f3e\", \"af0f99b\", \"f2482bf\"]).analyse_image()"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "The models can be adapted interactively in the notebook interface and the best models can then be used in a subsequent analysis of the whole data set.\n",
 | ||
|     "\n",
 | ||
|     "A detailed description of the output keys and data types is given in the following table.\n",
 | ||
|     "\n",
 | ||
|     "| output key | output type | output value |\n",
 | ||
|     "| ---------- | ----------- | ------------ |\n",
 | ||
|     "| `text` | `str` | the extracted text in the original language |\n",
 | ||
|     "| `text_language` | `str` | the detected dominant language of the extracted text |\n",
 | ||
|     "| `text_english` | `str` | the text translated into English |\n",
 | ||
|     "| `text_clean` | `str` | the text after cleaning from numbers and unrecognizable words |\n",
 | ||
|     "| `text_summary` | `str` | the summary of the text, generated with a transformers model |\n",
 | ||
|     "| `sentiment` | `str` | the detected sentiment, generated with a transformers model |\n",
 | ||
|     "| `sentiment_score` | `float` | the confidence associated with the predicted sentiment |\n",
 | ||
|     "| `entity` | `list[str]` | the detected named entities, generated with a transformers model |\n",
 | ||
|     "| `entity_type` | `list[str]` | the detected entity type |\n",
 | ||
|     "\n",
 | ||
|     "## Image summary and query\n",
 | ||
|     "\n",
 | ||
|     "The `SummaryDetector` can be used to generate image captions (`summary`) as well as visual question answering (`VQA`). \n",
 | ||
|     "\n",
 | ||
|     "<img src=\"../_static/summary_detector.png\" width=\"800\" />\n",
 | ||
|     "\n",
 | ||
|     "This module is based on the [LAVIS](https://github.com/salesforce/LAVIS) library. Since the models can be quite large, an initial object is created which will load the necessary models into RAM/VRAM and then use them in the analysis. The user can specify the type of analysis to be performed using the `analysis_type` keyword. Setting it to `summary` will generate a caption (summary), `questions` will prepare answers (VQA) to a list of questions as set by the user, `summary_and_questions` will do both. Note that the desired analysis type needs to be set here in the initialization of the \n",
 | ||
|     "detector object, and not when running the analysis for each image; the same holds true for the selected model."
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 12,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-10-31T09:30:49.344944Z",
 | ||
|      "iopub.status.busy": "2023-10-31T09:30:49.344185Z",
 | ||
|      "iopub.status.idle": "2023-10-31T09:31:13.586596Z",
 | ||
|      "shell.execute_reply": "2023-10-31T09:31:13.583293Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [],
 | ||
|    "source": [
 | ||
|     "image_summary_detector = ammico.SummaryDetector(image_dict, analysis_type=\"summary\", model_type=\"base\")"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "The implemented models are listed below.\n",
 | ||
|     "\n",
 | ||
|     "| input model name | model |\n",
 | ||
|     "| ---------------- | ----- |\n",
 | ||
|     "| base | BLIP image captioning base, ViT-B/16, pretrained on COCO dataset |\n",
 | ||
|     "| large | BLIP image captioning large, ViT-L/16, pretrained on COCO dataset |\n",
 | ||
|     "| vqa | BLIP base model fine-tuned on VQA v2.0 dataset |\n",
 | ||
|     "| blip2_t5_pretrain_flant5xxl | BLIP2 pretrained on FlanT5<sub>XXL</sub> | \n",
 | ||
|     "| blip2_t5_pretrain_flant5xl | BLIP2 pretrained on FlanT5<sub>XL</sub> | \n",
 | ||
|     "| blip2_t5_caption_coco_flant5xl | BLIP2 pretrained on FlanT5<sub>XL</sub>, fine-tuned on COCO | \n",
 | ||
|     "| blip2_opt_pretrain_opt2.7b | BLIP2 pretrained on OPT-2.7b |\n",
 | ||
|     "| blip2_opt_pretrain_opt6.7b | BLIP2 pretrained on OPT-6.7b | \n",
 | ||
|     "| blip2_opt_caption_coco_opt2.7b | BLIP2 pretrained on OPT-2.7b, fine-tuned on COCO | \n",
 | ||
|     "| blip2_opt_caption_coco_opt6.7b | BLIP2 pretrained on OPT-6.7b, fine-tuned on COCO |\n",
 | ||
|     "\n",
 | ||
|     "For VQA, a list of questions needs to be passed when carrying out the analysis; these should be given as a list of strings."
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 13,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-10-31T09:31:13.598473Z",
 | ||
|      "iopub.status.busy": "2023-10-31T09:31:13.597787Z",
 | ||
|      "iopub.status.idle": "2023-10-31T09:31:13.605483Z",
 | ||
|      "shell.execute_reply": "2023-10-31T09:31:13.604343Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [],
 | ||
|    "source": [
 | ||
|     "list_of_questions = [\n",
 | ||
|     "    \"How many persons on the picture?\",\n",
 | ||
|     "    \"Are there any politicians in the picture?\",\n",
 | ||
|     "    \"Does the picture show something from medicine?\",\n",
 | ||
|     "]"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "Summarizing, the detector is run as"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 14,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-10-31T09:31:13.616531Z",
 | ||
|      "iopub.status.busy": "2023-10-31T09:31:13.615111Z",
 | ||
|      "iopub.status.idle": "2023-10-31T09:34:19.430616Z",
 | ||
|      "shell.execute_reply": "2023-10-31T09:34:19.429063Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [],
 | ||
|    "source": [
 | ||
|     "image_summary_vqa_detector = ammico.SummaryDetector(image_dict, analysis_type=\"summary_and_questions\", \n",
 | ||
|     "                                                    model_type=\"base\")\n",
 | ||
|     "for key in image_dict.keys():\n",
 | ||
|     "    image_dict[key] = image_summary_vqa_detector.analyse_image(image_dict[key], \n",
 | ||
|     "                                                               list_of_questions = list_of_questions)"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "The output is given as a dictionary with the following keys and data types:\n",
 | ||
|     "\n",
 | ||
|     "| output key | output type | output value |\n",
 | ||
|     "| ---------- | ----------- | ------------ |\n",
 | ||
|     "| `const_image_summary` | `str` | when `analysis_type=\"summary\"` or `\"summary_and_questions\"`, constant image caption (does not change upon re-running the analysis for the same model) |\n",
 | ||
|     "| `3_non-deterministic_summary` | `list[str]` | when `analysis_type=\"summary\"` or s`ummary_and_questions`, three different captions generated with different random seeds |\n",
 | ||
|     "| *a user-defined input question* | `str` | when `analysis_type=\"questions\"` or `summary_and_questions`, the answer to the user-defined input question | \n",
 | ||
|     "\n",
 | ||
|     "## Detection of faces and facial expression analysis\n",
 | ||
|     "Faces and facial expressions are detected and analyzed using the `EmotionDetector` class from the `faces` module. Initially, it is detected if faces are present on the image using RetinaFace, followed by analysis if face masks are worn (Face-Mask-Detection). The detection of age, gender, race, and emotions is carried out with deepface.\n",
 | ||
|     "\n",
 | ||
|     "<img src=\"../_static/emotion_detector.png\" width=\"800\" />\n",
 | ||
|     "\n",
 | ||
|     "Depending on the features found on the image, the face detection module returns a different analysis content: If no faces are found on the image, all further steps are skipped and the result `\"face\": \"No\", \"multiple_faces\": \"No\", \"no_faces\": 0, \"wears_mask\": [\"No\"], \"age\": [None], \"gender\": [None], \"race\": [None], \"emotion\": [None], \"emotion (category)\": [None]` is returned. If one or several faces are found, up to three faces are analyzed if they are partially concealed by a face mask. If yes, only age and gender are detected; if no, also race, emotion, and dominant emotion are detected. In case of the latter, the output could look like this: `\"face\": \"Yes\", \"multiple_faces\": \"Yes\", \"no_faces\": 2, \"wears_mask\": [\"No\", \"No\"], \"age\": [27, 28], \"gender\": [\"Man\", \"Man\"], \"race\": [\"asian\", None], \"emotion\": [\"angry\", \"neutral\"], \"emotion (category)\": [\"Negative\", \"Neutral\"]`, where for the two faces that are detected (given by `no_faces`), some of the values are returned as a list with the first item for the first (largest) face and the second item for the second (smaller) face (for example, `\"emotion\"` returns a list `[\"angry\", \"neutral\"]` signifying the first face expressing anger, and the second face having a neutral expression).\n",
 | ||
|     "\n",
 | ||
|     "The emotion detection reports the seven facial expressions angry, fear, neutral, sad, disgust, happy and surprise. These emotions are assigned based on the returned confidence of the model (between 0 and 1), with a high confidence signifying a high likelihood of the detected emotion being correct. Emotion recognition is not an easy task, even for a human; therefore, we have added a keyword `emotion_threshold` signifying the % value above which an emotion is counted as being detected. The default is set to 50%, so that a confidence above 0.5 results in an emotion being assigned. If the confidence is lower, no emotion is assigned. \n",
 | ||
|     "\n",
 | ||
|     "From the seven facial expressions, an overall dominating emotion category is identified: negative, positive, or neutral emotion. These are defined with the facial expressions angry, disgust, fear and sad for the negative category, happy for the positive category, and surprise and neutral for the neutral category.\n",
 | ||
|     "\n",
 | ||
|     "A similar threshold as for the emotion recognition is set for the race detection, `race_threshold`, with the default set to 50% so that a confidence for the race above 0.5 only will return a value in the analysis. \n",
 | ||
|     "\n",
 | ||
|     "Summarizing, the face detection is carried out using the following method call and keywords, where `emotion_threshold` and \n",
 | ||
|     "`race_threshold` are optional:"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 15,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-10-31T09:34:19.440904Z",
 | ||
|      "iopub.status.busy": "2023-10-31T09:34:19.440018Z",
 | ||
|      "iopub.status.idle": "2023-10-31T09:37:00.104260Z",
 | ||
|      "shell.execute_reply": "2023-10-31T09:37:00.102162Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 1s 1s/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 35s 35s/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 30s 30s/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 1s 1s/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 0s 435ms/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 0s 376ms/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 1s 1s/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 1s 513ms/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 0s 396ms/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 38s 38s/step\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "1/1 [==============================] - ETA: 0s"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
 | ||
|       "1/1 [==============================] - 0s 227ms/step\n"
 | ||
|      ]
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "for key in image_dict.keys():\n",
 | ||
|     "    image_dict[key] = ammico.EmotionDetector(image_dict[key], emotion_threshold=50, race_threshold=50).analyse_image()"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "The thresholds can be adapted interactively in the notebook interface and the optimal value can then be used in a subsequent analysis of the whole data set.\n",
 | ||
|     "\n",
 | ||
|     "The output keys that are generated are\n",
 | ||
|     "\n",
 | ||
|     "| output key | output type | output value |\n",
 | ||
|     "| ---------- | ----------- | ------------ |\n",
 | ||
|     "| `face` | `str` | if a face is detected |\n",
 | ||
|     "| `multiple_faces` | `str` | if multiple faces are detected |\n",
 | ||
|     "| `no_faces` | `int` | the number of detected faces |\n",
 | ||
|     "| `wears_mask` | `list[str]` | if each of the detected faces wears a face covering, up to three faces |\n",
 | ||
|     "| `age` | `list[int]` | the detected age, up to three faces |\n",
 | ||
|     "| `gender` | `list[str]` | the detected gender, up to three faces |\n",
 | ||
|     "| `race` | `list[str]` | the detected race, up to three faces, if above the confidence threshold |\n",
 | ||
|     "| `emotion` | `list[str]` | the detected emotion, up to three faces, if above the confidence threshold |\n",
 | ||
|     "| `emotion (category)` | `list[str]` | the detected emotion category (positive, negative, or neutral), up to three faces, if above the confidence threshold |"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "## Further detector modules\n",
 | ||
|     "Further detector modules exist, such as `ColorDetector` and `MultimodalSearch`, also it is possible to carry out a topic analysis on the text data, as well as crop social media posts automatically. These are more experimental features and have their own demonstration notebooks."
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": []
 | ||
|   }
 | ||
|  ],
 | ||
|  "metadata": {
 | ||
|   "kernelspec": {
 | ||
|    "display_name": "ammico",
 | ||
|    "language": "python",
 | ||
|    "name": "python3"
 | ||
|   },
 | ||
|   "language_info": {
 | ||
|    "codemirror_mode": {
 | ||
|     "name": "ipython",
 | ||
|     "version": 3
 | ||
|    },
 | ||
|    "file_extension": ".py",
 | ||
|    "mimetype": "text/x-python",
 | ||
|    "name": "python",
 | ||
|    "nbconvert_exporter": "python",
 | ||
|    "pygments_lexer": "ipython3",
 | ||
|    "version": "3.9.18"
 | ||
|   }
 | ||
|  },
 | ||
|  "nbformat": 4,
 | ||
|  "nbformat_minor": 2
 | ||
| }
 | 
