зеркало из
				https://github.com/ssciwr/AMMICO.git
				synced 2025-10-30 21:46:04 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			4679 строки
		
	
	
		
			130 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			4679 строки
		
	
	
		
			130 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-12-13T09:54:18.561164Z",
 | ||
|      "iopub.status.busy": "2023-12-13T09:54:18.560966Z",
 | ||
|      "iopub.status.idle": "2023-12-13T09:54:18.568398Z",
 | ||
|      "shell.execute_reply": "2023-12-13T09:54:18.567886Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "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-12-13T09:54:18.570770Z",
 | ||
|      "iopub.status.busy": "2023-12-13T09:54:18.570430Z",
 | ||
|      "iopub.status.idle": "2023-12-13T09:54:28.075322Z",
 | ||
|      "shell.execute_reply": "2023-12-13T09:54:28.074773Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "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-12-13T09:54:28.078532Z",
 | ||
|      "iopub.status.busy": "2023-12-13T09:54:28.077661Z",
 | ||
|      "iopub.status.idle": "2023-12-13T09:54:28.082205Z",
 | ||
|      "shell.execute_reply": "2023-12-13T09:54:28.081702Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "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-12-13T09:54:28.084633Z",
 | ||
|      "iopub.status.busy": "2023-12-13T09:54:28.084268Z",
 | ||
|      "iopub.status.idle": "2023-12-13T09:54:28.108043Z",
 | ||
|      "shell.execute_reply": "2023-12-13T09:54:28.107307Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "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 0x7f7c121fcbb0>"
 | ||
|       ]
 | ||
|      },
 | ||
|      "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-12-13T09:54:28.148376Z",
 | ||
|      "iopub.status.busy": "2023-12-13T09:54:28.148132Z",
 | ||
|      "iopub.status.idle": "2023-12-13T09:56:51.185502Z",
 | ||
|      "shell.execute_reply": "2023-12-13T09:56:51.184874Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "Collecting en-core-web-md==3.7.1\n",
 | ||
|       "  Downloading https://github.com/explosion/spacy-models/releases/download/en_core_web_md-3.7.1/en_core_web_md-3.7.1-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"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "\u001b[2K     \u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.8/42.8 MB\u001b[0m \u001b[31m23.2 MB/s\u001b[0m eta \u001b[36m0:00:02\u001b[0m\r",
 | ||
|       "\u001b[2K     \u001b[91m━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.2/42.8 MB\u001b[0m \u001b[31m76.0 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.1/42.8 MB\u001b[0m \u001b[31m97.8 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[32m15.1/42.8 MB\u001b[0m \u001b[31m141.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[32m20.0/42.8 MB\u001b[0m \u001b[31m143.7 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[32m25.0/42.8 MB\u001b[0m \u001b[31m142.6 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[32m29.4/42.8 MB\u001b[0m \u001b[31m134.7 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[32m34.3/42.8 MB\u001b[0m \u001b[31m133.9 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[32m39.1/42.8 MB\u001b[0m \u001b[31m138.1 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[31m145.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[31m145.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[31m145.9 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r",
 | ||
|       "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m42.8/42.8 MB\u001b[0m \u001b[31m62.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
 | ||
|       "\u001b[?25h"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "Requirement already satisfied: spacy<3.8.0,>=3.7.2 in /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages (from en-core-web-md==3.7.1) (3.7.2)\n",
 | ||
|       "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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (0.3.4)\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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (3.3.2)\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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (2.1.0)\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.2->en-core-web-md==3.7.1) (2023.11.17)\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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (0.1.4)\n",
 | ||
|       "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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.2->en-core-web-md==3.7.1) (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.1\n",
 | ||
|       "\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": [
 | ||
|       "\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": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "config.json:   0%|          | 0.00/1.80k [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "config.json: 100%|██████████| 1.80k/1.80k [00:00<00:00, 1.00MB/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:   3%|▎         | 31.5M/1.22G [00:00<00:05, 232MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   5%|▌         | 62.9M/1.22G [00:00<00:04, 247MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   8%|▊         | 94.4M/1.22G [00:00<00:04, 250MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  10%|█         | 126M/1.22G [00:00<00:04, 235MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  13%|█▎        | 157M/1.22G [00:00<00:04, 238MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  15%|█▌        | 189M/1.22G [00:00<00:04, 244MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  18%|█▊        | 220M/1.22G [00:00<00:04, 249MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  21%|██        | 252M/1.22G [00:01<00:03, 253MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  23%|██▎       | 283M/1.22G [00:01<00:03, 257MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  26%|██▌       | 315M/1.22G [00:01<00:03, 261MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  28%|██▊       | 346M/1.22G [00:01<00:03, 245MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  31%|███       | 377M/1.22G [00:01<00:03, 240MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  33%|███▎      | 409M/1.22G [00:01<00:03, 247MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  36%|███▌      | 440M/1.22G [00:01<00:03, 251MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  39%|███▊      | 472M/1.22G [00:01<00:02, 255MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  41%|████      | 503M/1.22G [00:02<00:02, 255MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  44%|████▍     | 535M/1.22G [00:02<00:02, 255MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  46%|████▋     | 566M/1.22G [00:02<00:02, 258MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  49%|████▉     | 598M/1.22G [00:02<00:02, 261MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  51%|█████▏    | 629M/1.22G [00:02<00:02, 261MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  54%|█████▍    | 661M/1.22G [00:02<00:02, 257MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  57%|█████▋    | 692M/1.22G [00:02<00:02, 254MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  59%|█████▉    | 724M/1.22G [00:02<00:01, 255MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  62%|██████▏   | 755M/1.22G [00:02<00:01, 254MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  64%|██████▍   | 786M/1.22G [00:03<00:01, 256MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  67%|██████▋   | 818M/1.22G [00:03<00:01, 260MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  69%|██████▉   | 849M/1.22G [00:03<00:01, 261MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  72%|███████▏  | 881M/1.22G [00:03<00:01, 251MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  75%|███████▍  | 912M/1.22G [00:03<00:01, 252MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  77%|███████▋  | 944M/1.22G [00:03<00:01, 252MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  80%|███████▉  | 975M/1.22G [00:03<00:00, 248MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  82%|████████▏ | 1.01G/1.22G [00:03<00:00, 249MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  85%|████████▍ | 1.04G/1.22G [00:04<00:00, 252MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  88%|████████▊ | 1.07G/1.22G [00:04<00:00, 254MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  90%|█████████ | 1.10G/1.22G [00:04<00:00, 250MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  93%|█████████▎| 1.13G/1.22G [00:04<00:00, 249MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  95%|█████████▌| 1.16G/1.22G [00:04<00:00, 252MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  98%|█████████▊| 1.20G/1.22G [00:04<00:00, 250MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin: 100%|██████████| 1.22G/1.22G [00:04<00:00, 253MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin: 100%|██████████| 1.22G/1.22G [00:04<00:00, 252MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "tokenizer_config.json:   0%|          | 0.00/26.0 [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "tokenizer_config.json: 100%|██████████| 26.0/26.0 [00:00<00:00, 37.3kB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "vocab.json:   0%|          | 0.00/899k [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "vocab.json: 100%|██████████| 899k/899k [00:00<00:00, 9.27MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "merges.txt:   0%|          | 0.00/456k [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "merges.txt: 100%|██████████| 456k/456k [00:00<00:00, 46.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "config.json:   0%|          | 0.00/629 [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "config.json: 100%|██████████| 629/629 [00:00<00:00, 331kB/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:  12%|█▏        | 31.5M/268M [00:00<00:00, 246MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  23%|██▎       | 62.9M/268M [00:00<00:00, 249MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  35%|███▌      | 94.4M/268M [00:00<00:00, 257MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  47%|████▋     | 126M/268M [00:00<00:00, 258MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  59%|█████▊    | 157M/268M [00:00<00:00, 262MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  70%|███████   | 189M/268M [00:00<00:00, 262MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  82%|████████▏ | 220M/268M [00:00<00:00, 263MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  94%|█████████▍| 252M/268M [00:00<00:00, 258MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin: 100%|██████████| 268M/268M [00:01<00:00, 257MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "tokenizer_config.json:   0%|          | 0.00/48.0 [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "tokenizer_config.json: 100%|██████████| 48.0/48.0 [00:00<00:00, 63.1kB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "vocab.txt:   0%|          | 0.00/232k [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "vocab.txt: 100%|██████████| 232k/232k [00:00<00:00, 136MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "config.json:   0%|          | 0.00/998 [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "config.json: 100%|██████████| 998/998 [00:00<00:00, 575kB/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:   1%|          | 10.5M/1.33G [00:00<00:22, 59.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   2%|▏         | 21.0M/1.33G [00:00<00:37, 35.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   2%|▏         | 31.5M/1.33G [00:00<00:37, 34.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   3%|▎         | 41.9M/1.33G [00:01<00:42, 30.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   4%|▍         | 52.4M/1.33G [00:01<00:38, 33.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   5%|▍         | 62.9M/1.33G [00:01<00:34, 36.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   6%|▌         | 73.4M/1.33G [00:02<00:36, 34.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   6%|▋         | 83.9M/1.33G [00:02<00:43, 28.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   7%|▋         | 94.4M/1.33G [00:03<00:44, 27.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   8%|▊         | 105M/1.33G [00:03<00:42, 29.1MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   9%|▊         | 115M/1.33G [00:03<00:39, 30.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:   9%|▉         | 126M/1.33G [00:04<00:47, 25.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  10%|█         | 136M/1.33G [00:04<00:41, 28.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  11%|█         | 147M/1.33G [00:04<00:40, 29.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  12%|█▏        | 157M/1.33G [00:05<00:37, 31.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  13%|█▎        | 168M/1.33G [00:05<00:45, 25.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  13%|█▎        | 178M/1.33G [00:05<00:40, 28.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  14%|█▍        | 189M/1.33G [00:06<00:38, 29.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  15%|█▍        | 199M/1.33G [00:06<00:37, 30.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  16%|█▌        | 210M/1.33G [00:06<00:37, 29.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  17%|█▋        | 220M/1.33G [00:07<00:36, 30.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  17%|█▋        | 231M/1.33G [00:07<00:34, 32.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  18%|█▊        | 241M/1.33G [00:07<00:33, 32.7MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  19%|█▉        | 252M/1.33G [00:08<00:36, 29.7MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  20%|█▉        | 262M/1.33G [00:08<00:39, 27.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  20%|██        | 273M/1.33G [00:09<00:36, 28.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  21%|██        | 283M/1.33G [00:09<00:33, 31.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  22%|██▏       | 294M/1.33G [00:10<00:45, 22.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  23%|██▎       | 304M/1.33G [00:10<00:40, 25.7MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  24%|██▎       | 315M/1.33G [00:10<00:37, 27.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  24%|██▍       | 325M/1.33G [00:10<00:33, 29.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  25%|██▌       | 336M/1.33G [00:11<00:39, 25.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  26%|██▌       | 346M/1.33G [00:11<00:37, 26.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  27%|██▋       | 357M/1.33G [00:12<00:31, 31.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  28%|██▊       | 367M/1.33G [00:12<00:35, 27.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  28%|██▊       | 377M/1.33G [00:13<00:41, 22.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  29%|██▉       | 388M/1.33G [00:13<00:35, 26.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  30%|██▉       | 398M/1.33G [00:13<00:33, 28.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  31%|███       | 409M/1.33G [00:14<00:29, 31.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  31%|███▏      | 419M/1.33G [00:14<00:33, 27.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  32%|███▏      | 430M/1.33G [00:14<00:28, 31.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  33%|███▎      | 440M/1.33G [00:14<00:25, 34.7MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  34%|███▍      | 451M/1.33G [00:15<00:23, 38.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  35%|███▍      | 461M/1.33G [00:15<00:27, 31.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  35%|███▌      | 472M/1.33G [00:15<00:27, 30.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  36%|███▌      | 482M/1.33G [00:16<00:23, 36.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  37%|███▋      | 493M/1.33G [00:16<00:27, 30.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  38%|███▊      | 503M/1.33G [00:17<00:31, 26.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  39%|███▊      | 514M/1.33G [00:17<00:33, 24.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  39%|███▉      | 524M/1.33G [00:17<00:29, 27.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  40%|████      | 535M/1.33G [00:18<00:27, 28.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  41%|████      | 545M/1.33G [00:18<00:25, 31.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  42%|████▏     | 556M/1.33G [00:18<00:22, 35.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  42%|████▏     | 566M/1.33G [00:18<00:19, 39.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  43%|████▎     | 577M/1.33G [00:19<00:18, 41.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  44%|████▍     | 587M/1.33G [00:19<00:24, 31.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  45%|████▍     | 598M/1.33G [00:19<00:20, 35.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  46%|████▌     | 608M/1.33G [00:20<00:19, 36.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  46%|████▋     | 619M/1.33G [00:20<00:18, 37.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  47%|████▋     | 629M/1.33G [00:20<00:23, 30.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  48%|████▊     | 640M/1.33G [00:21<00:20, 34.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  49%|████▊     | 650M/1.33G [00:21<00:20, 33.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  50%|████▉     | 661M/1.33G [00:21<00:23, 28.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  50%|█████     | 671M/1.33G [00:22<00:22, 28.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  51%|█████     | 682M/1.33G [00:22<00:21, 30.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  52%|█████▏    | 692M/1.33G [00:22<00:21, 30.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  53%|█████▎    | 703M/1.33G [00:23<00:18, 34.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  53%|█████▎    | 713M/1.33G [00:23<00:25, 24.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  54%|█████▍    | 724M/1.33G [00:24<00:23, 26.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  55%|█████▌    | 734M/1.33G [00:24<00:21, 27.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  56%|█████▌    | 744M/1.33G [00:24<00:19, 30.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  57%|█████▋    | 755M/1.33G [00:25<00:22, 25.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  57%|█████▋    | 765M/1.33G [00:25<00:17, 32.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  58%|█████▊    | 776M/1.33G [00:25<00:17, 32.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  59%|█████▉    | 786M/1.33G [00:26<00:18, 30.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  60%|█████▉    | 797M/1.33G [00:26<00:19, 27.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  61%|██████    | 807M/1.33G [00:26<00:17, 30.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  61%|██████▏   | 818M/1.33G [00:27<00:15, 33.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  62%|██████▏   | 828M/1.33G [00:27<00:15, 31.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  63%|██████▎   | 839M/1.33G [00:27<00:15, 31.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  64%|██████▎   | 849M/1.33G [00:28<00:15, 31.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  64%|██████▍   | 860M/1.33G [00:28<00:15, 29.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  65%|██████▌   | 870M/1.33G [00:28<00:13, 33.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  66%|██████▌   | 881M/1.33G [00:29<00:15, 29.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  67%|██████▋   | 891M/1.33G [00:29<00:14, 30.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  68%|██████▊   | 902M/1.33G [00:29<00:13, 32.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  68%|██████▊   | 912M/1.33G [00:30<00:12, 33.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  69%|██████▉   | 923M/1.33G [00:30<00:13, 29.7MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  70%|██████▉   | 933M/1.33G [00:30<00:12, 33.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  71%|███████   | 944M/1.33G [00:31<00:11, 34.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  72%|███████▏  | 954M/1.33G [00:31<00:10, 36.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  72%|███████▏  | 965M/1.33G [00:31<00:12, 29.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  73%|███████▎  | 975M/1.33G [00:32<00:10, 32.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  74%|███████▍  | 986M/1.33G [00:32<00:09, 37.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  75%|███████▍  | 996M/1.33G [00:32<00:08, 38.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  75%|███████▌  | 1.01G/1.33G [00:32<00:09, 33.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  76%|███████▌  | 1.02G/1.33G [00:33<00:09, 34.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  77%|███████▋  | 1.03G/1.33G [00:33<00:08, 36.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  78%|███████▊  | 1.04G/1.33G [00:33<00:08, 36.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  79%|███████▊  | 1.05G/1.33G [00:34<00:10, 28.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  79%|███████▉  | 1.06G/1.33G [00:34<00:10, 26.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  80%|████████  | 1.07G/1.33G [00:35<00:09, 29.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  81%|████████  | 1.08G/1.33G [00:35<00:07, 33.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  82%|████████▏ | 1.09G/1.33G [00:35<00:08, 28.7MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  83%|████████▎ | 1.10G/1.33G [00:36<00:07, 32.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  83%|████████▎ | 1.11G/1.33G [00:36<00:06, 32.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  84%|████████▍ | 1.12G/1.33G [00:36<00:06, 32.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  85%|████████▍ | 1.13G/1.33G [00:37<00:07, 26.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  86%|████████▌ | 1.14G/1.33G [00:37<00:07, 26.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  86%|████████▋ | 1.15G/1.33G [00:37<00:06, 27.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  87%|████████▋ | 1.16G/1.33G [00:38<00:05, 32.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  88%|████████▊ | 1.17G/1.33G [00:38<00:05, 29.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  89%|████████▉ | 1.18G/1.33G [00:38<00:04, 33.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  90%|████████▉ | 1.20G/1.33G [00:38<00:03, 39.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  90%|█████████ | 1.21G/1.33G [00:39<00:03, 41.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  91%|█████████ | 1.22G/1.33G [00:39<00:03, 33.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  92%|█████████▏| 1.23G/1.33G [00:39<00:02, 36.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  93%|█████████▎| 1.24G/1.33G [00:40<00:02, 36.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  94%|█████████▎| 1.25G/1.33G [00:40<00:02, 36.7MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  94%|█████████▍| 1.26G/1.33G [00:40<00:02, 36.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  95%|█████████▌| 1.27G/1.33G [00:41<00:02, 31.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  96%|█████████▌| 1.28G/1.33G [00:41<00:01, 33.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  97%|█████████▋| 1.29G/1.33G [00:41<00:01, 33.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  97%|█████████▋| 1.30G/1.33G [00:42<00:01, 28.7MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  98%|█████████▊| 1.31G/1.33G [00:42<00:00, 32.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin:  99%|█████████▉| 1.32G/1.33G [00:42<00:00, 30.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin: 100%|█████████▉| 1.33G/1.33G [00:42<00:00, 37.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "pytorch_model.bin: 100%|██████████| 1.33G/1.33G [00:43<00:00, 30.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "tokenizer_config.json:   0%|          | 0.00/60.0 [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "tokenizer_config.json: 100%|██████████| 60.0/60.0 [00:00<00:00, 77.7kB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "vocab.txt:   0%|          | 0.00/213k [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "vocab.txt: 100%|██████████| 213k/213k [00:00<00:00, 86.2MB/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 501ms/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 [==============================] - 0s 310ms/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 314ms/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 469ms/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 219ms/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 214ms/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 491ms/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 213ms/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 212ms/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 310ms/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 65ms/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-12-13T09:56:51.188354Z",
 | ||
|      "iopub.status.busy": "2023-12-13T09:56:51.187962Z",
 | ||
|      "iopub.status.idle": "2023-12-13T09:58:29.246454Z",
 | ||
|      "shell.execute_reply": "2023-12-13T09:58:29.245683Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "vocab.txt:   0%|          | 0.00/232k [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "vocab.txt: 100%|██████████| 232k/232k [00:00<00:00, 34.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "tokenizer_config.json:   0%|          | 0.00/28.0 [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "tokenizer_config.json: 100%|██████████| 28.0/28.0 [00:00<00:00, 41.5kB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "config.json:   0%|          | 0.00/570 [00:00<?, ?B/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "config.json: 100%|██████████| 570/570 [00:00<00:00, 865kB/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%|          | 4.01M/2.50G [00:00<01:15, 35.7MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  1%|          | 19.4M/2.50G [00:00<00:25, 104MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  1%|▏         | 36.1M/2.50G [00:00<00:19, 135MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  2%|▏         | 50.0M/2.50G [00:00<00:18, 139MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  3%|▎         | 68.9M/2.50G [00:00<00:16, 160MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  3%|▎         | 85.4M/2.50G [00:00<00:15, 164MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  4%|▍         | 101M/2.50G [00:00<00:18, 138MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  5%|▍         | 119M/2.50G [00:00<00:16, 151MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  5%|▌         | 134M/2.50G [00:00<00:17, 147MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  6%|▌         | 152M/2.50G [00:01<00:17, 145MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  7%|▋         | 170M/2.50G [00:01<00:16, 156MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  7%|▋         | 188M/2.50G [00:01<00:15, 165MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  8%|▊         | 206M/2.50G [00:01<00:14, 173MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  9%|▊         | 223M/2.50G [00:01<00:13, 175MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  9%|▉         | 242M/2.50G [00:01<00:13, 181MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 10%|█         | 260M/2.50G [00:01<00:13, 183MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 11%|█         | 279M/2.50G [00:01<00:12, 188MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 12%|█▏        | 297M/2.50G [00:01<00:13, 176MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 12%|█▏        | 314M/2.50G [00:02<00:13, 175MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 13%|█▎        | 332M/2.50G [00:02<00:13, 179MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 14%|█▎        | 350M/2.50G [00:02<00:12, 182MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 14%|█▍        | 368M/2.50G [00:02<00:12, 183MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 15%|█▌        | 386M/2.50G [00:02<00:12, 185MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 16%|█▌        | 404M/2.50G [00:02<00:12, 179MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 16%|█▋        | 422M/2.50G [00:02<00:12, 181MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 17%|█▋        | 440M/2.50G [00:02<00:12, 183MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 18%|█▊        | 457M/2.50G [00:03<00:22, 96.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 19%|█▊        | 475M/2.50G [00:03<00:19, 113MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 19%|█▉        | 495M/2.50G [00:03<00:16, 132MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 20%|█▉        | 512M/2.50G [00:03<00:15, 143MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 21%|██        | 529M/2.50G [00:03<00:14, 149MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 21%|██▏       | 547M/2.50G [00:03<00:13, 160MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 22%|██▏       | 564M/2.50G [00:03<00:12, 166MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 23%|██▎       | 583M/2.50G [00:03<00:11, 174MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 23%|██▎       | 601M/2.50G [00:04<00:13, 157MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 24%|██▍       | 617M/2.50G [00:04<00:12, 160MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 25%|██▍       | 633M/2.50G [00:04<00:12, 164MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 25%|██▌       | 650M/2.50G [00:04<00:13, 146MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 26%|██▌       | 666M/2.50G [00:04<00:13, 152MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 27%|██▋       | 681M/2.50G [00:04<00:12, 154MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 27%|██▋       | 699M/2.50G [00:04<00:11, 165MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 28%|██▊       | 718M/2.50G [00:04<00:11, 172MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 29%|██▊       | 736M/2.50G [00:04<00:10, 178MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 29%|██▉       | 754M/2.50G [00:04<00:10, 180MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 30%|███       | 771M/2.50G [00:05<00:15, 123MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 31%|███       | 789M/2.50G [00:05<00:13, 138MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 31%|███▏      | 807M/2.50G [00:05<00:12, 149MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 32%|███▏      | 824M/2.50G [00:05<00:11, 158MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 33%|███▎      | 841M/2.50G [00:05<00:11, 161MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 34%|███▎      | 859M/2.50G [00:05<00:10, 171MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 34%|███▍      | 877M/2.50G [00:05<00:10, 174MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 35%|███▍      | 894M/2.50G [00:05<00:10, 173MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 36%|███▌      | 912M/2.50G [00:06<00:09, 177MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 36%|███▌      | 929M/2.50G [00:06<00:10, 171MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 37%|███▋      | 948M/2.50G [00:06<00:09, 177MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 38%|███▊      | 966M/2.50G [00:06<00:09, 181MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 38%|███▊      | 984M/2.50G [00:06<00:08, 185MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 39%|███▉      | 0.98G/2.50G [00:06<00:08, 184MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 40%|███▉      | 1.00G/2.50G [00:06<00:08, 181MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 40%|████      | 1.01G/2.50G [00:06<00:08, 184MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 41%|████      | 1.03G/2.50G [00:06<00:08, 180MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 42%|████▏     | 1.05G/2.50G [00:06<00:09, 170MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 42%|████▏     | 1.06G/2.50G [00:07<00:09, 171MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 43%|████▎     | 1.08G/2.50G [00:07<00:09, 165MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 44%|████▎     | 1.10G/2.50G [00:07<00:09, 160MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 44%|████▍     | 1.11G/2.50G [00:07<00:08, 169MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 45%|████▌     | 1.13G/2.50G [00:07<00:08, 175MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 46%|████▌     | 1.15G/2.50G [00:07<00:08, 180MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 47%|████▋     | 1.17G/2.50G [00:07<00:08, 163MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 47%|████▋     | 1.18G/2.50G [00:07<00:10, 140MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 48%|████▊     | 1.20G/2.50G [00:08<00:09, 149MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 48%|████▊     | 1.21G/2.50G [00:08<00:09, 149MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 49%|████▉     | 1.23G/2.50G [00:08<00:09, 148MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 50%|████▉     | 1.24G/2.50G [00:08<00:08, 155MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 50%|█████     | 1.26G/2.50G [00:08<00:08, 162MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 51%|█████     | 1.28G/2.50G [00:08<00:07, 172MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 52%|█████▏    | 1.29G/2.50G [00:08<00:09, 143MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 52%|█████▏    | 1.31G/2.50G [00:08<00:09, 138MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 53%|█████▎    | 1.32G/2.50G [00:08<00:08, 150MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 54%|█████▎    | 1.34G/2.50G [00:09<00:07, 162MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 54%|█████▍    | 1.36G/2.50G [00:09<00:07, 169MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 55%|█████▍    | 1.38G/2.50G [00:09<00:07, 171MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 56%|█████▌    | 1.39G/2.50G [00:09<00:06, 174MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 56%|█████▋    | 1.41G/2.50G [00:09<00:06, 178MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 57%|█████▋    | 1.43G/2.50G [00:09<00:06, 181MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 58%|█████▊    | 1.45G/2.50G [00:09<00:06, 183MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 58%|█████▊    | 1.46G/2.50G [00:09<00:06, 184MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 59%|█████▉    | 1.48G/2.50G [00:09<00:06, 176MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 60%|█████▉    | 1.50G/2.50G [00:09<00:06, 173MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 60%|██████    | 1.51G/2.50G [00:10<00:08, 125MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 61%|██████    | 1.53G/2.50G [00:10<00:07, 132MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 62%|██████▏   | 1.54G/2.50G [00:10<00:07, 141MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 62%|██████▏   | 1.56G/2.50G [00:10<00:06, 151MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 63%|██████▎   | 1.58G/2.50G [00:10<00:06, 162MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 64%|██████▍   | 1.60G/2.50G [00:10<00:05, 171MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 64%|██████▍   | 1.61G/2.50G [00:10<00:05, 160MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 65%|██████▌   | 1.63G/2.50G [00:10<00:05, 168MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 66%|██████▌   | 1.65G/2.50G [00:11<00:05, 161MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 66%|██████▋   | 1.66G/2.50G [00:11<00:05, 156MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 67%|██████▋   | 1.68G/2.50G [00:11<00:05, 160MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 68%|██████▊   | 1.69G/2.50G [00:11<00:05, 162MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 68%|██████▊   | 1.71G/2.50G [00:11<00:05, 169MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 69%|██████▉   | 1.73G/2.50G [00:11<00:04, 176MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 70%|██████▉   | 1.75G/2.50G [00:11<00:04, 181MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 70%|███████   | 1.76G/2.50G [00:11<00:04, 184MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 71%|███████   | 1.78G/2.50G [00:11<00:04, 182MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 72%|███████▏  | 1.80G/2.50G [00:11<00:04, 186MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 73%|███████▎  | 1.82G/2.50G [00:12<00:03, 187MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 73%|███████▎  | 1.84G/2.50G [00:12<00:03, 188MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 74%|███████▍  | 1.85G/2.50G [00:12<00:03, 189MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 75%|███████▍  | 1.87G/2.50G [00:13<00:17, 38.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 75%|███████▌  | 1.89G/2.50G [00:13<00:13, 48.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 76%|███████▌  | 1.90G/2.50G [00:13<00:11, 56.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 76%|███████▋  | 1.91G/2.50G [00:13<00:09, 67.1MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 77%|███████▋  | 1.93G/2.50G [00:14<00:07, 79.4MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 78%|███████▊  | 1.94G/2.50G [00:14<00:06, 93.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 78%|███████▊  | 1.96G/2.50G [00:14<00:05, 107MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 79%|███████▉  | 1.97G/2.50G [00:14<00:04, 120MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 80%|███████▉  | 1.99G/2.50G [00:14<00:04, 136MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 80%|████████  | 2.01G/2.50G [00:14<00:03, 146MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 81%|████████  | 2.02G/2.50G [00:14<00:03, 156MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 82%|████████▏ | 2.04G/2.50G [00:14<00:03, 165MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 82%|████████▏ | 2.06G/2.50G [00:14<00:02, 170MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 83%|████████▎ | 2.08G/2.50G [00:14<00:02, 176MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 84%|████████▎ | 2.09G/2.50G [00:15<00:02, 181MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 84%|████████▍ | 2.11G/2.50G [00:15<00:02, 182MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 85%|████████▌ | 2.13G/2.50G [00:15<00:02, 187MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 86%|████████▌ | 2.15G/2.50G [00:15<00:02, 182MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 87%|████████▋ | 2.17G/2.50G [00:15<00:01, 189MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 87%|████████▋ | 2.19G/2.50G [00:15<00:01, 190MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 88%|████████▊ | 2.20G/2.50G [00:15<00:01, 186MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 89%|████████▊ | 2.22G/2.50G [00:15<00:01, 189MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 89%|████████▉ | 2.24G/2.50G [00:15<00:01, 182MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 90%|█████████ | 2.26G/2.50G [00:16<00:01, 172MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 91%|█████████ | 2.27G/2.50G [00:16<00:01, 173MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 91%|█████████▏| 2.29G/2.50G [00:16<00:01, 176MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 92%|█████████▏| 2.31G/2.50G [00:16<00:01, 179MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 93%|█████████▎| 2.32G/2.50G [00:17<00:03, 52.8MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 93%|█████████▎| 2.34G/2.50G [00:17<00:02, 65.7MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 94%|█████████▍| 2.35G/2.50G [00:17<00:02, 78.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 95%|█████████▍| 2.37G/2.50G [00:17<00:01, 95.9MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 95%|█████████▌| 2.39G/2.50G [00:17<00:01, 110MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 96%|█████████▌| 2.40G/2.50G [00:17<00:00, 123MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 97%|█████████▋| 2.42G/2.50G [00:17<00:00, 131MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 97%|█████████▋| 2.43G/2.50G [00:17<00:00, 132MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 98%|█████████▊| 2.45G/2.50G [00:18<00:00, 142MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 99%|█████████▊| 2.47G/2.50G [00:18<00:00, 154MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 99%|█████████▉| 2.49G/2.50G [00:18<00:00, 165MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "100%|██████████| 2.50G/2.50G [00:18<00:00, 146MB/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%|          | 14.8M/1.35G [00:00<00:09, 156MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  2%|▏         | 32.0M/1.35G [00:00<00:30, 46.5MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  3%|▎         | 40.0M/1.35G [00:00<00:37, 37.2MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  4%|▍         | 56.0M/1.35G [00:01<00:26, 52.3MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  6%|▌         | 78.1M/1.35G [00:01<00:16, 82.6MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  7%|▋         | 90.6M/1.35G [00:01<00:24, 55.0MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "  8%|▊         | 115M/1.35G [00:01<00:15, 83.1MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 10%|█         | 143M/1.35G [00:01<00:10, 119MB/s] "
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 12%|█▏        | 171M/1.35G [00:01<00:08, 153MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 14%|█▍        | 197M/1.35G [00:02<00:06, 179MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 16%|█▌        | 223M/1.35G [00:02<00:06, 201MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 18%|█▊        | 246M/1.35G [00:02<00:05, 211MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 20%|█▉        | 275M/1.35G [00:02<00:04, 234MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 22%|██▏       | 303M/1.35G [00:02<00:04, 251MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 24%|██▍       | 329M/1.35G [00:02<00:07, 139MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 26%|██▌       | 358M/1.35G [00:03<00:06, 169MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 28%|██▊       | 384M/1.35G [00:03<00:06, 155MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 30%|██▉       | 409M/1.35G [00:03<00:05, 175MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 31%|███       | 430M/1.35G [00:03<00:05, 183MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 33%|███▎      | 456M/1.35G [00:03<00:05, 191MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 35%|███▌      | 484M/1.35G [00:03<00:04, 215MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 37%|███▋      | 506M/1.35G [00:03<00:05, 161MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 39%|███▊      | 532M/1.35G [00:03<00:04, 183MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 40%|████      | 552M/1.35G [00:04<00:04, 174MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 41%|████▏     | 571M/1.35G [00:04<00:04, 176MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 43%|████▎     | 597M/1.35G [00:04<00:04, 199MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 45%|████▌     | 623M/1.35G [00:04<00:03, 217MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 47%|████▋     | 645M/1.35G [00:04<00:05, 136MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 48%|████▊     | 668M/1.35G [00:04<00:04, 158MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 50%|█████     | 696M/1.35G [00:04<00:03, 187MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 52%|█████▏    | 718M/1.35G [00:05<00:03, 197MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 54%|█████▎    | 741M/1.35G [00:05<00:03, 206MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 55%|█████▌    | 763M/1.35G [00:05<00:03, 212MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 57%|█████▋    | 785M/1.35G [00:05<00:03, 206MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 59%|█████▊    | 810M/1.35G [00:05<00:02, 223MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 61%|██████    | 836M/1.35G [00:05<00:02, 237MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 62%|██████▏   | 862M/1.35G [00:05<00:02, 247MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 64%|██████▍   | 886M/1.35G [00:06<00:03, 149MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 66%|██████▌   | 912M/1.35G [00:06<00:02, 165MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 68%|██████▊   | 938M/1.35G [00:06<00:02, 187MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 70%|██████▉   | 963M/1.35G [00:06<00:02, 204MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 71%|███████▏  | 985M/1.35G [00:06<00:02, 202MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 73%|███████▎  | 0.98G/1.35G [00:06<00:01, 207MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 75%|███████▍  | 1.01G/1.35G [00:06<00:01, 223MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 77%|███████▋  | 1.03G/1.35G [00:06<00:01, 232MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 78%|███████▊  | 1.05G/1.35G [00:07<00:02, 149MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 80%|███████▉  | 1.08G/1.35G [00:07<00:01, 170MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 82%|████████▏ | 1.10G/1.35G [00:07<00:01, 144MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 84%|████████▍ | 1.13G/1.35G [00:07<00:01, 173MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 86%|████████▌ | 1.16G/1.35G [00:07<00:01, 197MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 88%|████████▊ | 1.18G/1.35G [00:07<00:00, 217MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 90%|████████▉ | 1.21G/1.35G [00:07<00:00, 235MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 92%|█████████▏| 1.23G/1.35G [00:07<00:00, 244MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 94%|█████████▎| 1.26G/1.35G [00:08<00:00, 257MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 95%|█████████▌| 1.29G/1.35G [00:08<00:00, 232MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 97%|█████████▋| 1.31G/1.35G [00:08<00:00, 194MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       " 99%|█████████▉| 1.33G/1.35G [00:08<00:00, 208MB/s]"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "name": "stderr",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "\r",
 | ||
|       "100%|██████████| 1.35G/1.35G [00:08<00:00, 169MB/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-12-13T09:58:29.318720Z",
 | ||
|      "iopub.status.busy": "2023-12-13T09:58:29.318369Z",
 | ||
|      "iopub.status.idle": "2023-12-13T09:58:29.328082Z",
 | ||
|      "shell.execute_reply": "2023-12-13T09:58:29.327491Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "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-12-13T09:58:29.330718Z",
 | ||
|      "iopub.status.busy": "2023-12-13T09:58:29.330184Z",
 | ||
|      "iopub.status.idle": "2023-12-13T09:58:29.362973Z",
 | ||
|      "shell.execute_reply": "2023-12-13T09:58:29.362257Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "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>[a news anchor holding a mobile phone with a m...</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>[the left hand is holding an orange tube, with...</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 ency Se...</td>\n",
 | ||
|        "      <td>en</td>\n",
 | ||
|        "      <td>400 DEATHS GET E-BOOK X AN Corporation ency Se...</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 ency Services, Ahmedabad, RE]</td>\n",
 | ||
|        "      <td>[ORG, LOC, PER]</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 men dressed in blue and holding the back ...</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 ency Se...   \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 ency Se...   \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 ency 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]  ...             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  [a news anchor holding a mobile phone with a m...  \n",
 | ||
|        "1  [the left hand is holding an orange tube, with...  \n",
 | ||
|        "2  [two men dressed in blue and holding the back ...  \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-12-13T09:58:29.405230Z",
 | ||
|      "iopub.status.busy": "2023-12-13T09:58:29.405006Z",
 | ||
|      "iopub.status.idle": "2023-12-13T09:58:29.410713Z",
 | ||
|      "shell.execute_reply": "2023-12-13T09:58:29.410221Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "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:\n",
 | ||
|     "\n",
 | ||
|     "`os.environ[\"GOOGLE_APPLICATION_CREDENTIALS\"] = \"misinformation-campaign-981aa55a3b13.json\"`"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "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": 10,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-12-13T09:58:29.413174Z",
 | ||
|      "iopub.status.busy": "2023-12-13T09:58:29.412786Z",
 | ||
|      "iopub.status.idle": "2023-12-13T09:58:57.693910Z",
 | ||
|      "shell.execute_reply": "2023-12-13T09:58:57.693182Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [],
 | ||
|    "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": 11,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-12-13T09:58:57.697064Z",
 | ||
|      "iopub.status.busy": "2023-12-13T09:58:57.696628Z",
 | ||
|      "iopub.status.idle": "2023-12-13T09:59:01.534021Z",
 | ||
|      "shell.execute_reply": "2023-12-13T09:59:01.533307Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "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": 12,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-12-13T09:59:01.537282Z",
 | ||
|      "iopub.status.busy": "2023-12-13T09:59:01.536892Z",
 | ||
|      "iopub.status.idle": "2023-12-13T09:59:01.540109Z",
 | ||
|      "shell.execute_reply": "2023-12-13T09:59:01.539452Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "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": 13,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-12-13T09:59:01.542658Z",
 | ||
|      "iopub.status.busy": "2023-12-13T09:59:01.542303Z",
 | ||
|      "iopub.status.idle": "2023-12-13T10:00:09.131925Z",
 | ||
|      "shell.execute_reply": "2023-12-13T10:00:09.131121Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "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": 14,
 | ||
|    "metadata": {
 | ||
|     "execution": {
 | ||
|      "iopub.execute_input": "2023-12-13T10:00:09.136797Z",
 | ||
|      "iopub.status.busy": "2023-12-13T10:00:09.136281Z",
 | ||
|      "iopub.status.idle": "2023-12-13T10:00:29.845204Z",
 | ||
|      "shell.execute_reply": "2023-12-13T10:00:29.844538Z"
 | ||
|     }
 | ||
|    },
 | ||
|    "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 516ms/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 225ms/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 224ms/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 493ms/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 223ms/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 213ms/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 505ms/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 219ms/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 215ms/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 214ms/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 15ms/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
 | ||
| }
 | 
