Skip to content

Instantly share code, notes, and snippets.

@dvoils
Created August 3, 2023 22:30
Show Gist options
  • Save dvoils/2e1feb1b8ad938bba192bb19c11140d3 to your computer and use it in GitHub Desktop.
Save dvoils/2e1feb1b8ad938bba192bb19c11140d3 to your computer and use it in GitHub Desktop.
train-diffuser.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/dvoils/2e1feb1b8ad938bba192bb19c11140d3/train-diffuser.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "WQK3fDtsmvO9"
},
"source": [
"# Setup"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "Jw6-w4TB_7wg"
},
"outputs": [],
"source": [
"!pip install torch torchvision datasets diffusers\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "rNwps9lYpunb"
},
"source": [
"# Create Model"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 672,
"referenced_widgets": [
"958b6129f96d4dc3bc46406ec66e50b4",
"43ba0e9d6f6b49d9a72c7ed4aa8e7cf9",
"1233f68052a24b54b3eb2366b2174b16",
"9006ec10ce82406c841ae5855e302444",
"5dfa31fe13ec40b0a24f5dbd5b57f7fc",
"73cc52956fe040a49682275b4fc7f774",
"172fb634a9d94fc39b9307e1e199f0c9",
"89f45dccc8aa47db8c85eb77843d9401",
"bb08f353f4a9438fb690d41df7641a01",
"9fb474802ba247ae9ad24a7bdff5ab56",
"fe8ab57451ba492284c4bfbc07b96359",
"98278054958b48ed861b9fbff313c897",
"1dddd65cc4de4c49bde4795e472abed2",
"13989c08a01e4198b6a2891a893ab7a9",
"90ba0ef224204c3a9743bf96e88294e1",
"c004df68df5746bca23593aa1bd53b03",
"c5d7fedf65a94f9f8f771366d83d0fa0",
"e61d3376220d4016902a4aedc80264a6",
"6be60c3d017d41e680b5623e3760c8db",
"496096ab5ddd40b3b4ddf8ef2989ceeb",
"a3990355b5bd498bad573da66b1647fc",
"70452f4f8a974a6ab8a252642de68aaf",
"1897df5bdd1e404aaa1b508f36b8d8cd",
"dbcb8836bf154217ac42c1a26e5e38f0",
"cd678c9f59124dbb9048c5d7898ad85c",
"4160ad1d604c435a94bf9937d3046d0d",
"b8046e6c162d4272bf9e2d74774641e1",
"0b707b1e133044188e0e5c54971c14af",
"cb3cdd9e60594264a9cf739d1ebe159d",
"8c90a87e66ca4468a931df473fb4dc75",
"8061d409d29c40f09b49a1712f725503",
"cdb5650ef7e44cf3a9361e4c021d17b5",
"f8ee54db07fa4d6da181437b04ebabc1",
"6aaa2fde903242998f13e7cc59965bbf",
"ef53479ea7c14e5cbe5a36649b311072",
"b5e477575e294df5928a74ee14470855",
"c64e909343114c09a694fc83b5279384",
"60a4f54b0f3543b4bb219fc119217585",
"7db26a247bdb4f3f868cfdb1b9dd1a41",
"262bdbc8b6e44fe5a7ca110f1f3a8100",
"e281893e85884f7dab1bd021dc7d2f47",
"306f92c3a31348449358a4f8fa163b71",
"45e50d0ae7d749a78ae515e20c3a239d",
"29bc37f0537647ac92db1c32430e3726"
]
},
"id": "-yX-MZhSsxwp",
"outputId": "acc23c3e-934b-4a3a-8920-7d040057ed0d"
},
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"Repo card metadata block was not found. Setting CardData to empty.\n",
"WARNING:huggingface_hub.repocard:Repo card metadata block was not found. Setting CardData to empty.\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Downloading data files: 0%| | 0/1 [00:00<?, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "958b6129f96d4dc3bc46406ec66e50b4"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Downloading data: 0%| | 0.00/237M [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "98278054958b48ed861b9fbff313c897"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Extracting data files: 0%| | 0/1 [00:00<?, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "1897df5bdd1e404aaa1b508f36b8d8cd"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Generating train split: 0%| | 0/1000 [00:00<?, ? examples/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "6aaa2fde903242998f13e7cc59965bbf"
}
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"X shape: torch.Size([8, 3, 128, 128])\n",
"Noisy X shape torch.Size([8, 3, 128, 128])\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"torch.Size([8, 3, 128, 128])"
]
},
"metadata": {},
"execution_count": 4
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
],
"image/png": "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z+WzcuVKBg0aRP369bFYLCxYsKDE6xV1Xjdv3kyfPn3w8vIiIiKC//znPxce3qih5s2bZ3h6ehpz5swxtm7datxzzz1GYGCgkZSUZHY0lzBgwADjgw8+MLZs2WLExsYaV199tdGwYUMjKyureJvRo0cbERERxtKlS41169YZPXr0MHr27Fn8emFhodG2bVujX79+xsaNG42FCxcawcHBxsSJE834SE5vzZo1RmRkpNG+fXtj7Nixxet1nitGamqq0ahRI2PkyJHG6tWrjbi4OOOnn34y9uzZU7zN1KlTjYCAAGPBggXGpk2bjMGDBxuNGzc2jh8/XrzNlVdeaXTo0MFYtWqV8euvvxrNmjUzbrnlFjM+klN64YUXjDp16hjff/+9sW/fPuPLL780fH19jddff714G53n8lm4cKHx1FNPGV9//bUBGPPnzy/xekWc1/T0dCM0NNQYPny4sWXLFuOzzz4zvL29jXfeeeeCstfYYqR79+7GmDFjin8uKioy6tevb0yZMsXEVK4rOTnZAIwVK1YYhmEYaWlphoeHh/Hll18Wb7N9+3YDMGJiYgzDcPzDsVqtRmJiYvE2M2fONPz9/Y28vLyq/QBOLjMz02jevLmxePFi45JLLikuRnSeK87jjz9u9O7d+6yv2+12IywszHj55ZeL16WlpRk2m8347LPPDMMwjG3bthmAsXbt2uJtfvzxR8NisRgJCQmVF96FDBw40LjzzjtLrLv++uuN4cOHG4ah81xR/lmMVNR5ffvtt43atWuX+N3x+OOPGy1atLigvDXyNk1+fj7r16+nX79+xeusViv9+vUjJibGxGSuKz09HYCgoCAA1q9fT0FBQYlz3LJlSxo2bFh8jmNiYmjXrh2hoaHF2wwYMICMjAy2bt1ahemd35gxYxg4cGCJ8wk6zxXp22+/pWvXrtx4442EhITQqVMnZs+eXfz6vn37SExMLHGuAwICiIqKKnGuAwMD6dq1a/E2/fr1w2q1snr16qr7ME6sZ8+eLF26lF27dgGwadMmfvvtN6666ipA57myVNR5jYmJ4eKLL8bT07N4mwEDBrBz506OHTtW7nwuMVFeRUtJSaGoqKjEL2eA0NBQduzYYVIq12W32xk3bhy9evWibdu2ACQmJuLp6UlgYGCJbUNDQ0lMTCze5kx/BidfE4d58+axYcMG1q5de9prOs8VJy4ujpkzZzJhwgSefPJJ1q5dy8MPP4ynpyd33HFH8bk607n8+7kOCQkp8bq7uztBQUE61yc88cQTZGRk0LJlS9zc3CgqKuKFF15g+PDhADrPlaSizmtiYiKNGzc+7T1Ovla7du1y5auRxYhUrDFjxrBlyxZ+++03s6NUOwcOHGDs2LEsXrwYLy8vs+NUa3a7na5du/Liiy8C0KlTJ7Zs2cKsWbO44447TE5XfXzxxRd88sknfPrpp7Rp04bY2FjGjRtH/fr1dZ5rsBp5myY4OBg3N7fTehwkJSURFhZmUirX9OCDD/L999/zyy+/EB4eXrw+LCyM/Px80tLSSmz/93McFhZ2xj+Dk6+J4zZMcnIynTt3xt3dHXd3d1asWMEbb7yBu7s7oaGhOs8VpF69erRu3brEulatWhEfHw+cOlfn+r0RFhZGcnJyidcLCwtJTU3VuT7hscce44knnuDmm2+mXbt23H777YwfP54pU6YAOs+VpaLOa2X9PqmRxYinpyddunRh6dKlxevsdjtLly4lOjraxGSuwzAMHnzwQebPn8+yZctOu2zXpUsXPDw8SpzjnTt3Eh8fX3yOo6Oj+fPPP0v85V+8eDH+/v6nfSnUVJdffjl//vknsbGxxY+uXbsyfPjw4mWd54rRq1ev07qn79q1i0aNGgHQuHFjwsLCSpzrjIwMVq9eXeJcp6WlsX79+uJtli1bht1uJyoqqgo+hfPLycnBai351ePm5obdbgd0nitLRZ3X6OhoVq5cSUFBQfE2ixcvpkWLFuW+RQPU7K69NpvN+PDDD41t27YZ9957rxEYGFiix4Gc3f33328EBAQYy5cvNw4fPlz8yMnJKd5m9OjRRsOGDY1ly5YZ69atM6Kjo43o6Oji1092Oe3fv78RGxtrLFq0yKhbt666nJ7H33vTGIbOc0VZs2aN4e7ubrzwwgvG7t27jU8++cTw8fEx/vvf/xZvM3XqVCMwMND45ptvjM2bNxtDhgw5Y9fITp06GatXrzZ+++03o3nz5jW+y+nf3XHHHUaDBg2Ku/Z+/fXXRnBwsPF///d/xdvoPJdPZmamsXHjRmPjxo0GYLz66qvGxo0bjb/++sswjIo5r2lpaUZoaKhx++23G1u2bDHmzZtn+Pj4qGvvhXjzzTeNhg0bGp6enkb37t2NVatWmR3JZQBnfHzwwQfF2xw/ftx44IEHjNq1axs+Pj7GddddZxw+fLjE++zfv9+46qqrDG9vbyM4ONh45JFHjIKCgir+NK7ln8WIznPF+e6774y2bdsaNpvNaNmypfHuu++WeN1utxuTJk0yQkNDDZvNZlx++eXGzp07S2xz9OhR45ZbbjF8fX0Nf39/Y9SoUUZmZmZVfgynlpGRYYwdO9Zo2LCh4eXlZTRp0sR46qmnSnQV1Xkun19++eWMv5fvuOMOwzAq7rxu2rTJ6N27t2Gz2YwGDRoYU6dOveDsFsP427B3IiIiIlWsRrYZEREREeehYkRERERMpWJERERETKViREREREylYkRERERMpWJERERETKViREREREylYkRERERMpWJERERETKViREREREylYkRERERMpWJERERETPX/w5iv7rAuZPUAAAAASUVORK5CYII=\n"
},
"metadata": {}
}
],
"source": [
"import numpy as np\n",
"import torch\n",
"import torchvision\n",
"from torchvision import transforms\n",
"from datasets import load_dataset\n",
"from torchvision import transforms\n",
"from PIL import Image\n",
"from diffusers import DDPMScheduler\n",
"from matplotlib import pyplot as plt\n",
"from diffusers import UNet2DModel\n",
"import torch.nn.functional as F\n",
"\n",
"def show_images(x):\n",
" \"\"\"Given a batch of images x, make a grid and convert to PIL\"\"\"\n",
" x = x * 0.5 + 0.5 # Map from (-1, 1) back to (0, 1)\n",
" grid = torchvision.utils.make_grid(x)\n",
" grid_im = grid.detach().cpu().permute(1, 2, 0).clip(0, 1) * 255\n",
" grid_im = Image.fromarray(np.array(grid_im).astype(np.uint8))\n",
" return grid_im\n",
"def transform(examples):\n",
" images = [preprocess(image.convert(\"RGB\")) for image in examples[\"image\"]]\n",
" return {\"images\": images}\n",
"\n",
"dataset = load_dataset(\"huggan/smithsonian_butterflies_subset\", split=\"train\")\n",
"\n",
"# Or load images from a local folder\n",
"# dataset = load_dataset(\"imagefolder\", data_dir=\"path/to/folder\")\n",
"\n",
"# We'll train on 32-pixel square images, but you can try larger sizes too\n",
"image_size = 128\n",
"# You can lower your batch size if you're running out of GPU memory\n",
"batch_size = 16\n",
"\n",
"# Define data augmentations\n",
"preprocess = transforms.Compose(\n",
" [\n",
" transforms.Resize((image_size, image_size)), # Resize\n",
" transforms.RandomHorizontalFlip(), # Randomly flip (data augmentation)\n",
" transforms.ToTensor(), # Convert to tensor (0, 1)\n",
" transforms.Normalize([0.5], [0.5]), # Map to (-1, 1)\n",
" ]\n",
")\n",
"\n",
"\n",
"\n",
"\n",
"dataset.set_transform(transform)\n",
"\n",
"# Create a dataloader from the dataset to serve up the transformed images in batches\n",
"train_dataloader = torch.utils.data.DataLoader(\n",
" dataset, batch_size=batch_size, shuffle=True\n",
")\n",
"\n",
"device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
"xb = next(iter(train_dataloader))[\"images\"].to(device)[:8]\n",
"print(\"X shape:\", xb.shape)\n",
"show_images(xb).resize((8 * 64, 64), resample=Image.NEAREST)\n",
"\n",
"noise_scheduler = DDPMScheduler(num_train_timesteps=1000)\n",
"\n",
"# One with too little noise added:\n",
"# noise_scheduler = DDPMScheduler(num_train_timesteps=1000, beta_start=0.001, beta_end=0.004)\n",
"# The 'cosine' schedule, which may be better for small image sizes:\n",
"# noise_scheduler = DDPMScheduler(num_train_timesteps=1000, beta_schedule='squaredcos_cap_v2')\n",
"plt.plot(noise_scheduler.alphas_cumprod.cpu() ** 0.5, label=r\"${\\sqrt{\\bar{\\alpha}_t}}$\")\n",
"plt.plot((1 - noise_scheduler.alphas_cumprod.cpu()) ** 0.5, label=r\"$\\sqrt{(1 - \\bar{\\alpha}_t)}$\")\n",
"plt.legend(fontsize=\"x-large\");\n",
"\n",
"timesteps = torch.linspace(0, 999, 8).long().to(device)\n",
"noise = torch.randn_like(xb)\n",
"noisy_xb = noise_scheduler.add_noise(xb, noise, timesteps)\n",
"print(\"Noisy X shape\", noisy_xb.shape)\n",
"show_images(noisy_xb).resize((8 * 64, 64), resample=Image.NEAREST)\n",
"\n",
"# Create a model\n",
"model = UNet2DModel(\n",
" sample_size=image_size, # the target image resolution\n",
" in_channels=3, # the number of input channels, 3 for RGB images\n",
" out_channels=3, # the number of output channels\n",
" layers_per_block=2, # how many ResNet layers to use per UNet block\n",
" block_out_channels=(64, 128, 128, 256), # More channels -> more parameters\n",
" down_block_types=(\n",
" \"DownBlock2D\", # a regular ResNet downsampling block\n",
" \"DownBlock2D\",\n",
" \"AttnDownBlock2D\", # a ResNet downsampling block with spatial self-attention\n",
" \"AttnDownBlock2D\",\n",
" ),\n",
" up_block_types=(\n",
" \"AttnUpBlock2D\",\n",
" \"AttnUpBlock2D\", # a ResNet upsampling block with spatial self-attention\n",
" \"UpBlock2D\",\n",
" \"UpBlock2D\", # a regular ResNet upsampling block\n",
" ),\n",
")\n",
"model.to(device);\n",
"\n",
"with torch.no_grad():\n",
" model_prediction = model(noisy_xb, timesteps).sample\n",
"model_prediction.shape\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Yoepjt3zE2yN"
},
"source": [
"# Train"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "aPou9FEEE-5o",
"outputId": "688b1c83-c3d1-4e98-f343-795bcabd2c10"
},
"outputs": [
{
"metadata": {
"tags": null
},
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python3.10/dist-packages/diffusers/configuration_utils.py:134: FutureWarning: Accessing config attribute `num_train_timesteps` directly via 'DDPMScheduler' object attribute is deprecated. Please access 'num_train_timesteps' over 'DDPMScheduler's config object instead, e.g. 'scheduler.config.num_train_timesteps'.\n",
" deprecate(\"direct config name access\", \"1.0.0\", deprecation_message, standard_warn=False)\n"
]
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"Epoch:5, loss: 0.07455267130382477\n",
"Epoch:10, loss: 0.06048828310200146\n",
"Epoch:15, loss: 0.04841632165369533\n",
"Epoch:20, loss: 0.038696641235479286\n",
"Epoch:25, loss: 0.03514025116428023\n",
"Epoch:30, loss: 0.04000125733751153\n"
]
}
],
"source": [
"# Set the noise scheduler\n",
"noise_scheduler = DDPMScheduler(\n",
" num_train_timesteps=1000, beta_schedule=\"squaredcos_cap_v2\"\n",
")\n",
"\n",
"# Training loop\n",
"optimizer = torch.optim.AdamW(model.parameters(), lr=4e-4)\n",
"\n",
"losses = []\n",
"\n",
"for epoch in range(30):\n",
" for step, batch in enumerate(train_dataloader):\n",
" clean_images = batch[\"images\"].to(device)\n",
" # Sample noise to add to the images\n",
" noise = torch.randn(clean_images.shape).to(clean_images.device)\n",
" bs = clean_images.shape[0]\n",
"\n",
" # Sample a random timestep for each image\n",
" timesteps = torch.randint(\n",
" 0, noise_scheduler.num_train_timesteps, (bs,), device=clean_images.device\n",
" ).long()\n",
"\n",
" # Add noise to the clean images according to the noise magnitude at each timestep\n",
" noisy_images = noise_scheduler.add_noise(clean_images, noise, timesteps)\n",
"\n",
" # Get the model prediction\n",
" noise_pred = model(noisy_images, timesteps, return_dict=False)[0]\n",
"\n",
" # Calculate the loss\n",
" loss = F.mse_loss(noise_pred, noise)\n",
" loss.backward(loss)\n",
" losses.append(loss.item())\n",
"\n",
" # Update the model parameters with the optimizer\n",
" optimizer.step()\n",
" optimizer.zero_grad()\n",
"\n",
" if (epoch + 1) % 5 == 0:\n",
" loss_last_epoch = sum(losses[-len(train_dataloader) :]) / len(train_dataloader)\n",
" print(f\"Epoch:{epoch+1}, loss: {loss_last_epoch}\")"
]
}
],
"metadata": {
"accelerator": "GPU",
"colab": {
"machine_shape": "hm",
"provenance": [],
"authorship_tag": "ABX9TyM4r+6YGYv7vUGsbtY65Bc4",
"include_colab_link": true
},
"kernelspec": {
"display_name": "Python 3",
"name": "python3"
},
"language_info": {
"name": "python"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"958b6129f96d4dc3bc46406ec66e50b4": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_43ba0e9d6f6b49d9a72c7ed4aa8e7cf9",
"IPY_MODEL_1233f68052a24b54b3eb2366b2174b16",
"IPY_MODEL_9006ec10ce82406c841ae5855e302444"
],
"layout": "IPY_MODEL_5dfa31fe13ec40b0a24f5dbd5b57f7fc"
}
},
"43ba0e9d6f6b49d9a72c7ed4aa8e7cf9": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_73cc52956fe040a49682275b4fc7f774",
"placeholder": "​",
"style": "IPY_MODEL_172fb634a9d94fc39b9307e1e199f0c9",
"value": "Downloading data files: 100%"
}
},
"1233f68052a24b54b3eb2366b2174b16": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_89f45dccc8aa47db8c85eb77843d9401",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_bb08f353f4a9438fb690d41df7641a01",
"value": 1
}
},
"9006ec10ce82406c841ae5855e302444": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_9fb474802ba247ae9ad24a7bdff5ab56",
"placeholder": "​",
"style": "IPY_MODEL_fe8ab57451ba492284c4bfbc07b96359",
"value": " 1/1 [01:07&lt;00:00, 67.17s/it]"
}
},
"5dfa31fe13ec40b0a24f5dbd5b57f7fc": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"73cc52956fe040a49682275b4fc7f774": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"172fb634a9d94fc39b9307e1e199f0c9": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"89f45dccc8aa47db8c85eb77843d9401": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"bb08f353f4a9438fb690d41df7641a01": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"9fb474802ba247ae9ad24a7bdff5ab56": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"fe8ab57451ba492284c4bfbc07b96359": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"98278054958b48ed861b9fbff313c897": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_1dddd65cc4de4c49bde4795e472abed2",
"IPY_MODEL_13989c08a01e4198b6a2891a893ab7a9",
"IPY_MODEL_90ba0ef224204c3a9743bf96e88294e1"
],
"layout": "IPY_MODEL_c004df68df5746bca23593aa1bd53b03"
}
},
"1dddd65cc4de4c49bde4795e472abed2": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_c5d7fedf65a94f9f8f771366d83d0fa0",
"placeholder": "​",
"style": "IPY_MODEL_e61d3376220d4016902a4aedc80264a6",
"value": "Downloading data: 100%"
}
},
"13989c08a01e4198b6a2891a893ab7a9": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_6be60c3d017d41e680b5623e3760c8db",
"max": 237451415,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_496096ab5ddd40b3b4ddf8ef2989ceeb",
"value": 237451415
}
},
"90ba0ef224204c3a9743bf96e88294e1": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_a3990355b5bd498bad573da66b1647fc",
"placeholder": "​",
"style": "IPY_MODEL_70452f4f8a974a6ab8a252642de68aaf",
"value": " 237M/237M [01:07&lt;00:00, 5.61MB/s]"
}
},
"c004df68df5746bca23593aa1bd53b03": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"c5d7fedf65a94f9f8f771366d83d0fa0": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"e61d3376220d4016902a4aedc80264a6": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"6be60c3d017d41e680b5623e3760c8db": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"496096ab5ddd40b3b4ddf8ef2989ceeb": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"a3990355b5bd498bad573da66b1647fc": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"70452f4f8a974a6ab8a252642de68aaf": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"1897df5bdd1e404aaa1b508f36b8d8cd": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_dbcb8836bf154217ac42c1a26e5e38f0",
"IPY_MODEL_cd678c9f59124dbb9048c5d7898ad85c",
"IPY_MODEL_4160ad1d604c435a94bf9937d3046d0d"
],
"layout": "IPY_MODEL_b8046e6c162d4272bf9e2d74774641e1"
}
},
"dbcb8836bf154217ac42c1a26e5e38f0": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_0b707b1e133044188e0e5c54971c14af",
"placeholder": "​",
"style": "IPY_MODEL_cb3cdd9e60594264a9cf739d1ebe159d",
"value": "Extracting data files: 100%"
}
},
"cd678c9f59124dbb9048c5d7898ad85c": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_8c90a87e66ca4468a931df473fb4dc75",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_8061d409d29c40f09b49a1712f725503",
"value": 1
}
},
"4160ad1d604c435a94bf9937d3046d0d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_cdb5650ef7e44cf3a9361e4c021d17b5",
"placeholder": "​",
"style": "IPY_MODEL_f8ee54db07fa4d6da181437b04ebabc1",
"value": " 1/1 [00:00&lt;00:00, 47.34it/s]"
}
},
"b8046e6c162d4272bf9e2d74774641e1": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"0b707b1e133044188e0e5c54971c14af": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"cb3cdd9e60594264a9cf739d1ebe159d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"8c90a87e66ca4468a931df473fb4dc75": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"8061d409d29c40f09b49a1712f725503": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"cdb5650ef7e44cf3a9361e4c021d17b5": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"f8ee54db07fa4d6da181437b04ebabc1": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"6aaa2fde903242998f13e7cc59965bbf": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_ef53479ea7c14e5cbe5a36649b311072",
"IPY_MODEL_b5e477575e294df5928a74ee14470855",
"IPY_MODEL_c64e909343114c09a694fc83b5279384"
],
"layout": "IPY_MODEL_60a4f54b0f3543b4bb219fc119217585"
}
},
"ef53479ea7c14e5cbe5a36649b311072": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_7db26a247bdb4f3f868cfdb1b9dd1a41",
"placeholder": "​",
"style": "IPY_MODEL_262bdbc8b6e44fe5a7ca110f1f3a8100",
"value": "Generating train split: 100%"
}
},
"b5e477575e294df5928a74ee14470855": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_e281893e85884f7dab1bd021dc7d2f47",
"max": 1000,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_306f92c3a31348449358a4f8fa163b71",
"value": 1000
}
},
"c64e909343114c09a694fc83b5279384": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_45e50d0ae7d749a78ae515e20c3a239d",
"placeholder": "​",
"style": "IPY_MODEL_29bc37f0537647ac92db1c32430e3726",
"value": " 1000/1000 [00:00&lt;00:00, 1279.83 examples/s]"
}
},
"60a4f54b0f3543b4bb219fc119217585": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"7db26a247bdb4f3f868cfdb1b9dd1a41": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"262bdbc8b6e44fe5a7ca110f1f3a8100": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"e281893e85884f7dab1bd021dc7d2f47": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"306f92c3a31348449358a4f8fa163b71": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"45e50d0ae7d749a78ae515e20c3a239d": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"29bc37f0537647ac92db1c32430e3726": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
}
}
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment