Skip to content

Instantly share code, notes, and snippets.

@ethanabrooks
Created December 10, 2025 19:29
Show Gist options
  • Select an option

  • Save ethanabrooks/97c89577b23511362caa577c4ab128db to your computer and use it in GitHub Desktop.

Select an option

Save ethanabrooks/97c89577b23511362caa577c4ab128db to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "3cb8a1fe",
"metadata": {},
"source": [
"# Dataset Analysis Report\n",
"\n",
"This notebook analyzes pass@1 evaluation results across multiple samples per problem.\n",
"The notebook is generated using jupytext, and the `config` in the next cell is auto-populated."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "58b0fd8a",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T19:26:35.539028Z",
"iopub.status.busy": "2025-12-10T19:26:35.538877Z",
"iopub.status.idle": "2025-12-10T19:26:49.797505Z",
"shell.execute_reply": "2025-12-10T19:26:49.796897Z"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/ethan/.cache/pants/named_caches/pex_root/venvs/3/686f561a39b0fc0782d192cbdef29662b3cb93ef/4978de77e09000b88dd0d51c4ca60c416127ff6b/lib/python3.12/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
" from .autonotebook import tqdm as notebook_tqdm\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2025-12-10 19:26:39,822\tINFO util.py:154 -- Missing packages: ['ipywidgets']. Run `pip install -U ipywidgets`, then restart the notebook server for rich notebook output.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:absl:Failed to import TraceAnnotation.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/ethan/.cache/pants/named_caches/pex_root/venvs/3/686f561a39b0fc0782d192cbdef29662b3cb93ef/4978de77e09000b88dd0d51c4ca60c416127ff6b/lib/python3.12/site-packages/pydantic/_internal/_generate_schema.py:2249: UnsupportedFieldAttributeWarning: The 'default' attribute with value 'name' was provided to the `Field()` function, which has no effect in the context it was used. 'default' is field-specific metadata, and can only be attached to a model field using `Annotated` metadata or by assignment. This may have happened because an `Annotated` type alias using the `type` statement was used, or if the `Field()` function was attached to a single member of a union type.\n",
" warnings.warn(\n"
]
}
],
"source": [
"\n",
"import os\n",
"from typing import Any\n",
"\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"import wandb\n",
"from IPython.display import (\n",
" display, # pyright: ignore[reportUnknownVariableType]\n",
")\n",
"\n",
"from olympus.projects.minos.scripts.component_studies import (\n",
" automation,\n",
" dummy_config,\n",
" metrics,\n",
" models,\n",
")\n",
"from olympus.storage.dataprism import (\n",
" default_factory as dataprism_default_factory,\n",
")\n",
"from olympus.storage.t2 import spanner as spanner_trace_storage\n",
"from olympus.storage.tags import tags as tag_types\n",
"\n",
"# Configure matplotlib for inline display in Jupyter notebooks\n",
"# This works in both interactive and headless environments\n",
"get_ipython().run_line_magic('matplotlib', 'inline') # pyright: ignore[reportUndefinedVariable, reportUnknownMemberType] # noqa: F821\n",
"\n",
"# NOTE:\n",
"# - This cell is the *injection point*.\n",
"# - A generator script will overwrite the body of this cell with a concrete\n",
"# `models.NotebookConfig(...)` assignment.\n",
"# - The dummy config import above ensures type checking works before injection."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "c5c9b875",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T19:26:49.799705Z",
"iopub.status.busy": "2025-12-10T19:26:49.798769Z",
"iopub.status.idle": "2025-12-10T19:26:49.802221Z",
"shell.execute_reply": "2025-12-10T19:26:49.801777Z"
},
"tags": [
"minos-config"
]
},
"outputs": [],
"source": [
"from olympus.projects.minos.scripts.component_studies import models\n",
"\n",
"config = models.NotebookConfig(\n",
" collection='/minos/bon_single/guru-math__deepscaler_preview_11_0.8_1000-test-with-tools/qwen/51653a9eedfb',\n",
" rl_job_url='https://graphein.reflectionai.dev/?page=1&pageSize=25&nameFilter=curious-port&experiment_name=ethan-curious-port-11-07',\n",
" rl_train_collection='/swe-bench/online-rl/ethan-curious-port-11-07-train',\n",
" rl_test_collection='/swe-bench/online-rl/ethan-curious-port-11-07-test',\n",
" wandb_run_url='https://wandb.ai/reflectionai/tools/runs/01bdg4ux',\n",
" difficulty_tags=('solve_percent', 'context_length'),\n",
")\n"
]
},
{
"cell_type": "markdown",
"id": "cb557938",
"metadata": {},
"source": [
"## Configuration\n",
"\n",
"Configuration is injected in the cell above."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "151afef7",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T19:26:49.803691Z",
"iopub.status.busy": "2025-12-10T19:26:49.803530Z",
"iopub.status.idle": "2025-12-10T19:27:25.393343Z",
"shell.execute_reply": "2025-12-10T19:27:25.392737Z"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 0%| | 0/31 [00:00<?, ?chunk/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: oauth2.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 6\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 6\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 6\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 7\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 3%|████▎ | 1/31 [00:02<01:29, 2.97s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 6%|████████▋ | 2/31 [00:03<00:52, 1.81s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 6\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 6\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 7\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 10%|█████████████ | 3/31 [00:04<00:40, 1.44s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 13%|█████████████████▍ | 4/31 [00:05<00:33, 1.26s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 16%|█████████████████████▊ | 5/31 [00:07<00:34, 1.33s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 19%|██████████████████████████▏ | 6/31 [00:08<00:29, 1.19s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 23%|██████████████████████████████▍ | 7/31 [00:09<00:26, 1.12s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 26%|██████████████████████████████████▊ | 8/31 [00:10<00:24, 1.07s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 29%|███████████████████████████████████████▏ | 9/31 [00:11<00:22, 1.03s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 6\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 32%|███████████████████████████████████████████▏ | 10/31 [00:12<00:24, 1.17s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 35%|███████████████████████████████████████████████▌ | 11/31 [00:13<00:22, 1.10s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 39%|███████████████████████████████████████████████████▊ | 12/31 [00:14<00:20, 1.07s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 5\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 42%|████████████████████████████████████████████████████████▏ | 13/31 [00:15<00:18, 1.04s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 45%|████████████████████████████████████████████████████████████▌ | 14/31 [00:17<00:20, 1.18s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 6\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 6\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 7\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 48%|████████████████████████████████████████████████████████████████▊ | 15/31 [00:18<00:17, 1.12s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 52%|█████████████████████████████████████████████████████████████████████▏ | 16/31 [00:19<00:16, 1.08s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 55%|█████████████████████████████████████████████████████████████████████████▍ | 17/31 [00:19<00:14, 1.03s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 58%|█████████████████████████████████████████████████████████████████████████████▊ | 18/31 [00:20<00:12, 1.00chunk/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 61%|██████████████████████████████████████████████████████████████████████████████████▏ | 19/31 [00:22<00:13, 1.14s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 65%|██████████████████████████████████████████████████████████████████████████████████████▍ | 20/31 [00:23<00:11, 1.07s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 7\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 68%|██████████████████████████████████████████████████████████████████████████████████████████▊ | 21/31 [00:24<00:10, 1.02s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 71%|███████████████████████████████████████████████████████████████████████████████████████████████ | 22/31 [00:25<00:08, 1.01chunk/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 7\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 74%|███████████████████████████████████████████████████████████████████████████████████████████████████▍ | 23/31 [00:26<00:07, 1.04chunk/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 5\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 4\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 7\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 77%|███████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 24/31 [00:27<00:07, 1.10s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 7\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 81%|████████████████████████████████████████████████████████████████████████████████████████████████████████████ | 25/31 [00:28<00:06, 1.05s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 84%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 26/31 [00:29<00:05, 1.03s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 87%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 27/31 [00:30<00:04, 1.03s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 7\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 90%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ | 28/31 [00:32<00:03, 1.32s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 94%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 29/31 [00:33<00:02, 1.22s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 97%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 30/31 [00:34<00:01, 1.16s/chunk]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
"loading sequences: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 31/31 [00:34<00:00, 1.17chunk/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r",
" "
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Cached aggregated dataframe to /home/ethan/.cache/olympus/minos/component_studies/51653a9eedfb_qwen3.pkl\n",
"Loaded stats with 3002 rows\n",
"Columns: ['trace/prompt_len', 'trace/response_len', 'trace/num_messages', 'trace/prompt', 'trace/sample', 'trace/index', 'sequence', 'sequence/instance_id', 'sequence/score']\n"
]
}
],
"source": [
"# Load statistics DataFrame from collection\n",
"# This reads sequences from the collection and computes trace statistics\n",
"read_sequences = metrics.read_sequences(\n",
" config.collection,\n",
" 'qwen3', # formatter name\n",
" limit=None, # Set to a number to limit sequences for debugging\n",
" use_cache=True, # Uses file-based caching for per-sequence data\n",
")\n",
"stats = await read_sequences\n",
"\n",
"print(f'Loaded stats with {len(stats)} rows')\n",
"print(f'Columns: {list(stats.columns)}')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "ae92d048",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T19:27:25.394716Z",
"iopub.status.busy": "2025-12-10T19:27:25.394548Z",
"iopub.status.idle": "2025-12-10T19:27:25.409006Z",
"shell.execute_reply": "2025-12-10T19:27:25.408532Z"
}
},
"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>trace/prompt_len</th>\n",
" <th>trace/response_len</th>\n",
" <th>trace/num_messages</th>\n",
" <th>trace/prompt</th>\n",
" <th>trace/sample</th>\n",
" <th>trace/index</th>\n",
" <th>sequence</th>\n",
" <th>sequence/instance_id</th>\n",
" <th>sequence/score</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>52</td>\n",
" <td>493</td>\n",
" <td>3</td>\n",
" <td>&lt;|im_start|&gt;system\\n&lt;|im_end|&gt;\\n&lt;|im_start|&gt;us...</td>\n",
" <td>&lt;|im_start|&gt;assistant\\n&lt;think&gt;\\n\\n&lt;/think&gt;\\n\\n...</td>\n",
" <td>0</td>\n",
" <td>9e02cd8b-2ed9-46cf-abb8-3ea37ea4205a</td>\n",
" <td>guru-math__deepscaler_preview-10847</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>50</td>\n",
" <td>290</td>\n",
" <td>3</td>\n",
" <td>&lt;|im_start|&gt;system\\n&lt;|im_end|&gt;\\n&lt;|im_start|&gt;us...</td>\n",
" <td>&lt;|im_start|&gt;assistant\\n&lt;think&gt;\\n\\n&lt;/think&gt;\\n\\n...</td>\n",
" <td>0</td>\n",
" <td>43a06035-8822-4c04-ac4f-2267f5fa13c8</td>\n",
" <td>guru-math__deepscaler_preview-10231</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>72</td>\n",
" <td>787</td>\n",
" <td>3</td>\n",
" <td>&lt;|im_start|&gt;system\\n&lt;|im_end|&gt;\\n&lt;|im_start|&gt;us...</td>\n",
" <td>&lt;|im_start|&gt;assistant\\n&lt;think&gt;\\n\\n&lt;/think&gt;\\n\\n...</td>\n",
" <td>0</td>\n",
" <td>41cb0867-bea6-48d4-b942-7100f3b0e2a5</td>\n",
" <td>guru-math__deepscaler_preview-126</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>61</td>\n",
" <td>501</td>\n",
" <td>3</td>\n",
" <td>&lt;|im_start|&gt;system\\n&lt;|im_end|&gt;\\n&lt;|im_start|&gt;us...</td>\n",
" <td>&lt;|im_start|&gt;assistant\\n&lt;think&gt;\\n\\n&lt;/think&gt;\\n\\n...</td>\n",
" <td>0</td>\n",
" <td>9401fbb9-2b38-4e26-8c60-89144c8612c8</td>\n",
" <td>guru-math__deepscaler_preview-10261</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>67</td>\n",
" <td>685</td>\n",
" <td>3</td>\n",
" <td>&lt;|im_start|&gt;system\\n&lt;|im_end|&gt;\\n&lt;|im_start|&gt;us...</td>\n",
" <td>&lt;|im_start|&gt;assistant\\n&lt;think&gt;\\n\\n&lt;/think&gt;\\n\\n...</td>\n",
" <td>0</td>\n",
" <td>2e0bf4df-662c-41c9-8038-8ad897c7ca89</td>\n",
" <td>guru-math__deepscaler_preview-10398</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2997</th>\n",
" <td>117</td>\n",
" <td>1212</td>\n",
" <td>3</td>\n",
" <td>&lt;|im_start|&gt;system\\n&lt;|im_end|&gt;\\n&lt;|im_start|&gt;us...</td>\n",
" <td>&lt;|im_start|&gt;assistant\\n&lt;think&gt;\\n\\n&lt;/think&gt;\\n\\n...</td>\n",
" <td>2</td>\n",
" <td>dc6131c9-da0d-4707-a99a-21d9f9d7a48a</td>\n",
" <td>guru-math__deepscaler_preview-4758</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2998</th>\n",
" <td>114</td>\n",
" <td>9981</td>\n",
" <td>3</td>\n",
" <td>&lt;|im_start|&gt;system\\n&lt;|im_end|&gt;\\n&lt;|im_start|&gt;us...</td>\n",
" <td>&lt;|im_start|&gt;assistant\\n&lt;think&gt;\\n\\n&lt;/think&gt;\\n\\n...</td>\n",
" <td>2</td>\n",
" <td>23567486-fb1e-4570-b3b8-c8539db53713</td>\n",
" <td>guru-math__deepscaler_preview-9999</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2999</th>\n",
" <td>151</td>\n",
" <td>1271</td>\n",
" <td>3</td>\n",
" <td>&lt;|im_start|&gt;system\\n&lt;|im_end|&gt;\\n&lt;|im_start|&gt;us...</td>\n",
" <td>&lt;|im_start|&gt;assistant\\n&lt;think&gt;\\n\\n&lt;/think&gt;\\n\\n...</td>\n",
" <td>2</td>\n",
" <td>cf5eab86-8260-4b35-ae66-047e2701b300</td>\n",
" <td>guru-math__deepscaler_preview-5489</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3000</th>\n",
" <td>94</td>\n",
" <td>1521</td>\n",
" <td>3</td>\n",
" <td>&lt;|im_start|&gt;system\\n&lt;|im_end|&gt;\\n&lt;|im_start|&gt;us...</td>\n",
" <td>&lt;|im_start|&gt;assistant\\n&lt;think&gt;\\n\\n&lt;/think&gt;\\n\\n...</td>\n",
" <td>1</td>\n",
" <td>e8300fee-08a9-40dc-b7ba-01c366840e56</td>\n",
" <td>guru-math__deepscaler_preview-53022</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3001</th>\n",
" <td>94</td>\n",
" <td>22537</td>\n",
" <td>3</td>\n",
" <td>&lt;|im_start|&gt;system\\n&lt;|im_end|&gt;\\n&lt;|im_start|&gt;us...</td>\n",
" <td>&lt;|im_start|&gt;assistant\\n&lt;think&gt;\\n\\n&lt;/think&gt;\\n\\n...</td>\n",
" <td>2</td>\n",
" <td>1714230c-7a30-487b-abc9-3d0da2ebb9bf</td>\n",
" <td>guru-math__deepscaler_preview-53022</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>3002 rows × 9 columns</p>\n",
"</div>"
],
"text/plain": [
" trace/prompt_len trace/response_len trace/num_messages \\\n",
"0 52 493 3 \n",
"1 50 290 3 \n",
"2 72 787 3 \n",
"3 61 501 3 \n",
"4 67 685 3 \n",
"... ... ... ... \n",
"2997 117 1212 3 \n",
"2998 114 9981 3 \n",
"2999 151 1271 3 \n",
"3000 94 1521 3 \n",
"3001 94 22537 3 \n",
"\n",
" trace/prompt \\\n",
"0 <|im_start|>system\\n<|im_end|>\\n<|im_start|>us... \n",
"1 <|im_start|>system\\n<|im_end|>\\n<|im_start|>us... \n",
"2 <|im_start|>system\\n<|im_end|>\\n<|im_start|>us... \n",
"3 <|im_start|>system\\n<|im_end|>\\n<|im_start|>us... \n",
"4 <|im_start|>system\\n<|im_end|>\\n<|im_start|>us... \n",
"... ... \n",
"2997 <|im_start|>system\\n<|im_end|>\\n<|im_start|>us... \n",
"2998 <|im_start|>system\\n<|im_end|>\\n<|im_start|>us... \n",
"2999 <|im_start|>system\\n<|im_end|>\\n<|im_start|>us... \n",
"3000 <|im_start|>system\\n<|im_end|>\\n<|im_start|>us... \n",
"3001 <|im_start|>system\\n<|im_end|>\\n<|im_start|>us... \n",
"\n",
" trace/sample trace/index \\\n",
"0 <|im_start|>assistant\\n<think>\\n\\n</think>\\n\\n... 0 \n",
"1 <|im_start|>assistant\\n<think>\\n\\n</think>\\n\\n... 0 \n",
"2 <|im_start|>assistant\\n<think>\\n\\n</think>\\n\\n... 0 \n",
"3 <|im_start|>assistant\\n<think>\\n\\n</think>\\n\\n... 0 \n",
"4 <|im_start|>assistant\\n<think>\\n\\n</think>\\n\\n... 0 \n",
"... ... ... \n",
"2997 <|im_start|>assistant\\n<think>\\n\\n</think>\\n\\n... 2 \n",
"2998 <|im_start|>assistant\\n<think>\\n\\n</think>\\n\\n... 2 \n",
"2999 <|im_start|>assistant\\n<think>\\n\\n</think>\\n\\n... 2 \n",
"3000 <|im_start|>assistant\\n<think>\\n\\n</think>\\n\\n... 1 \n",
"3001 <|im_start|>assistant\\n<think>\\n\\n</think>\\n\\n... 2 \n",
"\n",
" sequence \\\n",
"0 9e02cd8b-2ed9-46cf-abb8-3ea37ea4205a \n",
"1 43a06035-8822-4c04-ac4f-2267f5fa13c8 \n",
"2 41cb0867-bea6-48d4-b942-7100f3b0e2a5 \n",
"3 9401fbb9-2b38-4e26-8c60-89144c8612c8 \n",
"4 2e0bf4df-662c-41c9-8038-8ad897c7ca89 \n",
"... ... \n",
"2997 dc6131c9-da0d-4707-a99a-21d9f9d7a48a \n",
"2998 23567486-fb1e-4570-b3b8-c8539db53713 \n",
"2999 cf5eab86-8260-4b35-ae66-047e2701b300 \n",
"3000 e8300fee-08a9-40dc-b7ba-01c366840e56 \n",
"3001 1714230c-7a30-487b-abc9-3d0da2ebb9bf \n",
"\n",
" sequence/instance_id sequence/score \n",
"0 guru-math__deepscaler_preview-10847 1.0 \n",
"1 guru-math__deepscaler_preview-10231 0.0 \n",
"2 guru-math__deepscaler_preview-126 1.0 \n",
"3 guru-math__deepscaler_preview-10261 1.0 \n",
"4 guru-math__deepscaler_preview-10398 1.0 \n",
"... ... ... \n",
"2997 guru-math__deepscaler_preview-4758 0.0 \n",
"2998 guru-math__deepscaler_preview-9999 0.0 \n",
"2999 guru-math__deepscaler_preview-5489 0.0 \n",
"3000 guru-math__deepscaler_preview-53022 1.0 \n",
"3001 guru-math__deepscaler_preview-53022 0.0 \n",
"\n",
"[3002 rows x 9 columns]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Overall statistics\n",
"num_instances = len(stats['sequence/instance_id'].unique()) # pyright: ignore[reportUnknownMemberType, reportUnknownArgumentType]\n",
"num_traces = len(stats)\n",
"score_mean = float(stats['sequence/score'].mean())\n",
"score_std = (\n",
" float(stats['sequence/score'].std(ddof=1)) if num_traces > 1 else 0.0\n",
")\n",
"score_sem = score_std / np.sqrt(num_traces) if num_traces else float('nan')\n",
"\n",
"prompt_len = stats['trace/prompt_len']\n",
"response_len = stats['trace/response_len']\n",
"prompt_median = float(prompt_len.median())\n",
"prompt_p95 = float(prompt_len.quantile(0.95)) # pyright: ignore[reportUnknownMemberType]\n",
"response_median = float(response_len.median())\n",
"response_p95 = float(response_len.quantile(0.95)) # pyright: ignore[reportUnknownMemberType]\n",
"\n",
"display(stats)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "43d385ca",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T19:27:25.410246Z",
"iopub.status.busy": "2025-12-10T19:27:25.410097Z",
"iopub.status.idle": "2025-12-10T19:27:25.417113Z",
"shell.execute_reply": "2025-12-10T19:27:25.416646Z"
}
},
"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>Outcome</th>\n",
" <th>Count</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Successes</td>\n",
" <td>1559</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Failures</td>\n",
" <td>1443</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Success Rate</td>\n",
" <td>51.9%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Failure Rate</td>\n",
" <td>48.1%</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Outcome Count\n",
"0 Successes 1559\n",
"1 Failures 1443\n",
"2 Success Rate 51.9%\n",
"3 Failure Rate 48.1%"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Outcome breakdown\n",
"total = len(stats)\n",
"successes = stats[stats['sequence/score'] == 1.0]\n",
"failures = stats[stats['sequence/score'] == 0.0]\n",
"success_rate = len(successes) / total * 100 if total else 0.0\n",
"failure_rate = len(failures) / total * 100 if total else 0.0\n",
"\n",
"num_successes = len(successes)\n",
"num_failures = len(failures)\n",
"\n",
"outcomes_df = pd.DataFrame({\n",
" 'Outcome': ['Successes', 'Failures', 'Success Rate', 'Failure Rate'],\n",
" 'Count': [\n",
" num_successes,\n",
" num_failures,\n",
" f'{success_rate:.1f}%',\n",
" f'{failure_rate:.1f}%',\n",
" ],\n",
"})\n",
"display(outcomes_df)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "82ff0a76",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T19:27:25.418389Z",
"iopub.status.busy": "2025-12-10T19:27:25.418239Z",
"iopub.status.idle": "2025-12-10T19:27:25.422036Z",
"shell.execute_reply": "2025-12-10T19:27:25.421520Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Inferred group_size=3 from data (mode=3, mean=3.00, max=4)\n"
]
}
],
"source": [
"# Infer group_size from data\n",
"group_size = metrics.infer_group_size(stats)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "318621d4",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T19:27:25.423296Z",
"iopub.status.busy": "2025-12-10T19:27:25.423150Z",
"iopub.status.idle": "2025-12-10T19:27:25.435733Z",
"shell.execute_reply": "2025-12-10T19:27:25.435246Z"
}
},
"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>Rank</th>\n",
" <th>Pass@N</th>\n",
" <th>Pass Rate</th>\n",
" <th>Incremental Lift</th>\n",
" <th>Successes</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>54.0%</td>\n",
" <td>54.0%</td>\n",
" <td>540</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>65.6%</td>\n",
" <td>11.6%</td>\n",
" <td>656</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>72.5%</td>\n",
" <td>6.9%</td>\n",
" <td>725</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Rank Pass@N Pass Rate Incremental Lift Successes\n",
"0 0 1 54.0% 54.0% 540\n",
"1 1 2 65.6% 11.6% 656\n",
"2 2 3 72.5% 6.9% 725"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Rank pass rates\n",
"rank_rates: list[models.RankPassRate] = []\n",
"total_instances = stats['sequence/instance_id'].nunique()\n",
"for rank in range(group_size):\n",
" subset = stats[stats['trace/index'] <= rank]\n",
" if subset.empty or total_instances == 0:\n",
" pass_rate = float('nan')\n",
" incremental_lift = float('nan')\n",
" successes_count = 0\n",
" else:\n",
" best_by_instance = subset.groupby('sequence/instance_id')[ # pyright: ignore[reportUnknownMemberType]\n",
" 'sequence/score'\n",
" ].max()\n",
" successes_count = int(best_by_instance.sum())\n",
" pass_rate = successes_count / total_instances\n",
" incremental_lift = pass_rate - (\n",
" rank_rates[-1].pass_rate if rank_rates else 0.0\n",
" )\n",
"\n",
" rank_rates.append(\n",
" models.RankPassRate(\n",
" rank=rank,\n",
" pass_rate=pass_rate,\n",
" incremental_lift=incremental_lift,\n",
" successes=successes_count,\n",
" )\n",
" )\n",
"\n",
"rank_rates_df = pd.DataFrame({\n",
" 'Rank': [rate.rank for rate in rank_rates],\n",
" 'Pass@N': [rate.rank + 1 for rate in rank_rates],\n",
" 'Pass Rate': [f'{rate.pass_rate:.1%}' for rate in rank_rates],\n",
" 'Incremental Lift': [f'{rate.incremental_lift:.1%}' for rate in rank_rates],\n",
" 'Successes': [rate.successes for rate in rank_rates],\n",
"})\n",
"display(rank_rates_df)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "85f4c5ee",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T19:27:25.436925Z",
"iopub.status.busy": "2025-12-10T19:27:25.436779Z",
"iopub.status.idle": "2025-12-10T19:27:25.443177Z",
"shell.execute_reply": "2025-12-10T19:27:25.442695Z"
}
},
"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>Successes</th>\n",
" <th>Count</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>275</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>193</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
" <td>231</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3</td>\n",
" <td>300</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Successes Count\n",
"0 0 275\n",
"1 1 193\n",
"2 2 231\n",
"3 3 300"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Success buckets (distribution of successes per instance)\n",
"successes_per_instance = (\n",
" stats.groupby('sequence/instance_id')['sequence/score'] # pyright: ignore[reportUnknownMemberType]\n",
" .sum()\n",
" .astype(int)\n",
")\n",
"success_buckets = [\n",
" models.SuccessBucket(\n",
" successes=successes,\n",
" count=int((successes_per_instance == successes).sum()),\n",
" )\n",
" for successes in range(group_size + 1)\n",
"]\n",
"\n",
"success_buckets_df = pd.DataFrame({\n",
" 'Successes': [bucket.successes for bucket in success_buckets],\n",
" 'Count': [bucket.count for bucket in success_buckets],\n",
"})\n",
"display(success_buckets_df)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "a8a8525b",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T19:27:25.444370Z",
"iopub.status.busy": "2025-12-10T19:27:25.444226Z",
"iopub.status.idle": "2025-12-10T19:27:25.552831Z",
"shell.execute_reply": "2025-12-10T19:27:25.552270Z"
}
},
"outputs": [
{
"data": {
"image/png": "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hYiIiEh3aTSnydPTE0FBQTh+/DiaNWsGU1NTldf1eZ0mIiIiqpw0Ck0bN26ElZUVwsPDER4ervKaTCZjaCIiIqJKR6PQFB0dre1+EBEREek0jeY0EREREekbhiYiIiIiNTA0EREREamBoYmIiIhIDQxNRERERGrQKDSFhITgr7/+krZXrVqFxo0bY8iQIUhMTNRa54iIiIh0hUahaerUqUhJSQEAXLhwAR9++CF69uyJ6OhoBAQEaLWDRERERLpA43WaGjRoAADYtWsXXn31VXz++ec4c+YMevbsqdUOEhEREekCjUaajI2NkZGRAQA4dOgQunXrBgCwtraWRqCIiIiIKhONRpratm2LgIAA+Pr64p9//sGPP/4IAIiMjESNGjW02kEiIiIiXaDRSNPKlStRpUoV7Ny5E2vWrEH16tUBAPv370f37t212kEiIiIiXaDRSFPNmjWxb9++IvuXLVv2wh0iIiIi0kUajTSdOXMGFy5ckLb37t2Lfv364ZNPPkFOTo7WOkdERESkKzQKTe+++y4iIyMBADdu3MCgQYNQtWpV7NixAx999JFWO0hERESkCzQKTZGRkWjcuDEAYMeOHWjfvj2+//57bNq0Cbt27dJm/4iIiIh0gkahSQgBpVIJoGDJgcK1mVxcXBAfH6+93hERERHpCI1CU/PmzTF37lx8++23OHr0KHr16gWgYNFLBwcHrXaQiIiISBdoFJqWL1+OM2fOYOLEifj0009Ru3ZtAMDOnTvRpk0brXaQiIiISBdotOSAt7e3yt1zhRYvXgxDQ8MX7hQRERGRrtFopAkAkpKSsGHDBkyfPh2PHj0CAFy+fBmxsbFa6xwRERGRrtBopOn8+fPo0qULrKyscPPmTbzzzjuwtrbGTz/9hNu3b2PLli3a7icRERFRudJopCkgIAAjR47EtWvXoFAopP09e/bEsWPHtNY5IiIiIl2hUWg6deoU3n333SL7q1evjpiYmBfuFBEREZGu0Sg0yeVypKSkFNkfGRkJOzu7F+4UERERka7RKDT16dMHQUFByM3NBQDIZDLcvn0bH3/8Mfr376/VDhIRERHpAo1C0xdffIG0tDTY29sjMzMTHTp0QO3atWFubo558+Zpu49ERERE5U6j0GRpaYmDBw9i3759WLFiBSZOnIjffvsNR48ehampqbb7KFmwYAFkMhkmT54s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9mwhhBA7duwQFhYW4rfffhO3bt0SYWFhYt26dSV+L2bNmiVMTU1F586dxdmzZ8XRo0dF7dq1xZAhQ6Q23333nXBychK7du0SN27cELt27RLW1tZi06ZNQgghoqOjBQBRq1Ytqc39+/eL/TwAwsbGRqxfv15ERESIzz77TBgaGorLly8/81hLly4VFhYW4ocffhBXr14VH330kTAyMhKRkZEq76tRo4bYuXOnuHz5shgzZowwNzcX8fHxKt/vxMREIYQQ169fF6ampmLZsmUiMjJSHD9+XDRp0kSMGDFC6q+rq6uwtrYWa9eulc6hhYWF6N69u9i+fbuIiIgQ/fr1E/Xr1xdKpVKlVgcHBxEcHFzi956oomJoIqpgCkOTEEK0bt1ajBo1SgihXmiytLQUW7ZsUdlnbm4uhQB19OrVS3z44YfSdocOHUTbtm2l7by8PGFqaireeustad+DBw8EAHHixAkhxH9/iW/btk1qk5CQIExMTMSPP/4ohCgamrp06SI+//xzlb58++23wsnJSQghxBdffCHq1Kkjha7nmTVrljA0NBR3796V9u3fv18YGBiIBw8eCCGE8PDwEN9//73K++bMmSN8fHyEEP8FluXLlz/38wCI9957T2Vfq1atxLhx4555LGdnZzFv3jyVfS1atBDjx49Xed+TYTg3N1fUqFFDLFy4UAhRNDSNHj1ajB07VuWYf/75pzAwMBCZmZlCiILQNGzYMOn1wnM4Y8YMad+JEycEAOn7VahJkyZSmCWqTHh5jqgCW7hwITZv3owrV66o1T4zM1Pl0hwABAQEYMyYMfDz88OCBQtULqvk5+djzpw58PLygrW1NczMzPD777/j9u3bKsfw9vaWvjY0NISNjQ28vLykfQ4ODgCA2NhYlff5+PhIX1tbW6Nu3bol1vLvv/8iKCgIZmZm0p933nkHDx48QEZGBt58801kZmbC3d0d77zzDnbv3i1duitJzZo1Ub16dZX+KJVKREREID09HVFRURg9erTKZ86dO7fIpafmzZs/83OKq7dw++l6nzxWSkoK7t+/D19fX5U2vr6+Rd735LGrVKmC5s2bP/N7uWnTJpW6/P39oVQqER0dLbV78rwWnkN1zquJiQkyMjKK/WyiiqxKeXeAiDTXvn17+Pv7Y/r06RgxYsRz29va2haZPD579mwMGTIEv/76K/bv349Zs2Zh27ZteO2117B48WJ8+eWXWL58Oby8vGBqaorJkycjJydH5RhGRkYq2zKZTGVf4V19L3IrelpaGgIDA/H6668XeU2hUMDFxQURERE4dOgQDh48iPHjx2Px4sU4evRokf6p+3kAsH79erRq1UrltafvPDQ1NS318UuizWOVJC0tDe+++26xc75q1qwpfV3cOVTnvD569Ah2dnZa7TORLmBoIqrgFixYgMaNG6Nu3brPbdukSRNcvny5yP46deqgTp06mDJlCgYPHozg4GC89tprOH78OPr27Ythw4YBKPjLMTIyEg0aNNBK30+ePCn9JZ2YmIjIyEjUr1+/2LZNmzZFREQEateuXeLxTExM0Lt3b/Tu3RsTJkxAvXr1cOHCBTRt2rTY9rdv38b9+/fh7Ows9cfAwAB169aFg4MDnJ2dcePGDQwdOvQFK4V0/Lfffltlu0mTJiW2t7CwgLOzM44fP44OHTpI+48fP46WLVsWOXb79u0BAHl5eQgPD8fEiROLPW7Tpk1x+fLlZ34vNZWVlYWoqKhn1kVUUTE0EVVwXl5eGDp0qFq3efv7+2Pz5s3SdmZmJqZOnYo33ngDbm5uuHv3Lk6dOiUtSeDp6YmdO3fi77//RrVq1bB06VI8fPhQa6EpKCgINjY2cHBwwKeffgpbW1v069ev2LYzZ87Eq6++ipo1a+KNN96AgYEB/v33X1y8eBFz587Fpk2bkJ+fj1atWqFq1ar47rvvYGJiAldX1xI/X6FQYPjw4ViyZAlSUlIwadIkDBgwAI6OjgCAwMBATJo0CZaWlujevTuys7Nx+vRpJCYmIiAgoNT17tixA82bN0fbtm2xdetW/PPPP9i4ceMz3zN16lTMmjULHh4eaNy4MYKDg3Hu3Lkid+mtWrUKnp6eqF+/PpYtW4bExESMGjWq2GN+/PHHaN26NSZOnIgxY8bA1NQUly9fxsGDB7Fy5cpS1/WkkydPQi6XF7kUSVQZcE4TUSUQFBSk1qWvoUOH4tKlS4iIiABQcJkpISEBb7/9NurUqYMBAwagR48eCAwMBAB89tlnaNq0Kfz9/dGxY0c4OjqWGGo0sWDBAnzwwQdo1qwZYmJi8Msvv8DY2LjYtv7+/ti3bx8OHDiAFi1aoHXr1li2bJkUiqysrLB+/Xr4+vrC29sbhw4dwi+//AIbG5sSP7927dp4/fXX0bNnT3Tr1g3e3t4qSwqMGTMGGzZsQHBwMLy8vNChQwds2rQJbm5uGtUbGBiIbdu2wdvbG1u2bMEPP/zw3AA6adIkBAQE4MMPP4SXlxdCQkLw888/w9PTU6XdggULsGDBAjRq1Ah//fUXfv75Z9ja2hZ7TG9vbxw9ehSRkZFo164dmjRpgpkzZ0ojbi/ihx9+wNChQ1G1atUXPhaRrpEJIUR5d4KIXp6pU6ciJSUFX3/9dbn1ITQ0FJ06dUJiYmK5PSpl9uzZ2LNnzzMfP6JNMpkMu3fv1mro1DXx8fGoW7cuTp8+rXGwJNJlHGki0jOffvopXF1d+Xww0rqbN29i9erVDExUaXFOE5GesbKywieffFLe3aBKqHnz5movv0BUEfHyHBEREZEaeHmOiIiISA0MTURERERqYGgiIiIiUgNDExEREZEaGJqIiIiI1MDQRERERKQGhiYiIiIiNTA0EREREamBoYmIiIhIDf8H9q1nFJZL0RkAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 600x400 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Pass@N progression\n",
"\n",
"pass_points = [(rate.rank + 1, rate.pass_rate) for rate in rank_rates]\n",
"if pass_points:\n",
" fig, ax = plt.subplots(figsize=(6, 4)) # pyright: ignore[reportUnknownMemberType]\n",
" ns = [n for n, _ in pass_points]\n",
" vals = [v * 100 for _, v in pass_points]\n",
" ax.plot(ns, vals, marker='o', color='#1f77b4', linewidth=2) # pyright: ignore[reportUnknownMemberType]\n",
" for n, pct in zip(ns, vals, strict=True):\n",
" ax.text(n, pct + 0.5, f'{pct:.1f}%', ha='center', va='bottom') # pyright: ignore[reportUnknownMemberType]\n",
" ax.set_title('Pass@N progression') # pyright: ignore[reportUnknownMemberType]\n",
" ax.set_xlabel('N (samples per problem)') # pyright: ignore[reportUnknownMemberType]\n",
" ax.set_ylabel('Success rate (%)') # pyright: ignore[reportUnknownMemberType]\n",
" ax.set_ylim(0, 100)\n",
" ax.grid(alpha=0.3) # pyright: ignore[reportUnknownMemberType]\n",
" fig.tight_layout()\n",
" plt.show() # pyright: ignore[reportUnknownMemberType]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "1aa1bf8f",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T19:27:25.554167Z",
"iopub.status.busy": "2025-12-10T19:27:25.554003Z",
"iopub.status.idle": "2025-12-10T19:27:25.796383Z",
"shell.execute_reply": "2025-12-10T19:27:25.795875Z"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAHqCAYAAADVi/1VAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAnnJJREFUeJzs3Xd4FOXax/Hf1vRCIIVQI0WqoiAYQUXhgIAeESwoKiCCRwFFFBUVC4oIKiKIYAUs2OuxoIgookhTsOBBQAEVQpCSkIQkW+b9I28WlxBSTHYy5Pu5rr18dnaemXs2iXNzzzPP2AzDMAQAAAAAAACEkN3sAAAAAAAAAFD7UJQCAAAAAABAyFGUAgAAAAAAQMhRlAIAAAAAAEDIUZQCAAAAAABAyFGUAgAAAAAAQMhRlAIAAAAAAEDIUZQCAAAAAABAyFGUAgAAAAAAQMhRlAIQcvPnz5fNZtPWrVvNDuWotm7dKpvNpocffrhKt3uk4+/evbu6d+9epfspjc1m0z333BN4f88998hms+mvv/4Kyf6bNm2qoUOHhmRfAAAcy4pzlfnz55sdSpmaNm2qc889t0q3eaTjL85rQuHw/O3zzz+XzWbTG2+8EZL9Dx06VE2bNg3JvoDqQlEKCLHigkTxKzw8XC1bttTo0aO1a9cus8OrlB07duiee+7RunXrzA6lUj788MOgIo1VfP3117rnnnu0f/9+s0MpoSbHBgAwx+E5kNPpVIMGDTR06FD9+eefZoeHKrBhwwbdc889Nf7C4+Fqci5bk2MDqoLT7ACA2mrSpElKS0tTfn6+li9frjlz5ujDDz/Ujz/+qMjISLPDq5AdO3bo3nvvVdOmTdWhQwezw6mwDz/8ULNnzza1MPXJJ59UuM/XX3+te++9V0OHDlV8fHy5+x08eFBOZ/X+7/9osW3cuFF2O9dEAKC2+nsO9M0332j+/Plavny5fvzxR4WHh5sdHv6BDRs26N5771X37t1NG8Fz55136rbbbqtQn8rmspXJ3yrqaLE9/fTT8vv91R4DUJ0oSgEm6dOnjzp16iRJuvrqq1W3bl1Nnz5d7777ri699NIj9snNzVVUVFQow0SIuN3uat2+3+9XYWGhwsPDTU/4w8LCTN0/AMBch+dA9erV09SpU/Xee+/p4osvNjk6WJ3T6az2i295eXmKjIys9vytLC6Xy9T9A1WBS9VADXH22WdLkn777TdJRfeIR0dHa8uWLerbt69iYmI0ePBgSUXFqZtuukmNGjVSWFiYjj/+eD388MMyDCNomzabTaNHj9brr7+uNm3aKCIiQunp6frhhx8kSU8++aSaN2+u8PBwde/evcRQ6+7du6tdu3Zau3atTjvtNEVERCgtLU1z584NrPP555/rlFNOkSQNGzYsMCS/MnMbfPTRRzr99NMVFRWlmJgY9evXTz/99FPQOsXfy59//qn+/fsrOjpaiYmJuvnmm+Xz+YLW3bNnj6644grFxsYqPj5eQ4YM0fr164PiGzp0qGbPnh34vopfh3vqqafUrFkzhYWF6ZRTTtHq1avLdUw//fSTzj77bEVERKhhw4a6//77j3hF60hzSs2aNUtt27ZVZGSk6tSpo06dOmnhwoWSiuZLGD9+vCQpLS0tEHfxz7D4Z//SSy+pbdu2CgsL06JFiwKfHWlU2F9//aWLL75YsbGxqlu3rm644Qbl5+cHPj/avBV/32ZZsR1pTqlff/1VF110kRISEhQZGalTTz1VH3zwQdA6xfM0vPbaa5o8ebIaNmyo8PBw9ejRQ5s3by4REwDAGk4//XRJ0pYtW4KW/+9//9OFF16ohIQEhYeHq1OnTnrvvfeC1vF4PLr33nvVokULhYeHq27duurWrZsWL14cWKc4d/j111/Vu3dvRUVFKTU1VZMmTSqRO1U0x3rnnXfUrl07hYWFqW3btoFzbbEDBw5o7Nixatq0qcLCwpSUlKR//etf+vbbb4PWW7lypc455xzFxcUpMjJSZ555pr766qvKfaHl/O6Kb6f86quvNG7cOCUmJioqKkoXXHCBdu/eHbSu3+/XPffco9TUVEVGRuqss87Shg0bgs7p8+fP10UXXSRJOuusswLn/88//zxoW8uXL1fnzp0VHh6u4447Ts8//3y5jmn//v0aOnSo4uLiAnndkaYJONKcUosXL1a3bt0UHx+v6OhoHX/88br99tsllZ3L/j0fPuOMMxQZGRnoW9qcoD6fT7fffrtSUlIUFRWlf//73/r999+D1iltjs2/b7Os2I40p1RV/w4D1Y2RUkANUZyI1a1bN7DM6/Wqd+/e6tatmx5++GFFRkbKMAz9+9//1tKlSzV8+HB16NBBH3/8scaPH68///xTjz76aNB2v/zyS7333nsaNWqUJGnKlCk699xzdcstt+iJJ57Qddddp3379mnatGm66qqr9NlnnwX137dvn/r27auLL75Yl156qV577TVde+21crvduuqqq9S6dWtNmjRJd911l0aOHBlILE877bQKHf8LL7ygIUOGqHfv3po6dary8vI0Z84cdevWTd99913QCdfn86l3797q0qWLHn74YX366ad65JFH1KxZM1177bWSipKn8847T6tWrdK1116rVq1a6d1339WQIUOC9nvNNddox44dWrx4sV544YUjxrZw4UIdOHBA11xzjWw2m6ZNm6YBAwbo119/PeoVqoyMDJ111lnyer267bbbFBUVpaeeekoRERFlfh9PP/20rr/+el144YWB4tD333+vlStX6rLLLtOAAQP0yy+/6OWXX9ajjz6qevXqSZISExMD2/jss8/02muvafTo0apXr16Zw+gvvvhiNW3aVFOmTNE333yjmTNnat++feVOFouVJ7a/27Vrl0477TTl5eXp+uuvV926dbVgwQL9+9//1htvvKELLrggaP0HH3xQdrtdN998s7KysjRt2jQNHjxYK1eurFCcAICaofiiRZ06dQLLfvrpJ3Xt2lUNGjQInENfe+019e/fX2+++Wbg3HDPPfdoypQpuvrqq9W5c2dlZ2drzZo1+vbbb/Wvf/0rsD2fz6dzzjlHp556qqZNm6ZFixbp7rvvltfr1aRJkySpwjnW8uXL9dZbb+m6665TTEyMZs6cqYEDB2r79u2BfO4///mP3njjDY0ePVpt2rTRnj17tHz5cv388886+eSTJRWdr/v06aOOHTvq7rvvlt1u17x583T22Wfryy+/VOfOnSv0fZb3uys2ZswY1alTR3fffbe2bt2qGTNmaPTo0Xr11VcD60yYMEHTpk3Teeedp969e2v9+vXq3bt30MWrM844Q9dff71mzpyp22+/Xa1bt5akwH8lafPmzbrwwgs1fPhwDRkyRM8995yGDh2qjh07qm3btqUek2EYOv/887V8+XL95z//UevWrfX222+XyOtK+z7OPfdcnXDCCZo0aZLCwsK0efPmQNGvPLnsnj171KdPHw0aNEiXX365kpOTj7rPyZMny2az6dZbb1VmZqZmzJihnj17at26deXKA4tVNM+ujt9hoNoZAEJq3rx5hiTj008/NXbv3m38/vvvxiuvvGLUrVvXiIiIMP74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t9+6/eeoUaMkIyNDdu7cKUFBQU57W/V58+bJ/v37JS8vT7KysmTevHmiUqnkP//5j4goL9/b+fnd90SUmfPs2bNl3759kpeXJ6mpqRIfHy+BgYFSXFwsIsrL+fDhw6LVamXJkiVy6tQp+eSTT8TLy0s2bNhgbqPEfZjRaJSIiAiZO3duo21KG2ORm3cp6tSpk2zfvl3y8vJky5YtEhgYKK+++qq5jRLHmW5S0pzLVdjjWHLrFulz5syR48ePy+rVqxvdIp0as8e8vaysTEJCQuTpp5+WnJwcSUlJES8vL1m3bp25TWpqqmi1Wnn33Xfl+PHjsmjRItHpdJKdnW2/N8OJ3WmcKisr5ZVXXpG0tDTJy8uTb775RgYNGiRRUVFSU1Njfg6OU/uz12fCluzveKxrHotSt7Fq1SqJiIgQvV4vQ4cOle+++87RIVll7969AqDRkpSUJCI3by/7xhtvSEhIiBgMBomLi5Pc3FyL5ygpKZGJEyeKt7e3+Pj4yOTJk6WystIB2bTM7fIFIMnJyeY2N27ckBdffFH8/f3Fy8tLHnnkEbl06ZLF8+Tn58uYMWPE09NTAgMDZfbs2VJfX2/nbFpmypQpEhkZKXq9XoKCgiQuLs5ckBJRXr6388uilBJznjBhgoSFhYler5dOnTrJhAkT5PTp0+btSsz53//+t9x7771iMBgkOjpaPvjgA4vtStyHff311wKgUR4iyhzjiooKmTFjhkRERIiHh4d0795dXnvtNYvbYCtxnOknSplzuQp7HUv27t0rAwYMEL1eL927d7eYh9Ht2WvenpmZKSNGjBCDwSCdOnWSZcuWNYpl06ZNcvfdd4ter5c+ffrIl19+2W55u5o7jVN1dbWMGjVKgoKCRKfTSWRkpDz33HONig8cp/Znz8+ELdnf8Vh3ZyoRETuckEVERERERERERGTGa0oREREREREREZHdsShFRERERERERER2x6IUERERERERERHZHYtSRERERERERERkdyxKERERERERERGR3bEoRUREREREREREdseiFBERERERERER2R2LUkREREREREREZHcsShGRW8vPz4dKpUJGRoajQyEiIiJyOpwrEVF7YlGKiFyeSqW64/Lmm286OkQiIiIih+FciYicldbRARAR2erSpUvmnzdu3IiFCxciNzfXvM7b29sRYRERERE5Bc6ViMhZ8UwpInJ5oaGh5sXX1xcqlcr8ODg4GMuXL0fnzp1hMBgwYMAA7Ny5s8nnMhqNmDJlCqKjo1FYWAgA+OKLLzBo0CB4eHige/fuWLx4MRoaGsx9VCoVPvzwQzzyyCPw8vJCVFQUtm3bZt5+7do1JCYmIigoCJ6enoiKikJycnL7vSFEREREP8O5EhE5KxaliEjRVq5ciffeew/vvvsusrKykJCQgPHjx+PUqVON2tbW1uLxxx9HRkYGDhw4gIiICBw4cADPPPMMZsyYgWPHjmHdunVYv349lixZYtF38eLFeOKJJ5CVlYWxY8ciMTERpaWlAIA33ngDx44dw44dO3D8+HGsWbMGgYGBdsmfiIiI6E44VyIihxIiIgVJTk4WX19f8+Pw8HBZsmSJRZv77rtPXnzxRRERycvLEwBy4MABiYuLkxEjRkhZWZm5bVxcnLz11lsW/T/++GMJCwszPwYgr7/+uvlxVVWVAJAdO3aIiMiDDz4okydPbrMciYiIiKzFuRIRORNeU4qIFKuiogIXL17E8OHDLdYPHz4cmZmZFusmTpyIzp07Y8+ePfD09DSvz8zMRGpqqsW3fUajETU1NaiuroaXlxcAoF+/fubtHTp0gI+PD4qLiwEAU6dOxWOPPYYff/wRo0aNwsMPP4xhw4a1eb5ERERErcG5EhE5Gv99j4gIwNixY5GVlYW0tDSL9VVVVVi8eDEyMjLMS3Z2Nk6dOgUPDw9zO51OZ9FPpVLBZDIBAMaMGYOCggK8/PLLuHjxIuLi4vDKK6+0f1JEREREbYRzJSJqDyxKEZFi+fj4IDw8HKmpqRbrU1NT0bt3b4t1U6dOxbJlyzB+/Hjs37/fvH7QoEHIzc1Fz549Gy1qdct3oUFBQUhKSsKGDRuwYsUKfPDBB7YlR0RERGQjzpWIyNH473tEpGhz5szBokWL0KNHDwwYMADJycnIyMjAJ5980qjtH//4RxiNRjzwwAPYsWMHRowYgYULF+KBBx5AREQEfvvb30KtViMzMxM5OTn4y1/+0qIYFi5ciMGDB6NPnz6ora3F9u3bcc8997R1qkREREStxrkSETkSi1JEpGgvvfQSysvLMXv2bBQXF6N3797Ytm0boqKibtt+5syZMJlMGDt2LHbu3ImEhARs374df/rTn/DXv/4VOp0O0dHRePbZZ1scg16vx/z585Gfnw9PT0+MHDkSKSkpbZUiERERkdU4VyIiR1KJiDg6CCIiIiIiIiIici+8phQREREREREREdkdi1JERERERERERGR3LEoREREREREREZHdsShFRERERERERER2x6IUERERERERERHZHYtSRERERERERERkdyxKERERERERERGR3bEoRUREREREREREdseiFBERERERERER2R2LUkREREREREREZHcsShERERERERERkd2xKEVERERERERERHb3v5o98toQ2/z0AAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 1200x500 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Token length distributions\n",
"\n",
"fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 5)) # pyright: ignore[reportUnknownMemberType]\n",
"prompt_lengths = stats['trace/prompt_len']\n",
"response_lengths = stats['trace/response_len']\n",
"\n",
"ax1.hist(\n",
" prompt_lengths,\n",
" bins=30,\n",
" color='#1f77b4',\n",
" alpha=0.75,\n",
" edgecolor='black',\n",
")\n",
"ax1.axvline(float(prompt_len.mean()), color='red', linestyle='--', label='mean')\n",
"ax1.axvline(prompt_p95, color='purple', linestyle=':', label='p95')\n",
"ax1.set_title('Prompt length distribution')\n",
"ax1.set_xlabel('Tokens')\n",
"ax1.set_ylabel('Frequency')\n",
"ax1.legend()\n",
"ax1.grid(alpha=0.3, axis='y')\n",
"\n",
"ax2.hist(\n",
" response_lengths,\n",
" bins=30,\n",
" color='#ff7f0e',\n",
" alpha=0.75,\n",
" edgecolor='black',\n",
")\n",
"ax2.axvline(\n",
" float(response_len.mean()), color='red', linestyle='--', label='mean'\n",
")\n",
"ax2.axvline(response_p95, color='purple', linestyle=':', label='p95')\n",
"ax2.set_title('Response length distribution')\n",
"ax2.set_xlabel('Tokens')\n",
"ax2.legend()\n",
"ax2.grid(alpha=0.3, axis='y')\n",
"\n",
"fig.tight_layout()\n",
"plt.show() # pyright: ignore[reportUnknownMemberType]"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "fe65ba77",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T19:27:25.797798Z",
"iopub.status.busy": "2025-12-10T19:27:25.797649Z",
"iopub.status.idle": "2025-12-10T19:27:25.884110Z",
"shell.execute_reply": "2025-12-10T19:27:25.883556Z"
}
},
"outputs": [
{
"data": {
"image/png": "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iIiISBuVe+TwzMxMfPPNNwgODsadO3cAAH/++afaCN5EREREVUm5zjidPXsWXbt2hbm5OZKTkzFmzBhYWFhgx44dSElJwXfffVfRcRIRERFpXLnOOAUFBWHkyJFISkqCgYGBVN6jRw/ExsZWWHBERERE2qRcidOJEyfwwQcflCivVauW9L45IiIioqqmXImTUqlEdnZ2ifK//voLlpaWLx0UERERkTYqV+LUu3dvzJkzBwUFBQAAhUKBlJQUTJ06FQMGDKjQAImIiIi0RbkSpyVLliAnJwdWVlZ48OABOnfujPr168PU1BTz58+v6BiJiIiItEK5nqpTqVSIiorC0aNHcebMGeTk5OCtt96Cl5dXRcdHREREpDXKlTgV69ChAzp06FBRsRARERFptXJdqpswYQJWrFhRovzLL7/ExIkTXzYmIiIiIq1UrsRp+/btpZ5pat++PbZt2/bSQRERERFpo3IlTrdv34ZKpSpRbmZmhlu3br10UERERETaqFyJU/369REZGVmifM+ePahXr95LB0VERESkjcp1c3hQUBACAwORkZEBT09PAMCBAwewZMkSLFu2rCLjIyIiItIa5UqcRo0ahby8PMyfPx9z584FANStWxdhYWEYMWJEhQZIREREpC3KPRzBuHHjMG7cOGRkZMDQ0BAmJiYVGRcRERGR1nmpcZwA8N10RERE9MYo183h6enpGD58OOzs7FCtWjXo6uqqfYiIiIiqonKdcfL390dKSgpmzJgBW1tbKBSKio6LiIiISOuUK3E6cuQIDh8+jBYtWlRwOERERETaq1yX6uzt7SGEqOhYiIiIiLRauRKnZcuWYdq0aUhOTq7gcIiIiIi0V7ku1Q0ePBj379+Hk5MTjIyMoKenp1Z/586dCgmOiIiISJuUK3Hi6OBERET0JipX4uTn51fRcRARERFpvXLd4wQAV65cwfTp0zF06FDcvHkTwOOX/F64cKHCgiMiIiLSJuVKnGJiYtCsWTMcP34cO3bsQE5ODgDgzJkzCAkJqdAAiYiIiLRFuRKnadOmYd68eYiKioK+vr5U7unpiWPHjlVYcERERETapFyJ07lz59CvX78S5VZWVrh169ZLB0VERESkjcqVOJmbmyM1NbVE+enTp1GrVq2XDoqIiIhIG5UrcRoyZAimTp2KtLQ0KBQKFBUV4ejRo/jkk08wYsSI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RERERDIxcSIiIiKSiYkTERERkUxMnIiIiIhkYuJEREREJBMTJyIiIiKZmDgRERERycTEiYiIiEgmJk5EREREMjFxIiIiIpKJiRMRERGRTFqdOM2aNQsKhULt07hxY6n+4cOHCAgIQI0aNWBiYoIBAwYgPT1dgxETERFRVabViRMANGnSBKmpqdLnyJEjUt2kSZOwa9cubN26FTExMbhx4wb69++vwWiJiIioKqum6QCep1q1arCxsSlRnpWVhW+//RabNm2Cp6cnACA8PBzOzs44duwY2rVr96pDJSIioipO6884JSUlwc7ODvXq1cOwYcOQkpICAIiPj0dBQQG8vLykto0bN0adOnUQFxf3zD7z8vKQnZ2t9iEiIiJ6Hq1OnNzc3LB+/XpERkYiLCwMV69eRadOnXDv3j2kpaVBX18f5ubmavNYW1sjLS3tmf2GhoZCpVJJH3t7+0pcCyIiIqoqtPpSna+vr/Rz8+bN4ebmBgcHB/z0008wNDQsd7/BwcEICgqSprOzs5k8ERER0XNp9Rmnp5mbm6Nhw4a4fPkybGxskJ+fj8zMTLU26enppd4T9SSlUgkzMzO1DxEREdHzvFaJU05ODq5cuQJbW1u0atUKenp6OHDggFSfmJiIlJQUuLu7azBKIiIiqqq0+lLdJ598gl69esHBwQE3btxASEgIdHV1MXToUKhUKowePRpBQUGwsLCAmZkZxo8fD3d3dz5RR0RERJVCqxOn69evY+jQobh9+zYsLS3RsWNHHDt2DJaWlgCApUuXQkdHBwMGDEBeXh58fHywevVqDUdNREREVZVWJ06bN29+Zr2BgQFWrVqFVatWvaKIiIiI6E32Wt3jRERERKRJTJyIiIiIZGLiRERERCQTEyciIiIimZg4EREREcnExImIiIhIJiZORERERDIxcSIiIiKSiYkTERERkUxMnIiIiIhkYuJEREREJBMTJyIiIiKZmDgRERERycTEiYiIiEgmJk5EREREMjFxIiIiIpKJiRMRERGRTEyciIiIiGRi4kREREQkExMnIiIiIpmYOBERERHJxMSJiIiISCYmTkREREQyMXEiIiIikomJExEREZFMTJyIiIiIZGLiRERERCQTEyciIiIimZg4EREREcnExImIiIhIJiZORERERDIxcSIiIiKSiYkTERERkUxMnIiIiIhkYuJERERE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",
"text/plain": [
"<Figure size 600x400 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Success distribution per sequence\n",
"\n",
"if success_buckets:\n",
" fig, ax = plt.subplots(figsize=(6, 4)) # pyright: ignore[reportUnknownMemberType]\n",
" successes = [bucket.successes for bucket in success_buckets]\n",
" counts = [bucket.count for bucket in success_buckets]\n",
" ax.bar(successes, counts, color='#9467bd') # pyright: ignore[reportUnknownMemberType]\n",
" ax.set_xticks(successes) # pyright: ignore[reportUnknownMemberType]\n",
" ax.set_xlabel(f'Number of successful samples (out of {group_size})') # pyright: ignore[reportUnknownMemberType]\n",
" ax.set_ylabel('Sequences') # pyright: ignore[reportUnknownMemberType]\n",
" ax.set_title('Distribution of successes per sequence') # pyright: ignore[reportUnknownMemberType]\n",
" for s, c in zip(successes, counts, strict=True):\n",
" ax.text(s, c, f'{c}', ha='center', va='bottom') # pyright: ignore[reportUnknownMemberType]\n",
" fig.tight_layout()\n",
" plt.show() # pyright: ignore[reportUnknownMemberType]"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "275a3ab9",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T19:27:25.885424Z",
"iopub.status.busy": "2025-12-10T19:27:25.885270Z",
"iopub.status.idle": "2025-12-10T19:27:25.889044Z",
"shell.execute_reply": "2025-12-10T19:27:25.888498Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"=== Pass@N Progression ===\n",
"Pass@1: 54.0% (incremental lift: 54.0%)\n",
"Pass@2: 65.6% (incremental lift: 11.6%)\n",
"Pass@3: 72.5% (incremental lift: 6.9%)\n",
"\n",
"=== Success Distribution ===\n",
"0 successes: 275 sequences\n",
"1 successes: 193 sequences\n",
"2 successes: 231 sequences\n",
"3 successes: 300 sequences\n",
"\n",
"=== Token Length Statistics ===\n",
"Prompt - Mean: 112.5, P95: 215.0\n",
"Response - Mean: 1738.8, P95: 3965.4\n"
]
}
],
"source": [
"# Display key results\n",
"print('\\n=== Pass@N Progression ===')\n",
"for rate in rank_rates:\n",
" print(\n",
" f'Pass@{rate.rank + 1}: {rate.pass_rate:.1%} (incremental lift: {rate.incremental_lift:.1%})'\n",
" )\n",
"\n",
"print('\\n=== Success Distribution ===')\n",
"for bucket in success_buckets:\n",
" print(f'{bucket.successes} successes: {bucket.count} sequences')\n",
"\n",
"print('\\n=== Token Length Statistics ===')\n",
"print(f'Prompt - Mean: {float(prompt_len.mean()):.1f}, P95: {prompt_p95:.1f}')\n",
"print(\n",
" f'Response - Mean: {float(response_len.mean()):.1f}, P95: {response_p95:.1f}'\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "9f748d2f",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T19:27:25.890397Z",
"iopub.status.busy": "2025-12-10T19:27:25.890247Z",
"iopub.status.idle": "2025-12-10T19:27:26.989565Z",
"shell.execute_reply": "2025-12-10T19:27:26.989011Z"
},
"tags": [
"rl-scores"
]
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Created multiplexed session.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"INFO:projects/reflectionai/instances/dataprism/databases/production:Created multiplexed session.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"RL train collection: /swe-bench/online-rl/ethan-curious-port-11-07-train\n",
"RL test collection: /swe-bench/online-rl/ethan-curious-port-11-07-test\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Created multiplexed session.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Created multiplexed session.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"INFO:projects/reflectionai/instances/dataprism/databases/production:Created multiplexed session.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Retrieved 51 checkpoint scores from /swe-bench/online-rl/ethan-curious-port-11-07-train\n",
"First score: checkpoint_step=0, average_score=0.140\n",
"Last score: checkpoint_step=1250, average_score=0.774\n",
"RL start accuracy: 0.14\n",
"RL end accuracy: 0.77\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"RL completion length: 4875.7 tokens\n"
]
}
],
"source": [
"# Get RL training scores from trace storage and compute accuracy metrics\n",
"# Skip if rl_job_url is not provided\n",
"if config.rl_job_url is None:\n",
" print('RL job URL not provided, skipping RL scores analysis')\n",
" rl_start_accuracy = None\n",
" rl_end_accuracy = None\n",
" rl_completion_length = None\n",
"else:\n",
" # Extract experiment name from RL job URL\n",
" experiment_name = automation.extract_experiment_name_from_url(\n",
" config.rl_job_url\n",
" )\n",
"\n",
" # Get launch config for the experiment\n",
" launch_config_obj = automation.get_launch_config(experiment_name)\n",
"\n",
" # Extract train and test collection paths from launch config\n",
" # Assert they exist since they're required\n",
" assert config.rl_train_collection is not None, (\n",
" 'rl_train_collection is required'\n",
" )\n",
" assert config.rl_test_collection is not None, 'rl_test_collection is required'\n",
"\n",
" print(f'RL train collection: {config.rl_train_collection}')\n",
" print(f'RL test collection: {config.rl_test_collection}')\n",
"\n",
" # Get scores from trace storage (using train collection)\n",
" trace_storage = (\n",
" spanner_trace_storage.create_production_spanner_trace_storage()\n",
" )\n",
" scores = trace_storage.get_average_score_per_checkpoint_step(\n",
" config.rl_train_collection\n",
" )\n",
"\n",
" print(\n",
" f'Retrieved {len(scores)} checkpoint scores from {config.rl_train_collection}'\n",
" )\n",
" if scores:\n",
" start_score = scores[0]\n",
" end_score = scores[-1]\n",
" rl_start_accuracy = f'{start_score.average_score:.2f}'\n",
" rl_end_accuracy = f'{end_score.average_score:.2f}'\n",
"\n",
" print(\n",
" f'First score: checkpoint_step={start_score.checkpoint_step}, average_score={start_score.average_score:.3f}'\n",
" )\n",
" print(\n",
" f'Last score: checkpoint_step={end_score.checkpoint_step}, average_score={end_score.average_score:.3f}'\n",
" )\n",
" print(f'RL start accuracy: {rl_start_accuracy}')\n",
" print(f'RL end accuracy: {rl_end_accuracy}')\n",
" else:\n",
" print('Warning: No scores found')\n",
" rl_start_accuracy = None\n",
" rl_end_accuracy = None\n",
"\n",
" # Extract completion length from WandB if URL provided\n",
" rl_completion_length: float | None = None\n",
" if config.wandb_run_url:\n",
" experiment_name_wandb, run_id = automation.parse_wandb_run_url(\n",
" config.wandb_run_url\n",
" )\n",
"\n",
" api_key = os.environ.get('WANDB_API_KEY')\n",
" if api_key:\n",
" wandb.login(key=api_key)\n",
"\n",
" api = wandb.Api(timeout=60)\n",
" run = api.run(f'reflectionai/{experiment_name_wandb}/{run_id}') # pyright: ignore[reportUnknownVariableType]\n",
"\n",
" metric_name = 'steps/rendered/completion_length/mean'\n",
" summary = run.summary # pyright: ignore[reportUnknownMemberType, reportUnknownVariableType]\n",
" if metric_name in summary:\n",
" value = summary[metric_name] # pyright: ignore[reportUnknownVariableType]\n",
" if isinstance(value, (int, float)):\n",
" rl_completion_length = float(value)\n",
" print(f'RL completion length: {rl_completion_length:.1f} tokens')\n",
" else:\n",
" print(\n",
" f'Warning: Metric {metric_name} found but value is not numeric: {value}'\n",
" )\n",
" else:\n",
" print(f'Warning: Metric {metric_name} not found in WandB run summary')"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "c3c795a3",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T19:27:26.991268Z",
"iopub.status.busy": "2025-12-10T19:27:26.991113Z",
"iopub.status.idle": "2025-12-10T19:27:27.630330Z",
"shell.execute_reply": "2025-12-10T19:27:27.629785Z"
},
"tags": [
"rl-accuracy-curves"
]
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Created multiplexed session.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Created multiplexed session.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Created multiplexed session.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"INFO:projects/reflectionai/instances/dataprism/databases/production:Created multiplexed session.\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAHqCAYAAACZcdjsAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAr8dJREFUeJzs3Xd4U+XbwPFvRtM96KLMtrRlI3sjG0FcIIg4EHCAgrgVt4IirxvBAS5ABRUQ+LlAAWXvDTJbWja0pXSvjPP+ERpamrZJmrYpvT/XVU1OzniSE9pzn+d57lulKIqCEEIIIYQQQpSDuqobIIQQQgghhKj+JLAQQgghhBBClJsEFkIIIYQQQohyk8BCCCGEEEIIUW4SWAghhBBCCCHKTQILIYQQQgghRLlJYCGEEEIIIYQoNwkshBBCCCGEEOUmgYUQQgghhBCi3CSwEEK4nDfffBOVSuXQtvPmzUOlUpGQkODcRonrSnm+Y0IIIayTwEKI60TBBXXBj1arpV69eowZM4azZ88WW7937960bNnSrmNEREQUOUZJP/PmzXPSu6peCi5WC368vLxo3rw5r776Kunp6VXdvGpBvmPFVfZn8s4777B8+XK7tzt8+DAqlQoPDw9SU1Od0hYhRPWiUhRFqepGCCHKb968eYwdO5apU6cSGRlJbm4uW7duZd68eURERHDw4EE8PDws6/fu3Zvk5GQOHjxo8zGWL19OZmam5fmff/7Jjz/+yMcff0xwcLBlebdu3WjUqJHD78VgMGAwGIq011ZGoxG9Xo+7u3ul35F+8803mTJlCl988QU+Pj5kZmby999/s2zZMrp27cqmTZvkLnkZqsN3rLJV1mdSwMfHh+HDh9sdqLzyyit8++23XL58mU8//ZSHH3643G0RQlQv2qpugBDCuW6++WY6dOgAwMMPP0xwcDDvvvsuv/76KyNGjCjXvocMGVLk+YULF/jxxx8ZMmQIERERJW6XlZWFt7e3zcfRarVotY79etJoNGg0Goe2dZbhw4dbLvgeffRRhg0bxtKlS9m6dStdu3a1uk12djZeXl6V0j57z0dlqg7fscrm6GdSmRRFYeHChdx7773Ex8ezYMEClw0sXPn7L0R1J0OhhLjO3XjjjQDExcVVyvHGjBmDj48PcXFxDB48GF9fX+677z4ANmzYwF133UXDhg1xd3enQYMGPP300+Tk5BTZh7Xx7yqViscff5zly5fTsmVL3N3dadGiBStXriyynrU5FhEREdx6661s3LiRTp064eHhQaNGjfjuu++KtX///v306tULT09P6tevz9tvv83cuXPLNW+jb9++AMTHxwNXh6Ht2rWLnj174uXlxcsvvwxAYmIiDz30ELVr18bDw4PWrVszf/78Yvu8dOkSo0aNws/Pj4CAAEaPHs2+ffuKDYkp7XyYTCZmzJhBixYt8PDwoHbt2owfP57Lly8XOdbOnTsZOHAgwcHBeHp6EhkZyYMPPlhknZ9++on27dvj6+uLn58frVq14pNPPimyTlxcnFO+h1X9HbvWxYsX0Wq1TJkypdhrR48eRaVS8emnnwKg1+uZMmUKMTExeHh4EBQURI8ePVi1alV5PhIAfvjhB9q3b4+npyeBgYGMHDmS06dPF1nn+PHjDBs2jLCwMDw8PKhfvz4jR44kLS3N8hlkZWUxf/58yxCrMWPGlHnsTZs2kZCQwMiRIxk5ciTr16/nzJkzxdYzmUx88skntGrVCg8PD0JCQhg0aBA7d+4s9l46deqEl5cXtWrVomfPnvz999+W11UqFW+++Wax/UdERBRpb8Hvg3Xr1jFhwgRCQ0OpX78+ACdPnmTChAk0adIET09PgoKCuOuuu6z+O09NTeXpp58mIiICd3d36tevzwMPPEBycjKZmZl4e3vz5JNPFtvuzJkzaDQapk+fXuZnKMT1oHrcrhFCOKzgj2StWrUq7ZgGg4GBAwfSo0cPPvjgA8ud+MWLF5Odnc1jjz1GUFAQ27dvZ9asWZw5c4bFixeXud+NGzeydOlSJkyYgK+vLzNnzmTYsGGcOnWKoKCgUreNjY1l+PDhPPTQQ4wePZpvv/2WMWPG0L59e1q0aAHA2bNn6dOnDyqVipdeeglvb2++/vpr3N3dy/V5FFxMF27jpUuXuPnmmxk5ciT3338/tWvXJicnh969exMbG8vjjz9OZGQkixcvZsyYMaSmplouXEwmE7fddhvbt2/nscceo2nTpvzvf/9j9OjRVo9f0vkYP368ZQjdE088QXx8PJ9++il79uxh06ZNuLm5kZiYyE033URISAgvvvgiAQEBJCQksHTpUsv+V61axT333EO/fv149913AfN4+02bNhW52OrXrx+AUybWu9J3rHbt2vTq1YtFixbxxhtvFHnt559/RqPRcNdddwHmgGb69Ok8/PDDdOrUifT0dHbu3Mnu3bsZMGCAw5/HtGnTeO211xgxYgQPP/wwSUlJzJo1i549e7Jnzx4CAgLIz89n4MCB5OXlMWnSJMLCwjh79iy///47qamp+Pv78/3331vaNm7cOACioqLKPP6CBQuIioqiY8eOtGzZEi8vL3788Ueef/75Ius99NBDzJs3j5tvvpmHH34Yg8HAhg0b2Lp1q6WndcqUKbz55pt069aNqVOnotPp2LZtG//88w833XSTQ5/PhAkTCAkJ4fXXXycrKwuAHTt2sHnzZkaOHEn9+vVJSEjgiy++oHfv3hw6dMjyncrMzOTGG2/k8OHDPPjgg7Rr147k5GR+/fVXzpw5Q5s2bRg6dCg///wzH330UZEe0x9//BFFUSyBrxDXPUUIcV2YO3euAiirV69WkpKSlNOnTytLlixRQkJCFHd3d+X06dNF1u/Vq5fSokWLch3z/fffVwAlPj7esmz06NEKoLz44ovF1s/Ozi62bPr06YpKpVJOnjxpWfbGG28o1/56AhSdTqfExsZalu3bt08BlFmzZlmWFXwOhdsUHh6uAMr69estyxITExV3d3fl2WeftSybNGmSolKplD179liWXbp0SQkMDCy2T2sK2n306FElKSlJiY+PV+bMmaO4u7srtWvXVrKyshRFMX/2gDJ79uwi28+YMUMBlB9++MGyLD8/X+natavi4+OjpKenK4qiKL/88osCKDNmzLCsZzQalb59+yqAMnfuXMvyks7Hhg0bFEBZsGBBkeUrV64ssnzZsmUKoOzYsaPE9/3kk08qfn5+isFgKPXzCQ8PV8LDw0td51qu+B2zZs6cOQqgHDhwoMjy5s2bK3379rU8b926tXLLLbeUuq+yXPuZJCQkKBqNRpk2bVqR9Q4cOKBotVrL8j179iiAsnjx4lL37+3trYwePdrm9uTn5ytBQUHKK6+8Yll27733Kq1bty6y3j///KMAyhNPPFFsHyaTSVEURTl+/LiiVquVoUOHKkaj0eo6imI+V2+88Uax/YSHhxdpe8Hvgx49ehT7flr7rmzZskUBlO+++86y7PXXX1cAZenSpSW2+6+//lIAZcWKFUVev+GGG5RevXoV206I65UMhRLiOtO/f39CQkJo0KABw4cPx9vbm19//dXS/V9ZHnvssWLL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kpKUe++9V/H19VX8/f2VMWPGKJs2bVIA5aeffrKsV9r5UBRF+fLLL5X27dsrnp6eiq+vr9KqVSvlhRdeUM6dO6coiqLs3r1bueeee5SGDRsq7u7uSmhoqHLrrbcqO3futOxjyZIlyk033aSEhoYqOp1OadiwoTJ+/Hjl/PnzRY7lzHSzVfkdK016erri6elZLG1wgbffflvp1KmTEhAQoHh6eipNmzZVpk2bpuTn59u0f0Wx/pkoijkNcY8ePRRvb2/F29tbadq0qTJx4kTl6NGjiqIoyokTJ5QHH3xQiYqKUjw8PJTAwEClT58+yurVq4vs58iRI0rPnj0t76Ok9/7hhx8qgLJmzZoS2zpv3jwFUP73v/8piqIoBoNBef/995WmTZsqOp1OCQkJUW6++WZl165dRbb79ttvlbZt2yru7u5KrVq1lF69eimrVq2yvG40GpXJkycrwcHBipeXlzJw4EAlNja2xN8H1n4vXr582fJvzcfHRxk4cKBy5MgRq+f70qVLyuOPP67Uq1dP0el0Sv369ZXRo0crycnJxfY7ePBgBVA2b95c4ucixPVKpSgVMHNRCCGuI0899RRz5swhMzOzxMm9rmD58uUMHTqUjRs30r1796pujhA10tChQzlw4EClzc0SwpXIHAshhCgkJyenyPNLly7x/fff06NHD5cKKq5tp9FoZNasWfj5+dGuXbsqapUQNdv58+f5448/GDVqVFU3RYgqIXMshBCikK5du9K7d2+aNWvGxYsX+eabb0hPT+e1116r6qYVMWnSJHJycujatSt5eXksXbqUzZs3884771RqKlshBMTHx7Np0ya+/vpr3NzcGD9+fFU3SYgqIYGFEEIUMnjwYJYsWcKXX36JSqWiXbt2fPPNN/Ts2bOqm1ZE3759+fDDD/n999/Jzc0lOjqaWbNmlWsSsBDCMevWrWPs2LE0bNiQ+fPnExYWVtVNEqJKVOkci/Xr1/P++++za9cuzp8/z7Jly4qk5lMUhTfeeIOvvvqK1NRUunfvzhdffFGkCE9KSgqTJk3it99+Q61WM2zYMD755JNKKwQmhBBCCCGEqOI5FllZWbRu3brE3OvvvfceM2fOZPbs2Wzbtg1vb28GDhxYJBf/fffdx3///ceqVav4/fffWb9+PePGjaustyCEEEIIIYSginssClOpVEV6LBRFoW7d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",
"text/plain": [
"<Figure size 800x500 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# RL training progress\n",
"\n",
"# Skip if rl_job_url is not provided\n",
"if config.rl_job_url is None:\n",
" print('RL job URL not provided, skipping RL accuracy curves')\n",
"else:\n",
" # Get RL training scores from trace storage\n",
" # Assert collections exist since they're required\n",
" assert config.rl_train_collection is not None, (\n",
" 'rl_train_collection is required'\n",
" )\n",
" assert config.rl_test_collection is not None, 'rl_test_collection is required'\n",
"\n",
" trace_storage = (\n",
" spanner_trace_storage.create_production_spanner_trace_storage()\n",
" )\n",
" train_scores = trace_storage.get_average_score_per_checkpoint_step(\n",
" config.rl_train_collection\n",
" )\n",
" test_scores = trace_storage.get_average_score_per_checkpoint_step(\n",
" config.rl_test_collection\n",
" )\n",
"\n",
" if train_scores and test_scores:\n",
" fig, ax = plt.subplots(figsize=(8, 5)) # pyright: ignore[reportUnknownMemberType]\n",
"\n",
" train_steps = [s.checkpoint_step for s in train_scores]\n",
" train_accs = [s.average_score * 100 for s in train_scores]\n",
" test_steps = [s.checkpoint_step for s in test_scores]\n",
" test_accs = [s.average_score * 100 for s in test_scores]\n",
"\n",
" sns.lineplot(\n",
" x=train_steps,\n",
" y=train_accs,\n",
" marker='o',\n",
" label='Train',\n",
" ax=ax,\n",
" linewidth=2,\n",
" )\n",
" sns.lineplot(\n",
" x=test_steps,\n",
" y=test_accs,\n",
" marker='s',\n",
" label='Test',\n",
" ax=ax,\n",
" linewidth=2,\n",
" )\n",
"\n",
" ax.set_title('RL Training Progress: Train vs Test Accuracy') # pyright: ignore[reportUnknownMemberType]\n",
" ax.set_xlabel('Checkpoint Step') # pyright: ignore[reportUnknownMemberType]\n",
" ax.set_ylabel('Accuracy (%)') # pyright: ignore[reportUnknownMemberType]\n",
" ax.set_ylim(0, 100)\n",
" ax.legend() # pyright: ignore[reportUnknownMemberType]\n",
" ax.grid(alpha=0.3) # pyright: ignore[reportUnknownMemberType]\n",
"\n",
" fig.tight_layout()\n",
" plt.show() # pyright: ignore[reportUnknownMemberType]"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "65db97cf",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T19:27:27.631866Z",
"iopub.status.busy": "2025-12-10T19:27:27.631702Z",
"iopub.status.idle": "2025-12-10T19:27:28.840470Z",
"shell.execute_reply": "2025-12-10T19:27:28.839818Z"
},
"tags": [
"all-tags"
]
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"=== All Tags in Collection ===\n",
"Total instances: 1000\n"
]
},
{
"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>tag</th>\n",
" <th>type</th>\n",
" <th>count</th>\n",
" <th>coverage</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>guru-math__deepscaler_preview_qwen3_8b_11_17.a...</td>\n",
" <td>IntTag</td>\n",
" <td>1000</td>\n",
" <td>100.0%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>guru-math__deepscaler_preview_qwen3_8b_11_17.s...</td>\n",
" <td>FloatTag</td>\n",
" <td>1000</td>\n",
" <td>100.0%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>guru_math__deepscaler_preview</td>\n",
" <td>NullTag</td>\n",
" <td>1000</td>\n",
" <td>100.0%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>guru_math__deepscaler_preview_11_0.8_1000_test...</td>\n",
" <td>NullTag</td>\n",
" <td>1000</td>\n",
" <td>100.0%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>guru_math__deepscaler_preview_rl_42_0.9_1000_test</td>\n",
" <td>NullTag</td>\n",
" <td>59</td>\n",
" <td>5.9%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>guru_math__deepscaler_preview_rl_42_0.9_1000_t...</td>\n",
" <td>NullTag</td>\n",
" <td>838</td>\n",
" <td>83.8%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>guru_math__deepscaler_preview_sft_42_0.9_1000_...</td>\n",
" <td>NullTag</td>\n",
" <td>11</td>\n",
" <td>1.1%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>guru_math__deepscaler_preview_sft_42_0.9_1000_...</td>\n",
" <td>NullTag</td>\n",
" <td>92</td>\n",
" <td>9.2%</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" tag type count coverage\n",
"0 guru-math__deepscaler_preview_qwen3_8b_11_17.a... IntTag 1000 100.0%\n",
"1 guru-math__deepscaler_preview_qwen3_8b_11_17.s... FloatTag 1000 100.0%\n",
"2 guru_math__deepscaler_preview NullTag 1000 100.0%\n",
"3 guru_math__deepscaler_preview_11_0.8_1000_test... NullTag 1000 100.0%\n",
"4 guru_math__deepscaler_preview_rl_42_0.9_1000_test NullTag 59 5.9%\n",
"5 guru_math__deepscaler_preview_rl_42_0.9_1000_t... NullTag 838 83.8%\n",
"6 guru_math__deepscaler_preview_sft_42_0.9_1000_... NullTag 11 1.1%\n",
"7 guru_math__deepscaler_preview_sft_42_0.9_1000_... NullTag 92 9.2%"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# All Tags in Collection\n",
"# Display all tags found in the collection with their types and coverage\n",
"\n",
"# Get unique instance IDs from stats\n",
"instance_id_series = stats['sequence/instance_id'].dropna()\n",
"unique_values: list[Any] = instance_id_series.unique().tolist() # pyright: ignore[reportUnknownMemberType]\n",
"instance_ids = [str(id_) for id_ in unique_values]\n",
"\n",
"# Load tags from dataprism (returns FieldToTagMaps in same order as instance_ids)\n",
"tag_repo = dataprism_default_factory.create_default_tag_repository()\n",
"tag_maps = tag_repo.load_tags(instance_ids)\n",
"\n",
"# Collect all unique tags with their types and counts\n",
"all_tags_info: dict[str, dict[str, int | str]] = {}\n",
"for tag_map in tag_maps:\n",
" for field, tag in tag_map.items():\n",
" tag_key = field.name\n",
" if tag_key not in all_tags_info:\n",
" tag_type_name = type(tag).__name__\n",
" all_tags_info[tag_key] = {\n",
" 'tag': tag_key,\n",
" 'type': tag_type_name,\n",
" 'count': 0,\n",
" }\n",
" count = all_tags_info[tag_key]['count']\n",
" assert isinstance(count, int)\n",
" all_tags_info[tag_key]['count'] = count + 1\n",
"\n",
"all_tags_list = sorted(all_tags_info.values(), key=lambda x: str(x['tag']))\n",
"all_tags_df = pd.DataFrame(all_tags_list)\n",
"\n",
"\n",
"def _format_coverage(x: float | int) -> str:\n",
" return f'{float(x):.1f}%'\n",
"\n",
"\n",
"if all_tags_list:\n",
" all_tags_df['coverage'] = (\n",
" all_tags_df['count'] / len(instance_ids) * 100 # pyright: ignore[reportUnknownMemberType]\n",
" ).apply(_format_coverage)\n",
" print('\\n=== All Tags in Collection ===')\n",
" print(f'Total instances: {len(instance_ids)}')\n",
" display(all_tags_df)\n",
"else:\n",
" print('No tags found in collection')"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "68c269e3",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T19:27:28.841926Z",
"iopub.status.busy": "2025-12-10T19:27:28.841758Z",
"iopub.status.idle": "2025-12-10T19:27:28.855128Z",
"shell.execute_reply": "2025-12-10T19:27:28.854615Z"
},
"tags": [
"difficulty-tags"
]
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"=== Difficulty Tag Summary ===\n"
]
},
{
"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>tag</th>\n",
" <th>type</th>\n",
" <th>value</th>\n",
" <th>count</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>solve_percent</td>\n",
" <td>float</td>\n",
" <td>0.455</td>\n",
" <td>1000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>context_length</td>\n",
" <td>N/A</td>\n",
" <td>No data</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" tag type value count\n",
"0 solve_percent float 0.455 1000\n",
"1 context_length N/A No data 0"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Difficulty Tag Analysis\n",
"# Generates a summary table with averages for numeric tags and totals for boolean tags\n",
"\n",
"if config.difficulty_tags:\n",
" # Build a mapping from instance_id to tag values\n",
" tag_data: dict[str, dict[str, float | bool | None]] = {}\n",
" for instance_id, tag_map in zip(instance_ids, tag_maps, strict=True):\n",
" tag_data[instance_id] = {}\n",
" for field, tag in tag_map.items():\n",
" field_name = field.name.lower()\n",
" # Check if this field matches any of our difficulty tags\n",
" # Skip NullTag (has no value attribute)\n",
" if isinstance(tag, tag_types.NullTag):\n",
" continue\n",
" for tag_name in config.difficulty_tags:\n",
" if tag_name.lower() in field_name:\n",
" match tag:\n",
" case tag_types.BoolTag():\n",
" tag_data[instance_id][tag_name] = tag.value\n",
" case tag_types.FloatTag() | tag_types.IntTag():\n",
" tag_data[instance_id][tag_name] = float(tag.value)\n",
" case tag_types.StringTag():\n",
" # Skip string tags for difficulty analysis\n",
" pass\n",
"\n",
" # Compute aggregates for each tag\n",
" tag_summary: list[dict[str, str | float | int]] = []\n",
" for tag_name in config.difficulty_tags:\n",
" values = [\n",
" tag_data.get(id_, {}).get(tag_name)\n",
" for id_ in instance_ids\n",
" if tag_data.get(id_, {}).get(tag_name) is not None\n",
" ]\n",
"\n",
" if not values:\n",
" tag_summary.append(\n",
" dict(\n",
" tag=tag_name,\n",
" type='N/A',\n",
" value='No data',\n",
" count=0,\n",
" )\n",
" )\n",
" continue\n",
"\n",
" # Determine type and compute aggregate\n",
" if all(isinstance(v, bool) for v in values):\n",
" # Boolean: count total True values\n",
" total_true = sum(1 for v in values if v is True)\n",
" tag_summary.append(\n",
" dict(\n",
" tag=tag_name,\n",
" type='bool',\n",
" value=f'{total_true}/{len(values)} ({total_true / len(values) * 100:.1f}%)',\n",
" count=len(values),\n",
" )\n",
" )\n",
" else:\n",
" # Numeric: compute mean\n",
" numeric_values = [float(v) for v in values if isinstance(v, (int, float))]\n",
" if numeric_values:\n",
" mean_val = sum(numeric_values) / len(numeric_values)\n",
" tag_summary.append(\n",
" dict(\n",
" tag=tag_name,\n",
" type='float',\n",
" value=f'{mean_val:.3f}',\n",
" count=len(numeric_values),\n",
" )\n",
" )\n",
"\n",
" difficulty_df = pd.DataFrame(tag_summary)\n",
" print('\\n=== Difficulty Tag Summary ===')\n",
" display(difficulty_df)\n",
"else:\n",
" print('No difficulty tags configured')"
]
}
],
"metadata": {
"jupytext": {
"cell_metadata_filter": "tags,-all",
"main_language": "python",
"notebook_metadata_filter": "-all"
},
"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.12.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment