├── README.md
└── Real_ESRGAN_Batch_Process_Videos_Notebook_by_Geeve_George.ipynb
/README.md:
--------------------------------------------------------------------------------
1 | # Real-ESRGAN-Video-Batch-Process
2 | Upscale any number of videos using this colab notebook!
3 |
4 | ## IMPORTANT : Watch the Youtube video below, to learn how to use the colab notebook!
5 |
6 |
7 | 1. [Youtube Video Instruction](https://www.youtube.com/watch?v=19qJHkBB8pY) for Real-ESRGAN Video Batch Processing
.
8 |
9 | 2. [Colab Demo](https://colab.research.google.com/drive/1qI-mlruopBCFO6MG7dmBINDQsk8hvGJA?usp=sharing) for Real-ESRGAN Video Batch Processing
.
10 |
11 |
12 | 
13 |
--------------------------------------------------------------------------------
/Real_ESRGAN_Batch_Process_Videos_Notebook_by_Geeve_George.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "nbformat": 4,
3 | "nbformat_minor": 0,
4 | "metadata": {
5 | "colab": {
6 | "name": "Real-ESRGAN Batch Process Videos Notebook by Geeve George.ipynb",
7 | "provenance": [],
8 | "collapsed_sections": [
9 | "6BPxh_VmVVIu",
10 | "4pr9am3HWtvH",
11 | "rqiEtaOYXnrt",
12 | "dUJ_0fQ5YYm2"
13 | ],
14 | "include_colab_link": true
15 | },
16 | "kernelspec": {
17 | "name": "python3",
18 | "display_name": "Python 3"
19 | },
20 | "language_info": {
21 | "name": "python"
22 | },
23 | "accelerator": "GPU"
24 | },
25 | "cells": [
26 | {
27 | "cell_type": "markdown",
28 | "metadata": {
29 | "id": "view-in-github",
30 | "colab_type": "text"
31 | },
32 | "source": [
33 | "
"
34 | ]
35 | },
36 | {
37 | "cell_type": "markdown",
38 | "metadata": {
39 | "id": "6BPxh_VmVVIu"
40 | },
41 | "source": [
42 | "# 1. Important Notes\n",
43 | "\n",
44 | "* If you are using the free Colab tier , it works best for short length videos\n",
45 | "* Just follow the instructions in the notebook and you should be fine!\n",
46 | "\n",
47 | "*Colab Notebook prepared by Geeve George*"
48 | ]
49 | },
50 | {
51 | "cell_type": "code",
52 | "metadata": {
53 | "id": "GnpnrLfMV2jU",
54 | "colab": {
55 | "base_uri": "https://localhost:8080/"
56 | },
57 | "outputId": "bc5e2a82-c52b-49f7-84c6-1be5142fb184"
58 | },
59 | "source": [
60 | "# Clone Real-ESRGAN and enter the Real-ESRGAN\n",
61 | "!git clone https://github.com/xinntao/Real-ESRGAN.git\n",
62 | "%cd Real-ESRGAN\n",
63 | "# Set up the environment\n",
64 | "!pip install basicsr\n",
65 | "!pip install facexlib\n",
66 | "!pip install gfpgan\n",
67 | "!pip install -r requirements.txt\n",
68 | "!python setup.py develop\n",
69 | "# Download the pre-trained model\n",
70 | "!wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth -P experiments/pretrained_models"
71 | ],
72 | "execution_count": null,
73 | "outputs": [
74 | {
75 | "output_type": "stream",
76 | "name": "stdout",
77 | "text": [
78 | "Cloning into 'Real-ESRGAN'...\n",
79 | "remote: Enumerating objects: 561, done.\u001b[K\n",
80 | "remote: Total 561 (delta 0), reused 0 (delta 0), pack-reused 561\u001b[K\n",
81 | "Receiving objects: 100% (561/561), 4.64 MiB | 42.77 MiB/s, done.\n",
82 | "Resolving deltas: 100% (288/288), done.\n",
83 | "/content/Real-ESRGAN\n",
84 | "Collecting basicsr\n",
85 | " Downloading basicsr-1.3.4.9.tar.gz (161 kB)\n",
86 | "\u001b[K |████████████████████████████████| 161 kB 28.4 MB/s \n",
87 | "\u001b[?25hCollecting addict\n",
88 | " Downloading addict-2.4.0-py3-none-any.whl (3.8 kB)\n",
89 | "Requirement already satisfied: future in /usr/local/lib/python3.7/dist-packages (from basicsr) (0.16.0)\n",
90 | "Requirement already satisfied: lmdb in /usr/local/lib/python3.7/dist-packages (from basicsr) (0.99)\n",
91 | "Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from basicsr) (1.19.5)\n",
92 | "Requirement already satisfied: opencv-python in /usr/local/lib/python3.7/dist-packages (from basicsr) (4.1.2.30)\n",
93 | "Requirement already satisfied: Pillow in /usr/local/lib/python3.7/dist-packages (from basicsr) (7.1.2)\n",
94 | "Requirement already satisfied: pyyaml in /usr/local/lib/python3.7/dist-packages (from basicsr) (3.13)\n",
95 | "Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from basicsr) (2.23.0)\n",
96 | "Requirement already satisfied: scikit-image in /usr/local/lib/python3.7/dist-packages (from basicsr) (0.18.3)\n",
97 | "Requirement already satisfied: scipy in /usr/local/lib/python3.7/dist-packages (from basicsr) (1.4.1)\n",
98 | "Collecting tb-nightly\n",
99 | " Downloading tb_nightly-2.9.0a20220213-py3-none-any.whl (5.8 MB)\n",
100 | "\u001b[K |████████████████████████████████| 5.8 MB 59.0 MB/s \n",
101 | "\u001b[?25hRequirement already satisfied: torch>=1.7 in /usr/local/lib/python3.7/dist-packages (from basicsr) (1.10.0+cu111)\n",
102 | "Requirement already satisfied: torchvision in /usr/local/lib/python3.7/dist-packages (from basicsr) (0.11.1+cu111)\n",
103 | "Requirement already satisfied: tqdm in /usr/local/lib/python3.7/dist-packages (from basicsr) (4.62.3)\n",
104 | "Collecting yapf\n",
105 | " Downloading yapf-0.32.0-py2.py3-none-any.whl (190 kB)\n",
106 | "\u001b[K |████████████████████████████████| 190 kB 72.8 MB/s \n",
107 | "\u001b[?25hRequirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from torch>=1.7->basicsr) (3.10.0.2)\n",
108 | "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests->basicsr) (3.0.4)\n",
109 | "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests->basicsr) (1.24.3)\n",
110 | "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests->basicsr) (2.10)\n",
111 | "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests->basicsr) (2021.10.8)\n",
112 | "Requirement already satisfied: tifffile>=2019.7.26 in /usr/local/lib/python3.7/dist-packages (from scikit-image->basicsr) (2021.11.2)\n",
113 | "Requirement already satisfied: networkx>=2.0 in /usr/local/lib/python3.7/dist-packages (from scikit-image->basicsr) (2.6.3)\n",
114 | "Requirement already satisfied: matplotlib!=3.0.0,>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from scikit-image->basicsr) (3.2.2)\n",
115 | "Requirement already satisfied: PyWavelets>=1.1.1 in /usr/local/lib/python3.7/dist-packages (from scikit-image->basicsr) (1.2.0)\n",
116 | "Requirement already satisfied: imageio>=2.3.0 in /usr/local/lib/python3.7/dist-packages (from scikit-image->basicsr) (2.4.1)\n",
117 | "Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib!=3.0.0,>=2.0.0->scikit-image->basicsr) (2.8.2)\n",
118 | "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib!=3.0.0,>=2.0.0->scikit-image->basicsr) (1.3.2)\n",
119 | "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib!=3.0.0,>=2.0.0->scikit-image->basicsr) (0.11.0)\n",
120 | "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib!=3.0.0,>=2.0.0->scikit-image->basicsr) (3.0.7)\n",
121 | "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.1->matplotlib!=3.0.0,>=2.0.0->scikit-image->basicsr) (1.15.0)\n",
122 | "Requirement already satisfied: grpcio>=1.24.3 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr) (1.43.0)\n",
123 | "Requirement already satisfied: werkzeug>=0.11.15 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr) (1.0.1)\n",
124 | "Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr) (0.4.6)\n",
125 | "Requirement already satisfied: wheel>=0.26 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr) (0.37.1)\n",
126 | "Requirement already satisfied: google-auth<3,>=1.6.3 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr) (1.35.0)\n",
127 | "Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr) (1.8.1)\n",
128 | "Requirement already satisfied: tensorboard-data-server<0.7.0,>=0.6.0 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr) (0.6.1)\n",
129 | "Requirement already satisfied: absl-py>=0.4 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr) (1.0.0)\n",
130 | "Requirement already satisfied: protobuf>=3.9.2 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr) (3.17.3)\n",
131 | "Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr) (3.3.6)\n",
132 | "Requirement already satisfied: setuptools>=41.0.0 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr) (57.4.0)\n",
133 | "Requirement already satisfied: cachetools<5.0,>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from google-auth<3,>=1.6.3->tb-nightly->basicsr) (4.2.4)\n",
134 | "Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.7/dist-packages (from google-auth<3,>=1.6.3->tb-nightly->basicsr) (0.2.8)\n",
135 | "Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.7/dist-packages (from google-auth<3,>=1.6.3->tb-nightly->basicsr) (4.8)\n",
136 | "Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.7/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tb-nightly->basicsr) (1.3.1)\n",
137 | "Requirement already satisfied: importlib-metadata>=4.4 in /usr/local/lib/python3.7/dist-packages (from markdown>=2.6.8->tb-nightly->basicsr) (4.10.1)\n",
138 | "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata>=4.4->markdown>=2.6.8->tb-nightly->basicsr) (3.7.0)\n",
139 | "Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /usr/local/lib/python3.7/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tb-nightly->basicsr) (0.4.8)\n",
140 | "Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.7/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tb-nightly->basicsr) (3.2.0)\n",
141 | "Building wheels for collected packages: basicsr\n",
142 | " Building wheel for basicsr (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
143 | " Created wheel for basicsr: filename=basicsr-1.3.4.9-py3-none-any.whl size=194440 sha256=f01ab7a01d65c4ffb932935266e27e2403aee9fdcaa7ff4147fe38d80abc7ad3\n",
144 | " Stored in directory: /root/.cache/pip/wheels/92/52/70/341916b8c102f1e4416695e601d4aa71ba34d1080f7aa47cf5\n",
145 | "Successfully built basicsr\n",
146 | "Installing collected packages: yapf, tb-nightly, addict, basicsr\n",
147 | "Successfully installed addict-2.4.0 basicsr-1.3.4.9 tb-nightly-2.9.0a20220213 yapf-0.32.0\n",
148 | "Collecting facexlib\n",
149 | " Downloading facexlib-0.2.1.1-py3-none-any.whl (56 kB)\n",
150 | "\u001b[K |████████████████████████████████| 56 kB 5.3 MB/s \n",
151 | "\u001b[?25hRequirement already satisfied: opencv-python in /usr/local/lib/python3.7/dist-packages (from facexlib) (4.1.2.30)\n",
152 | "Requirement already satisfied: Pillow in /usr/local/lib/python3.7/dist-packages (from facexlib) (7.1.2)\n",
153 | "Requirement already satisfied: torchvision in /usr/local/lib/python3.7/dist-packages (from facexlib) (0.11.1+cu111)\n",
154 | "Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from facexlib) (1.19.5)\n",
155 | "Requirement already satisfied: numba in /usr/local/lib/python3.7/dist-packages (from facexlib) (0.51.2)\n",
156 | "Requirement already satisfied: torch in /usr/local/lib/python3.7/dist-packages (from facexlib) (1.10.0+cu111)\n",
157 | "Requirement already satisfied: tqdm in /usr/local/lib/python3.7/dist-packages (from facexlib) (4.62.3)\n",
158 | "Requirement already satisfied: scipy in /usr/local/lib/python3.7/dist-packages (from facexlib) (1.4.1)\n",
159 | "Collecting filterpy\n",
160 | " Downloading filterpy-1.4.5.zip (177 kB)\n",
161 | "\u001b[K |████████████████████████████████| 177 kB 54.5 MB/s \n",
162 | "\u001b[?25hRequirement already satisfied: matplotlib in /usr/local/lib/python3.7/dist-packages (from filterpy->facexlib) (3.2.2)\n",
163 | "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib->filterpy->facexlib) (0.11.0)\n",
164 | "Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->filterpy->facexlib) (2.8.2)\n",
165 | "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->filterpy->facexlib) (1.3.2)\n",
166 | "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->filterpy->facexlib) (3.0.7)\n",
167 | "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.1->matplotlib->filterpy->facexlib) (1.15.0)\n",
168 | "Requirement already satisfied: llvmlite<0.35,>=0.34.0.dev0 in /usr/local/lib/python3.7/dist-packages (from numba->facexlib) (0.34.0)\n",
169 | "Requirement already satisfied: setuptools in /usr/local/lib/python3.7/dist-packages (from numba->facexlib) (57.4.0)\n",
170 | "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from torch->facexlib) (3.10.0.2)\n",
171 | "Building wheels for collected packages: filterpy\n",
172 | " Building wheel for filterpy (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
173 | " Created wheel for filterpy: filename=filterpy-1.4.5-py3-none-any.whl size=110474 sha256=a81fca70420220ee2d95e802f08ae4d959b7553d9b9b51278f9b6a687933d2ea\n",
174 | " Stored in directory: /root/.cache/pip/wheels/ce/e0/ee/a2b3c5caab3418c1ccd8c4de573d4cbe13315d7e8b0a55fbc2\n",
175 | "Successfully built filterpy\n",
176 | "Installing collected packages: filterpy, facexlib\n",
177 | "Successfully installed facexlib-0.2.1.1 filterpy-1.4.5\n",
178 | "Collecting gfpgan\n",
179 | " Downloading gfpgan-0.2.4-py3-none-any.whl (38 kB)\n",
180 | "Requirement already satisfied: torch>=1.7 in /usr/local/lib/python3.7/dist-packages (from gfpgan) (1.10.0+cu111)\n",
181 | "Requirement already satisfied: numpy<1.21 in /usr/local/lib/python3.7/dist-packages (from gfpgan) (1.19.5)\n",
182 | "Requirement already satisfied: pyyaml in /usr/local/lib/python3.7/dist-packages (from gfpgan) (3.13)\n",
183 | "Requirement already satisfied: facexlib>=0.2.0.3 in /usr/local/lib/python3.7/dist-packages (from gfpgan) (0.2.1.1)\n",
184 | "Requirement already satisfied: tb-nightly in /usr/local/lib/python3.7/dist-packages (from gfpgan) (2.9.0a20220213)\n",
185 | "Requirement already satisfied: scipy in /usr/local/lib/python3.7/dist-packages (from gfpgan) (1.4.1)\n",
186 | "Requirement already satisfied: basicsr>=1.3.4.0 in /usr/local/lib/python3.7/dist-packages (from gfpgan) (1.3.4.9)\n",
187 | "Requirement already satisfied: yapf in /usr/local/lib/python3.7/dist-packages (from gfpgan) (0.32.0)\n",
188 | "Requirement already satisfied: lmdb in /usr/local/lib/python3.7/dist-packages (from gfpgan) (0.99)\n",
189 | "Requirement already satisfied: torchvision in /usr/local/lib/python3.7/dist-packages (from gfpgan) (0.11.1+cu111)\n",
190 | "Requirement already satisfied: tqdm in /usr/local/lib/python3.7/dist-packages (from gfpgan) (4.62.3)\n",
191 | "Requirement already satisfied: opencv-python in /usr/local/lib/python3.7/dist-packages (from gfpgan) (4.1.2.30)\n",
192 | "Requirement already satisfied: scikit-image in /usr/local/lib/python3.7/dist-packages (from basicsr>=1.3.4.0->gfpgan) (0.18.3)\n",
193 | "Requirement already satisfied: addict in /usr/local/lib/python3.7/dist-packages (from basicsr>=1.3.4.0->gfpgan) (2.4.0)\n",
194 | "Requirement already satisfied: future in /usr/local/lib/python3.7/dist-packages (from basicsr>=1.3.4.0->gfpgan) (0.16.0)\n",
195 | "Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from basicsr>=1.3.4.0->gfpgan) (2.23.0)\n",
196 | "Requirement already satisfied: Pillow in /usr/local/lib/python3.7/dist-packages (from basicsr>=1.3.4.0->gfpgan) (7.1.2)\n",
197 | "Requirement already satisfied: numba in /usr/local/lib/python3.7/dist-packages (from facexlib>=0.2.0.3->gfpgan) (0.51.2)\n",
198 | "Requirement already satisfied: filterpy in /usr/local/lib/python3.7/dist-packages (from facexlib>=0.2.0.3->gfpgan) (1.4.5)\n",
199 | "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from torch>=1.7->gfpgan) (3.10.0.2)\n",
200 | "Requirement already satisfied: matplotlib in /usr/local/lib/python3.7/dist-packages (from filterpy->facexlib>=0.2.0.3->gfpgan) (3.2.2)\n",
201 | "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->filterpy->facexlib>=0.2.0.3->gfpgan) (3.0.7)\n",
202 | "Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->filterpy->facexlib>=0.2.0.3->gfpgan) (2.8.2)\n",
203 | "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib->filterpy->facexlib>=0.2.0.3->gfpgan) (0.11.0)\n",
204 | "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->filterpy->facexlib>=0.2.0.3->gfpgan) (1.3.2)\n",
205 | "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.1->matplotlib->filterpy->facexlib>=0.2.0.3->gfpgan) (1.15.0)\n",
206 | "Requirement already satisfied: llvmlite<0.35,>=0.34.0.dev0 in /usr/local/lib/python3.7/dist-packages (from numba->facexlib>=0.2.0.3->gfpgan) (0.34.0)\n",
207 | "Requirement already satisfied: setuptools in /usr/local/lib/python3.7/dist-packages (from numba->facexlib>=0.2.0.3->gfpgan) (57.4.0)\n",
208 | "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests->basicsr>=1.3.4.0->gfpgan) (2.10)\n",
209 | "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests->basicsr>=1.3.4.0->gfpgan) (3.0.4)\n",
210 | "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests->basicsr>=1.3.4.0->gfpgan) (1.24.3)\n",
211 | "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests->basicsr>=1.3.4.0->gfpgan) (2021.10.8)\n",
212 | "Requirement already satisfied: networkx>=2.0 in /usr/local/lib/python3.7/dist-packages (from scikit-image->basicsr>=1.3.4.0->gfpgan) (2.6.3)\n",
213 | "Requirement already satisfied: tifffile>=2019.7.26 in /usr/local/lib/python3.7/dist-packages (from scikit-image->basicsr>=1.3.4.0->gfpgan) (2021.11.2)\n",
214 | "Requirement already satisfied: PyWavelets>=1.1.1 in /usr/local/lib/python3.7/dist-packages (from scikit-image->basicsr>=1.3.4.0->gfpgan) (1.2.0)\n",
215 | "Requirement already satisfied: imageio>=2.3.0 in /usr/local/lib/python3.7/dist-packages (from scikit-image->basicsr>=1.3.4.0->gfpgan) (2.4.1)\n",
216 | "Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->gfpgan) (0.4.6)\n",
217 | "Requirement already satisfied: grpcio>=1.24.3 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->gfpgan) (1.43.0)\n",
218 | "Requirement already satisfied: wheel>=0.26 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->gfpgan) (0.37.1)\n",
219 | "Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->gfpgan) (1.8.1)\n",
220 | "Requirement already satisfied: absl-py>=0.4 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->gfpgan) (1.0.0)\n",
221 | "Requirement already satisfied: tensorboard-data-server<0.7.0,>=0.6.0 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->gfpgan) (0.6.1)\n",
222 | "Requirement already satisfied: protobuf>=3.9.2 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->gfpgan) (3.17.3)\n",
223 | "Requirement already satisfied: werkzeug>=0.11.15 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->gfpgan) (1.0.1)\n",
224 | "Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->gfpgan) (3.3.6)\n",
225 | "Requirement already satisfied: google-auth<3,>=1.6.3 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->gfpgan) (1.35.0)\n",
226 | "Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.7/dist-packages (from google-auth<3,>=1.6.3->tb-nightly->gfpgan) (0.2.8)\n",
227 | "Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.7/dist-packages (from google-auth<3,>=1.6.3->tb-nightly->gfpgan) (4.8)\n",
228 | "Requirement already satisfied: cachetools<5.0,>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from google-auth<3,>=1.6.3->tb-nightly->gfpgan) (4.2.4)\n",
229 | "Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.7/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tb-nightly->gfpgan) (1.3.1)\n",
230 | "Requirement already satisfied: importlib-metadata>=4.4 in /usr/local/lib/python3.7/dist-packages (from markdown>=2.6.8->tb-nightly->gfpgan) (4.10.1)\n",
231 | "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata>=4.4->markdown>=2.6.8->tb-nightly->gfpgan) (3.7.0)\n",
232 | "Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /usr/local/lib/python3.7/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tb-nightly->gfpgan) (0.4.8)\n",
233 | "Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.7/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tb-nightly->gfpgan) (3.2.0)\n",
234 | "Installing collected packages: gfpgan\n",
235 | "Successfully installed gfpgan-0.2.4\n",
236 | "Requirement already satisfied: basicsr>=1.3.3.11 in /usr/local/lib/python3.7/dist-packages (from -r requirements.txt (line 1)) (1.3.4.9)\n",
237 | "Requirement already satisfied: facexlib>=0.2.0.3 in /usr/local/lib/python3.7/dist-packages (from -r requirements.txt (line 2)) (0.2.1.1)\n",
238 | "Requirement already satisfied: gfpgan>=0.2.1 in /usr/local/lib/python3.7/dist-packages (from -r requirements.txt (line 3)) (0.2.4)\n",
239 | "Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from -r requirements.txt (line 4)) (1.19.5)\n",
240 | "Requirement already satisfied: opencv-python in /usr/local/lib/python3.7/dist-packages (from -r requirements.txt (line 5)) (4.1.2.30)\n",
241 | "Requirement already satisfied: Pillow in /usr/local/lib/python3.7/dist-packages (from -r requirements.txt (line 6)) (7.1.2)\n",
242 | "Requirement already satisfied: torch>=1.7 in /usr/local/lib/python3.7/dist-packages (from -r requirements.txt (line 7)) (1.10.0+cu111)\n",
243 | "Requirement already satisfied: torchvision in /usr/local/lib/python3.7/dist-packages (from -r requirements.txt (line 8)) (0.11.1+cu111)\n",
244 | "Requirement already satisfied: tqdm in /usr/local/lib/python3.7/dist-packages (from -r requirements.txt (line 9)) (4.62.3)\n",
245 | "Requirement already satisfied: scipy in /usr/local/lib/python3.7/dist-packages (from basicsr>=1.3.3.11->-r requirements.txt (line 1)) (1.4.1)\n",
246 | "Requirement already satisfied: future in /usr/local/lib/python3.7/dist-packages (from basicsr>=1.3.3.11->-r requirements.txt (line 1)) (0.16.0)\n",
247 | "Requirement already satisfied: tb-nightly in /usr/local/lib/python3.7/dist-packages (from basicsr>=1.3.3.11->-r requirements.txt (line 1)) (2.9.0a20220213)\n",
248 | "Requirement already satisfied: scikit-image in /usr/local/lib/python3.7/dist-packages (from basicsr>=1.3.3.11->-r requirements.txt (line 1)) (0.18.3)\n",
249 | "Requirement already satisfied: addict in /usr/local/lib/python3.7/dist-packages (from basicsr>=1.3.3.11->-r requirements.txt (line 1)) (2.4.0)\n",
250 | "Requirement already satisfied: lmdb in /usr/local/lib/python3.7/dist-packages (from basicsr>=1.3.3.11->-r requirements.txt (line 1)) (0.99)\n",
251 | "Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from basicsr>=1.3.3.11->-r requirements.txt (line 1)) (2.23.0)\n",
252 | "Requirement already satisfied: yapf in /usr/local/lib/python3.7/dist-packages (from basicsr>=1.3.3.11->-r requirements.txt (line 1)) (0.32.0)\n",
253 | "Requirement already satisfied: pyyaml in /usr/local/lib/python3.7/dist-packages (from basicsr>=1.3.3.11->-r requirements.txt (line 1)) (3.13)\n",
254 | "Requirement already satisfied: numba in /usr/local/lib/python3.7/dist-packages (from facexlib>=0.2.0.3->-r requirements.txt (line 2)) (0.51.2)\n",
255 | "Requirement already satisfied: filterpy in /usr/local/lib/python3.7/dist-packages (from facexlib>=0.2.0.3->-r requirements.txt (line 2)) (1.4.5)\n",
256 | "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from torch>=1.7->-r requirements.txt (line 7)) (3.10.0.2)\n",
257 | "Requirement already satisfied: matplotlib in /usr/local/lib/python3.7/dist-packages (from filterpy->facexlib>=0.2.0.3->-r requirements.txt (line 2)) (3.2.2)\n",
258 | "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->filterpy->facexlib>=0.2.0.3->-r requirements.txt (line 2)) (3.0.7)\n",
259 | "Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->filterpy->facexlib>=0.2.0.3->-r requirements.txt (line 2)) (2.8.2)\n",
260 | "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->filterpy->facexlib>=0.2.0.3->-r requirements.txt (line 2)) (1.3.2)\n",
261 | "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib->filterpy->facexlib>=0.2.0.3->-r requirements.txt (line 2)) (0.11.0)\n",
262 | "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.1->matplotlib->filterpy->facexlib>=0.2.0.3->-r requirements.txt (line 2)) (1.15.0)\n",
263 | "Requirement already satisfied: llvmlite<0.35,>=0.34.0.dev0 in /usr/local/lib/python3.7/dist-packages (from numba->facexlib>=0.2.0.3->-r requirements.txt (line 2)) (0.34.0)\n",
264 | "Requirement already satisfied: setuptools in /usr/local/lib/python3.7/dist-packages (from numba->facexlib>=0.2.0.3->-r requirements.txt (line 2)) (57.4.0)\n",
265 | "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (2021.10.8)\n",
266 | "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (3.0.4)\n",
267 | "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (1.24.3)\n",
268 | "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (2.10)\n",
269 | "Requirement already satisfied: tifffile>=2019.7.26 in /usr/local/lib/python3.7/dist-packages (from scikit-image->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (2021.11.2)\n",
270 | "Requirement already satisfied: imageio>=2.3.0 in /usr/local/lib/python3.7/dist-packages (from scikit-image->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (2.4.1)\n",
271 | "Requirement already satisfied: networkx>=2.0 in /usr/local/lib/python3.7/dist-packages (from scikit-image->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (2.6.3)\n",
272 | "Requirement already satisfied: PyWavelets>=1.1.1 in /usr/local/lib/python3.7/dist-packages (from scikit-image->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (1.2.0)\n",
273 | "Requirement already satisfied: wheel>=0.26 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (0.37.1)\n",
274 | "Requirement already satisfied: protobuf>=3.9.2 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (3.17.3)\n",
275 | "Requirement already satisfied: werkzeug>=0.11.15 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (1.0.1)\n",
276 | "Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (0.4.6)\n",
277 | "Requirement already satisfied: tensorboard-data-server<0.7.0,>=0.6.0 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (0.6.1)\n",
278 | "Requirement already satisfied: grpcio>=1.24.3 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (1.43.0)\n",
279 | "Requirement already satisfied: absl-py>=0.4 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (1.0.0)\n",
280 | "Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (3.3.6)\n",
281 | "Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (1.8.1)\n",
282 | "Requirement already satisfied: google-auth<3,>=1.6.3 in /usr/local/lib/python3.7/dist-packages (from tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (1.35.0)\n",
283 | "Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.7/dist-packages (from google-auth<3,>=1.6.3->tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (0.2.8)\n",
284 | "Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.7/dist-packages (from google-auth<3,>=1.6.3->tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (4.8)\n",
285 | "Requirement already satisfied: cachetools<5.0,>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from google-auth<3,>=1.6.3->tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (4.2.4)\n",
286 | "Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.7/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (1.3.1)\n",
287 | "Requirement already satisfied: importlib-metadata>=4.4 in /usr/local/lib/python3.7/dist-packages (from markdown>=2.6.8->tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (4.10.1)\n",
288 | "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata>=4.4->markdown>=2.6.8->tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (3.7.0)\n",
289 | "Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /usr/local/lib/python3.7/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (0.4.8)\n",
290 | "Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.7/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tb-nightly->basicsr>=1.3.3.11->-r requirements.txt (line 1)) (3.2.0)\n",
291 | "running develop\n",
292 | "running egg_info\n",
293 | "creating realesrgan.egg-info\n",
294 | "writing realesrgan.egg-info/PKG-INFO\n",
295 | "writing dependency_links to realesrgan.egg-info/dependency_links.txt\n",
296 | "writing requirements to realesrgan.egg-info/requires.txt\n",
297 | "writing top-level names to realesrgan.egg-info/top_level.txt\n",
298 | "writing manifest file 'realesrgan.egg-info/SOURCES.txt'\n",
299 | "reading manifest template 'MANIFEST.in'\n",
300 | "adding license file 'LICENSE'\n",
301 | "writing manifest file 'realesrgan.egg-info/SOURCES.txt'\n",
302 | "running build_ext\n",
303 | "Creating /usr/local/lib/python3.7/dist-packages/realesrgan.egg-link (link to .)\n",
304 | "Adding realesrgan 0.2.3.0 to easy-install.pth file\n",
305 | "\n",
306 | "Installed /content/Real-ESRGAN\n",
307 | "Processing dependencies for realesrgan==0.2.3.0\n",
308 | "Searching for tqdm==4.62.3\n",
309 | "Best match: tqdm 4.62.3\n",
310 | "Adding tqdm 4.62.3 to easy-install.pth file\n",
311 | "Installing tqdm script to /usr/local/bin\n",
312 | "\n",
313 | "Using /usr/local/lib/python3.7/dist-packages\n",
314 | "Searching for torchvision==0.11.1+cu111\n",
315 | "Best match: torchvision 0.11.1+cu111\n",
316 | "Adding torchvision 0.11.1+cu111 to easy-install.pth file\n",
317 | "\n",
318 | "Using /usr/local/lib/python3.7/dist-packages\n",
319 | "Searching for torch==1.10.0+cu111\n",
320 | "Best match: torch 1.10.0+cu111\n",
321 | "Adding torch 1.10.0+cu111 to easy-install.pth file\n",
322 | "Installing convert-caffe2-to-onnx script to /usr/local/bin\n",
323 | "Installing convert-onnx-to-caffe2 script to /usr/local/bin\n",
324 | "Installing torchrun script to /usr/local/bin\n",
325 | "\n",
326 | "Using /usr/local/lib/python3.7/dist-packages\n",
327 | "Searching for Pillow==7.1.2\n",
328 | "Best match: Pillow 7.1.2\n",
329 | "Adding Pillow 7.1.2 to easy-install.pth file\n",
330 | "\n",
331 | "Using /usr/local/lib/python3.7/dist-packages\n",
332 | "Searching for opencv-python==4.1.2.30\n",
333 | "Best match: opencv-python 4.1.2.30\n",
334 | "Adding opencv-python 4.1.2.30 to easy-install.pth file\n",
335 | "\n",
336 | "Using /usr/local/lib/python3.7/dist-packages\n",
337 | "Searching for numpy==1.19.5\n",
338 | "Best match: numpy 1.19.5\n",
339 | "Adding numpy 1.19.5 to easy-install.pth file\n",
340 | "Installing f2py script to /usr/local/bin\n",
341 | "Installing f2py3 script to /usr/local/bin\n",
342 | "Installing f2py3.7 script to /usr/local/bin\n",
343 | "\n",
344 | "Using /usr/local/lib/python3.7/dist-packages\n",
345 | "Searching for gfpgan==0.2.4\n",
346 | "Best match: gfpgan 0.2.4\n",
347 | "Adding gfpgan 0.2.4 to easy-install.pth file\n",
348 | "\n",
349 | "Using /usr/local/lib/python3.7/dist-packages\n",
350 | "Searching for facexlib==0.2.1.1\n",
351 | "Best match: facexlib 0.2.1.1\n",
352 | "Adding facexlib 0.2.1.1 to easy-install.pth file\n",
353 | "\n",
354 | "Using /usr/local/lib/python3.7/dist-packages\n",
355 | "Searching for basicsr==1.3.4.9\n",
356 | "Best match: basicsr 1.3.4.9\n",
357 | "Adding basicsr 1.3.4.9 to easy-install.pth file\n",
358 | "\n",
359 | "Using /usr/local/lib/python3.7/dist-packages\n",
360 | "Searching for typing-extensions==3.10.0.2\n",
361 | "Best match: typing-extensions 3.10.0.2\n",
362 | "Adding typing-extensions 3.10.0.2 to easy-install.pth file\n",
363 | "\n",
364 | "Using /usr/local/lib/python3.7/dist-packages\n",
365 | "Searching for tb-nightly==2.9.0a20220213\n",
366 | "Best match: tb-nightly 2.9.0a20220213\n",
367 | "Adding tb-nightly 2.9.0a20220213 to easy-install.pth file\n",
368 | "Installing tensorboard script to /usr/local/bin\n",
369 | "\n",
370 | "Using /usr/local/lib/python3.7/dist-packages\n",
371 | "Searching for lmdb==0.99\n",
372 | "Best match: lmdb 0.99\n",
373 | "Adding lmdb 0.99 to easy-install.pth file\n",
374 | "\n",
375 | "Using /usr/local/lib/python3.7/dist-packages\n",
376 | "Searching for scipy==1.4.1\n",
377 | "Best match: scipy 1.4.1\n",
378 | "Adding scipy 1.4.1 to easy-install.pth file\n",
379 | "\n",
380 | "Using /usr/local/lib/python3.7/dist-packages\n",
381 | "Searching for yapf==0.32.0\n",
382 | "Best match: yapf 0.32.0\n",
383 | "Adding yapf 0.32.0 to easy-install.pth file\n",
384 | "Installing yapf script to /usr/local/bin\n",
385 | "Installing yapf-diff script to /usr/local/bin\n",
386 | "\n",
387 | "Using /usr/local/lib/python3.7/dist-packages\n",
388 | "Searching for PyYAML==3.13\n",
389 | "Best match: PyYAML 3.13\n",
390 | "Adding PyYAML 3.13 to easy-install.pth file\n",
391 | "\n",
392 | "Using /usr/local/lib/python3.7/dist-packages\n",
393 | "Searching for filterpy==1.4.5\n",
394 | "Best match: filterpy 1.4.5\n",
395 | "Adding filterpy 1.4.5 to easy-install.pth file\n",
396 | "\n",
397 | "Using /usr/local/lib/python3.7/dist-packages\n",
398 | "Searching for numba==0.51.2\n",
399 | "Best match: numba 0.51.2\n",
400 | "Adding numba 0.51.2 to easy-install.pth file\n",
401 | "\n",
402 | "Using /usr/local/lib/python3.7/dist-packages\n",
403 | "Searching for requests==2.23.0\n",
404 | "Best match: requests 2.23.0\n",
405 | "Adding requests 2.23.0 to easy-install.pth file\n",
406 | "\n",
407 | "Using /usr/local/lib/python3.7/dist-packages\n",
408 | "Searching for future==0.16.0\n",
409 | "Best match: future 0.16.0\n",
410 | "Adding future 0.16.0 to easy-install.pth file\n",
411 | "Installing futurize script to /usr/local/bin\n",
412 | "Installing pasteurize script to /usr/local/bin\n",
413 | "\n",
414 | "Using /usr/local/lib/python3.7/dist-packages\n",
415 | "Searching for addict==2.4.0\n",
416 | "Best match: addict 2.4.0\n",
417 | "Adding addict 2.4.0 to easy-install.pth file\n",
418 | "\n",
419 | "Using /usr/local/lib/python3.7/dist-packages\n",
420 | "Searching for scikit-image==0.18.3\n",
421 | "Best match: scikit-image 0.18.3\n",
422 | "Adding scikit-image 0.18.3 to easy-install.pth file\n",
423 | "Installing skivi script to /usr/local/bin\n",
424 | "\n",
425 | "Using /usr/local/lib/python3.7/dist-packages\n",
426 | "Searching for absl-py==1.0.0\n",
427 | "Best match: absl-py 1.0.0\n",
428 | "Adding absl-py 1.0.0 to easy-install.pth file\n",
429 | "\n",
430 | "Using /usr/local/lib/python3.7/dist-packages\n",
431 | "Searching for setuptools==57.4.0\n",
432 | "Best match: setuptools 57.4.0\n",
433 | "Adding setuptools 57.4.0 to easy-install.pth file\n",
434 | "\n",
435 | "Using /usr/local/lib/python3.7/dist-packages\n",
436 | "Searching for protobuf==3.17.3\n",
437 | "Best match: protobuf 3.17.3\n",
438 | "Adding protobuf 3.17.3 to easy-install.pth file\n",
439 | "\n",
440 | "Using /usr/local/lib/python3.7/dist-packages\n",
441 | "Searching for Markdown==3.3.6\n",
442 | "Best match: Markdown 3.3.6\n",
443 | "Adding Markdown 3.3.6 to easy-install.pth file\n",
444 | "Installing markdown_py script to /usr/local/bin\n",
445 | "\n",
446 | "Using /usr/local/lib/python3.7/dist-packages\n",
447 | "Searching for tensorboard-plugin-wit==1.8.1\n",
448 | "Best match: tensorboard-plugin-wit 1.8.1\n",
449 | "Adding tensorboard-plugin-wit 1.8.1 to easy-install.pth file\n",
450 | "\n",
451 | "Using /usr/local/lib/python3.7/dist-packages\n",
452 | "Searching for google-auth==1.35.0\n",
453 | "Best match: google-auth 1.35.0\n",
454 | "Adding google-auth 1.35.0 to easy-install.pth file\n",
455 | "\n",
456 | "Using /usr/local/lib/python3.7/dist-packages\n",
457 | "Searching for tensorboard-data-server==0.6.1\n",
458 | "Best match: tensorboard-data-server 0.6.1\n",
459 | "Adding tensorboard-data-server 0.6.1 to easy-install.pth file\n",
460 | "\n",
461 | "Using /usr/local/lib/python3.7/dist-packages\n",
462 | "Searching for google-auth-oauthlib==0.4.6\n",
463 | "Best match: google-auth-oauthlib 0.4.6\n",
464 | "Adding google-auth-oauthlib 0.4.6 to easy-install.pth file\n",
465 | "Installing google-oauthlib-tool script to /usr/local/bin\n",
466 | "\n",
467 | "Using /usr/local/lib/python3.7/dist-packages\n",
468 | "Searching for grpcio==1.43.0\n",
469 | "Best match: grpcio 1.43.0\n",
470 | "Adding grpcio 1.43.0 to easy-install.pth file\n",
471 | "\n",
472 | "Using /usr/local/lib/python3.7/dist-packages\n",
473 | "Searching for wheel==0.37.1\n",
474 | "Best match: wheel 0.37.1\n",
475 | "Adding wheel 0.37.1 to easy-install.pth file\n",
476 | "Installing wheel script to /usr/local/bin\n",
477 | "\n",
478 | "Using /usr/local/lib/python3.7/dist-packages\n",
479 | "Searching for Werkzeug==1.0.1\n",
480 | "Best match: Werkzeug 1.0.1\n",
481 | "Adding Werkzeug 1.0.1 to easy-install.pth file\n",
482 | "\n",
483 | "Using /usr/local/lib/python3.7/dist-packages\n",
484 | "Searching for matplotlib==3.2.2\n",
485 | "Best match: matplotlib 3.2.2\n",
486 | "Adding matplotlib 3.2.2 to easy-install.pth file\n",
487 | "\n",
488 | "Using /usr/local/lib/python3.7/dist-packages\n",
489 | "Searching for llvmlite==0.34.0\n",
490 | "Best match: llvmlite 0.34.0\n",
491 | "Adding llvmlite 0.34.0 to easy-install.pth file\n",
492 | "\n",
493 | "Using /usr/local/lib/python3.7/dist-packages\n",
494 | "Searching for certifi==2021.10.8\n",
495 | "Best match: certifi 2021.10.8\n",
496 | "Adding certifi 2021.10.8 to easy-install.pth file\n",
497 | "\n",
498 | "Using /usr/local/lib/python3.7/dist-packages\n",
499 | "Searching for chardet==3.0.4\n",
500 | "Best match: chardet 3.0.4\n",
501 | "Adding chardet 3.0.4 to easy-install.pth file\n",
502 | "Installing chardetect script to /usr/local/bin\n",
503 | "\n",
504 | "Using /usr/local/lib/python3.7/dist-packages\n",
505 | "Searching for idna==2.10\n",
506 | "Best match: idna 2.10\n",
507 | "Adding idna 2.10 to easy-install.pth file\n",
508 | "\n",
509 | "Using /usr/local/lib/python3.7/dist-packages\n",
510 | "Searching for urllib3==1.24.3\n",
511 | "Best match: urllib3 1.24.3\n",
512 | "Adding urllib3 1.24.3 to easy-install.pth file\n",
513 | "\n",
514 | "Using /usr/local/lib/python3.7/dist-packages\n",
515 | "Searching for imageio==2.4.1\n",
516 | "Best match: imageio 2.4.1\n",
517 | "Adding imageio 2.4.1 to easy-install.pth file\n",
518 | "Installing imageio_download_bin script to /usr/local/bin\n",
519 | "Installing imageio_remove_bin script to /usr/local/bin\n",
520 | "\n",
521 | "Using /usr/local/lib/python3.7/dist-packages\n",
522 | "Searching for tifffile==2021.11.2\n",
523 | "Best match: tifffile 2021.11.2\n",
524 | "Adding tifffile 2021.11.2 to easy-install.pth file\n",
525 | "Installing lsm2bin script to /usr/local/bin\n",
526 | "Installing tiff2fsspec script to /usr/local/bin\n",
527 | "Installing tiffcomment script to /usr/local/bin\n",
528 | "Installing tifffile script to /usr/local/bin\n",
529 | "\n",
530 | "Using /usr/local/lib/python3.7/dist-packages\n",
531 | "Searching for networkx==2.6.3\n",
532 | "Best match: networkx 2.6.3\n",
533 | "Adding networkx 2.6.3 to easy-install.pth file\n",
534 | "\n",
535 | "Using /usr/local/lib/python3.7/dist-packages\n",
536 | "Searching for PyWavelets==1.2.0\n",
537 | "Best match: PyWavelets 1.2.0\n",
538 | "Adding PyWavelets 1.2.0 to easy-install.pth file\n",
539 | "\n",
540 | "Using /usr/local/lib/python3.7/dist-packages\n",
541 | "Searching for six==1.15.0\n",
542 | "Best match: six 1.15.0\n",
543 | "Adding six 1.15.0 to easy-install.pth file\n",
544 | "\n",
545 | "Using /usr/local/lib/python3.7/dist-packages\n",
546 | "Searching for importlib-metadata==4.10.1\n",
547 | "Best match: importlib-metadata 4.10.1\n",
548 | "Adding importlib-metadata 4.10.1 to easy-install.pth file\n",
549 | "\n",
550 | "Using /usr/local/lib/python3.7/dist-packages\n",
551 | "Searching for rsa==4.8\n",
552 | "Best match: rsa 4.8\n",
553 | "Adding rsa 4.8 to easy-install.pth file\n",
554 | "Installing pyrsa-decrypt script to /usr/local/bin\n",
555 | "Installing pyrsa-encrypt script to /usr/local/bin\n",
556 | "Installing pyrsa-keygen script to /usr/local/bin\n",
557 | "Installing pyrsa-priv2pub script to /usr/local/bin\n",
558 | "Installing pyrsa-sign script to /usr/local/bin\n",
559 | "Installing pyrsa-verify script to /usr/local/bin\n",
560 | "\n",
561 | "Using /usr/local/lib/python3.7/dist-packages\n",
562 | "Searching for cachetools==4.2.4\n",
563 | "Best match: cachetools 4.2.4\n",
564 | "Adding cachetools 4.2.4 to easy-install.pth file\n",
565 | "\n",
566 | "Using /usr/local/lib/python3.7/dist-packages\n",
567 | "Searching for pyasn1-modules==0.2.8\n",
568 | "Best match: pyasn1-modules 0.2.8\n",
569 | "Adding pyasn1-modules 0.2.8 to easy-install.pth file\n",
570 | "\n",
571 | "Using /usr/local/lib/python3.7/dist-packages\n",
572 | "Searching for requests-oauthlib==1.3.1\n",
573 | "Best match: requests-oauthlib 1.3.1\n",
574 | "Adding requests-oauthlib 1.3.1 to easy-install.pth file\n",
575 | "\n",
576 | "Using /usr/local/lib/python3.7/dist-packages\n",
577 | "Searching for cycler==0.11.0\n",
578 | "Best match: cycler 0.11.0\n",
579 | "Adding cycler 0.11.0 to easy-install.pth file\n",
580 | "\n",
581 | "Using /usr/local/lib/python3.7/dist-packages\n",
582 | "Searching for pyparsing==3.0.7\n",
583 | "Best match: pyparsing 3.0.7\n",
584 | "Adding pyparsing 3.0.7 to easy-install.pth file\n",
585 | "\n",
586 | "Using /usr/local/lib/python3.7/dist-packages\n",
587 | "Searching for kiwisolver==1.3.2\n",
588 | "Best match: kiwisolver 1.3.2\n",
589 | "Adding kiwisolver 1.3.2 to easy-install.pth file\n",
590 | "\n",
591 | "Using /usr/local/lib/python3.7/dist-packages\n",
592 | "Searching for python-dateutil==2.8.2\n",
593 | "Best match: python-dateutil 2.8.2\n",
594 | "Adding python-dateutil 2.8.2 to easy-install.pth file\n",
595 | "\n",
596 | "Using /usr/local/lib/python3.7/dist-packages\n",
597 | "Searching for zipp==3.7.0\n",
598 | "Best match: zipp 3.7.0\n",
599 | "Adding zipp 3.7.0 to easy-install.pth file\n",
600 | "\n",
601 | "Using /usr/local/lib/python3.7/dist-packages\n",
602 | "Searching for pyasn1==0.4.8\n",
603 | "Best match: pyasn1 0.4.8\n",
604 | "Adding pyasn1 0.4.8 to easy-install.pth file\n",
605 | "\n",
606 | "Using /usr/local/lib/python3.7/dist-packages\n",
607 | "Searching for oauthlib==3.2.0\n",
608 | "Best match: oauthlib 3.2.0\n",
609 | "Adding oauthlib 3.2.0 to easy-install.pth file\n",
610 | "\n",
611 | "Using /usr/local/lib/python3.7/dist-packages\n",
612 | "Finished processing dependencies for realesrgan==0.2.3.0\n",
613 | "--2022-02-13 14:09:10-- https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth\n",
614 | "Resolving github.com (github.com)... 140.82.113.3\n",
615 | "Connecting to github.com (github.com)|140.82.113.3|:443... connected.\n",
616 | "HTTP request sent, awaiting response... 302 Found\n",
617 | "Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/387326890/08f0e941-ebb7-48f0-9d6a-73e87b710e7e?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220213%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220213T140910Z&X-Amz-Expires=300&X-Amz-Signature=9914fa46bf2b61ad218da7486a489099b3d9e3cc7f0b964a1697afc9b872f5ba&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=387326890&response-content-disposition=attachment%3B%20filename%3DRealESRGAN_x4plus.pth&response-content-type=application%2Foctet-stream [following]\n",
618 | "--2022-02-13 14:09:10-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/387326890/08f0e941-ebb7-48f0-9d6a-73e87b710e7e?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220213%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220213T140910Z&X-Amz-Expires=300&X-Amz-Signature=9914fa46bf2b61ad218da7486a489099b3d9e3cc7f0b964a1697afc9b872f5ba&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=387326890&response-content-disposition=attachment%3B%20filename%3DRealESRGAN_x4plus.pth&response-content-type=application%2Foctet-stream\n",
619 | "Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...\n",
620 | "Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... connected.\n",
621 | "HTTP request sent, awaiting response... 200 OK\n",
622 | "Length: 67040989 (64M) [application/octet-stream]\n",
623 | "Saving to: ‘experiments/pretrained_models/RealESRGAN_x4plus.pth’\n",
624 | "\n",
625 | "RealESRGAN_x4plus.p 100%[===================>] 63.93M 213MB/s in 0.3s \n",
626 | "\n",
627 | "2022-02-13 14:09:10 (213 MB/s) - ‘experiments/pretrained_models/RealESRGAN_x4plus.pth’ saved [67040989/67040989]\n",
628 | "\n"
629 | ]
630 | }
631 | ]
632 | },
633 | {
634 | "cell_type": "markdown",
635 | "metadata": {
636 | "id": "4pr9am3HWtvH"
637 | },
638 | "source": [
639 | "# 2. This section is for creating some important folders (IMPORTANT : Please Read)\n",
640 | "\n",
641 | "\n",
642 | "\n",
643 | "* First Run this cell\n",
644 | "\n",
645 | "* Once you've run the cell , you can see that a folder named \"videos\" will be created inside the Real-ESRGAN folder\n",
646 | "\n",
647 | "\n",
648 | "* Just drag and drop any number of videos from your computer and place them inside the \"videos\" folder. (videos you want to upscale)\n",
649 | "\n",
650 | "\n",
651 | "\n",
652 | "\n",
653 | "\n"
654 | ]
655 | },
656 | {
657 | "cell_type": "code",
658 | "metadata": {
659 | "id": "u1tiyMZJW5td"
660 | },
661 | "source": [
662 | "import os\n",
663 | "from google.colab import files\n",
664 | "import shutil\n",
665 | "\n",
666 | "upload_folder = 'upload'\n",
667 | "result_folder = 'results'\n",
668 | "video_folder = 'videos'\n",
669 | "video_result_folder = 'results_videos'\n",
670 | "video_mp4_result_folder = 'results_mp4_videos'\n",
671 | "\n",
672 | "if os.path.isdir(upload_folder):\n",
673 | " print(upload_folder+\" exists\")\n",
674 | "else :\n",
675 | " os.mkdir(upload_folder)\n",
676 | "\n",
677 | "if os.path.isdir(video_folder):\n",
678 | " print(video_folder+\" exists\")\n",
679 | "else :\n",
680 | " os.mkdir(video_folder)\n",
681 | "\n",
682 | "if os.path.isdir(video_result_folder):\n",
683 | " print(video_result_folder+\" exists\")\n",
684 | "else :\n",
685 | " os.mkdir(video_result_folder)\n",
686 | "\n",
687 | "if os.path.isdir(video_mp4_result_folder):\n",
688 | " print(video_mp4_result_folder+\" exists\")\n",
689 | "else :\n",
690 | " os.mkdir(video_mp4_result_folder)\n",
691 | "\n",
692 | "if os.path.isdir(result_folder):\n",
693 | " print(result_folder+\" exists\")\n",
694 | " \n",
695 | "else :\n",
696 | " os.mkdir(result_folder) \n",
697 | "\n"
698 | ],
699 | "execution_count": null,
700 | "outputs": []
701 | },
702 | {
703 | "cell_type": "markdown",
704 | "metadata": {
705 | "id": "rqiEtaOYXnrt"
706 | },
707 | "source": [
708 | "\n",
709 | "# 3. Inference (Please READ)\n",
710 | "\n",
711 | "\n",
712 | "\n",
713 | "* Then run this cell , it will take a good amount of time depending on the length of your video and how many videos you want to upscale\n",
714 | "\n",
715 | "* Once the upscaling process is complete , you can find your upscaled video results , under the \"results_mp4_videos\" folder.\n",
716 | "\n",
717 | "\n",
718 | "\n",
719 | "* By default the video is upscaled to a 25fps format, in case you want to change that , it can be changed within the cell below , \n",
720 | "change the \"fps\" variable. (Can be found towards the end part of the code section.)\n",
721 | "\n",
722 | "\n",
723 | "\n",
724 | "\n",
725 | "\n",
726 | "\n"
727 | ]
728 | },
729 | {
730 | "cell_type": "code",
731 | "metadata": {
732 | "colab": {
733 | "base_uri": "https://localhost:8080/"
734 | },
735 | "id": "XTVL4m_zXqBU",
736 | "outputId": "54a0971a-dea0-4f64-d474-3b3aabfd5cd3"
737 | },
738 | "source": [
739 | "import cv2\n",
740 | "import numpy as np\n",
741 | "import glob\n",
742 | "from os.path import isfile, join\n",
743 | "import subprocess\n",
744 | "from IPython.display import clear_output \n",
745 | "\n",
746 | "# assign directory\n",
747 | "directory = '/content/Real-ESRGAN/videos' #PATH_WITH_INPUT_VIDEOS\n",
748 | "zee = 0\n",
749 | "\n",
750 | "#deletes frames from previous video\n",
751 | "for f in os.listdir(upload_folder): \n",
752 | " os.remove(os.path.join(upload_folder, f))\n",
753 | "\n",
754 | "#deletes upscaled frames from previous video\n",
755 | "for f in os.listdir(result_folder): \n",
756 | " os.remove(os.path.join(result_folder, f))\n",
757 | "\n",
758 | "#clearing previous .avi files\n",
759 | "for f in os.listdir(video_result_folder): \n",
760 | " os.remove(os.path.join(video_result_folder, f))\n",
761 | " \n",
762 | "#clearing .mp4 result files\n",
763 | "for f in os.listdir(video_mp4_result_folder): \n",
764 | " os.remove(os.path.join(video_mp4_result_folder, f))\n",
765 | "\n",
766 | "\n",
767 | "def convert_frames_to_video(pathIn,pathOut,fps):\n",
768 | " frame_array = []\n",
769 | " files = [f for f in os.listdir(pathIn) if isfile(join(pathIn, f))]\n",
770 | " #for sorting the file names properly\n",
771 | " files.sort(key = lambda x: int(x[5:-4]))\n",
772 | " size2 = (0,0)\n",
773 | "\n",
774 | " for i in range(len(files)):\n",
775 | " filename=pathIn + files[i]\n",
776 | " #reading each files\n",
777 | " img = cv2.imread(filename)\n",
778 | " height, width, layers = img.shape\n",
779 | " size = (width,height)\n",
780 | " size2 = size\n",
781 | " print(filename)\n",
782 | " #inserting the frames into an image array\n",
783 | " frame_array.append(img)\n",
784 | " out = cv2.VideoWriter(pathOut,cv2.VideoWriter_fourcc(*'DIVX'), fps, size2)\n",
785 | " for i in range(len(frame_array)):\n",
786 | " # writing to a image array\n",
787 | " out.write(frame_array[i])\n",
788 | " out.release()\n",
789 | " \n",
790 | " \n",
791 | "for filename in os.listdir(directory):\n",
792 | " \n",
793 | " f = os.path.join(directory, filename)\n",
794 | " # checking if it is a file\n",
795 | " if os.path.isfile(f):\n",
796 | " \n",
797 | " \n",
798 | " print(\"PROCESSING :\"+str(f)+\"\\n\")\n",
799 | " # Read the video from specified path\n",
800 | " \n",
801 | " #video to frames\n",
802 | " cam = cv2.VideoCapture(str(f))\n",
803 | "\n",
804 | " try:\n",
805 | "\n",
806 | " # PATH TO STORE VIDEO FRAMES\n",
807 | " if not os.path.exists('/content/Real-ESRGAN/upload'):\n",
808 | " os.makedirs('/content/Real-ESRGAN/upload')\n",
809 | "\n",
810 | " # if not created then raise error\n",
811 | " except OSError:\n",
812 | " print ('Error: Creating directory of data')\n",
813 | "\n",
814 | " # frame\n",
815 | " currentframe = 0\n",
816 | "\n",
817 | " #clear all folders\n",
818 | "\n",
819 | "\n",
820 | " #deletes upscaled frames from previous video\n",
821 | " #for f in os.listdir(result_folder):\n",
822 | " # os.remove(os.path.join(result_folder, f)) \n",
823 | " \n",
824 | "\n",
825 | "\n",
826 | "\n",
827 | " while(True):\n",
828 | "\n",
829 | " # reading from frame\n",
830 | " ret,frame = cam.read()\n",
831 | "\n",
832 | " if ret:\n",
833 | " # if video is still left continue creating images\n",
834 | " name = '/content/Real-ESRGAN/upload/frame' + str(currentframe) + '.jpg'\n",
835 | "\n",
836 | " # writing the extracted images\n",
837 | " cv2.imwrite(name, frame)\n",
838 | "\n",
839 | "\n",
840 | " # increasing counter so that it will\n",
841 | " # show how many frames are created\n",
842 | " currentframe += 1\n",
843 | " else:\n",
844 | " #deletes all the videos you uploaded for upscaling\n",
845 | " #for f in os.listdir(video_folder):\n",
846 | " # os.remove(os.path.join(video_folder, f)) \n",
847 | "\n",
848 | " break\n",
849 | " \n",
850 | " # Release all space and windows once done\n",
851 | " cam.release()\n",
852 | " cv2.destroyAllWindows()\n",
853 | " \n",
854 | " #apply super-resolution on all frames of a video\n",
855 | " #scale factor is by 3.5x \n",
856 | "\n",
857 | " !python inference_realesrgan.py -n RealESRGAN_x4plus -i upload --outscale 2 --half --face_enhance --tile 128\n",
858 | "\n",
859 | " #after upscaling just delete the source frames\n",
860 | " for f in os.listdir(upload_folder): \n",
861 | " os.remove(os.path.join(upload_folder, f)) \n",
862 | "\n",
863 | " #rename all frames in \"results\" to remove the 'out' substring from the processing results\n",
864 | " paths = (os.path.join(root, filename)\n",
865 | " for root, _, filenames in os.walk('/content/Real-ESRGAN/results')\n",
866 | " for filename in filenames)\n",
867 | " for path in paths:\n",
868 | " newname = path.replace('_out', '')\n",
869 | " if newname != path:\n",
870 | " os.rename(path, newname) \n",
871 | " \n",
872 | " #convert super res frames to .avi \n",
873 | " pathIn = '/content/Real-ESRGAN/results/'\n",
874 | "\n",
875 | " zee = zee+1\n",
876 | " fName = \"video\"+str(zee) \n",
877 | " filenameVid = f\"{fName}.avi\"\n",
878 | " \n",
879 | " pathOut = \"/content/Real-ESRGAN/results_videos/\"+filenameVid\n",
880 | "\n",
881 | " fps = 25.0 #change this to FPS of your source video\n",
882 | "\n",
883 | " convert_frames_to_video(pathIn, pathOut, fps) \n",
884 | "\n",
885 | " #after processing frames converted to .avi video , delete upscaled frames from previous video\n",
886 | " for f in os.listdir(result_folder): \n",
887 | " os.remove(os.path.join(result_folder, f))\n",
888 | "\n",
889 | " #convert .avi to .mp4\n",
890 | " src = '/content/Real-ESRGAN/results_videos/'\n",
891 | " dst = '/content/Real-ESRGAN/results_mp4_videos/'\n",
892 | "\n",
893 | " for root, dirs, filenames in os.walk(src, topdown=False):\n",
894 | " #print(filenames)\n",
895 | " for filename in filenames:\n",
896 | " print('[INFO] 1',filename)\n",
897 | " try:\n",
898 | " _format = ''\n",
899 | " if \".flv\" in filename.lower():\n",
900 | " _format=\".flv\"\n",
901 | " if \".mp4\" in filename.lower():\n",
902 | " _format=\".mp4\"\n",
903 | " if \".avi\" in filename.lower():\n",
904 | " _format=\".avi\"\n",
905 | " if \".mov\" in filename.lower():\n",
906 | " _format=\".mov\"\n",
907 | "\n",
908 | " inputfile = os.path.join(root, filename)\n",
909 | " print('[INFO] 1',inputfile)\n",
910 | " outputfile = os.path.join(dst, filename.lower().replace(_format, \".mp4\"))\n",
911 | " subprocess.call(['ffmpeg', '-i', inputfile, outputfile]) \n",
912 | " except:\n",
913 | " print(\"An exception occurred\") \n",
914 | " \n",
915 | " clear_output(wait=True)\n",
916 | "\n",
917 | " #clearing previous .avi files\n",
918 | " for f in os.listdir(video_result_folder): \n",
919 | " os.remove(os.path.join(video_result_folder, f))\n",
920 | "\n",
921 | " #deletes frames from previous video\n",
922 | " #for f in os.listdir(upload_folder):\n",
923 | " # os.remove(os.path.join(upload_folder, f))\n",
924 | "\n",
925 | " \n",
926 | "\n",
927 | " # if it is out of memory, try to use the `--tile` option\n",
928 | "# We upsample the image with the scale factor X3.5\n",
929 | "\n",
930 | "# Arguments\n",
931 | "# -n, --model_name: Model names\n",
932 | "# -i, --input: input folder or image\n",
933 | "# --outscale: Output scale, can be arbitrary scale factore. "
934 | ],
935 | "execution_count": null,
936 | "outputs": [
937 | {
938 | "output_type": "stream",
939 | "name": "stdout",
940 | "text": [
941 | "PROCESSING :/content/Real-ESRGAN/videos/death-note-light-yagami.mp4\n",
942 | "\n",
943 | "Testing 0 frame0\n",
944 | "\tTile 1/15\n",
945 | "\tTile 2/15\n",
946 | "\tTile 3/15\n",
947 | "\tTile 4/15\n",
948 | "\tTile 5/15\n",
949 | "\tTile 6/15\n",
950 | "\tTile 7/15\n",
951 | "\tTile 8/15\n",
952 | "\tTile 9/15\n",
953 | "\tTile 10/15\n",
954 | "\tTile 11/15\n",
955 | "\tTile 12/15\n",
956 | "\tTile 13/15\n",
957 | "\tTile 14/15\n",
958 | "\tTile 15/15\n",
959 | "Testing 1 frame1\n",
960 | "\tTile 1/15\n",
961 | "\tTile 2/15\n",
962 | "\tTile 3/15\n",
963 | "\tTile 4/15\n",
964 | "\tTile 5/15\n",
965 | "\tTile 6/15\n",
966 | "\tTile 7/15\n",
967 | "\tTile 8/15\n",
968 | "\tTile 9/15\n",
969 | "\tTile 10/15\n",
970 | "\tTile 11/15\n",
971 | "\tTile 12/15\n",
972 | "\tTile 13/15\n",
973 | "\tTile 14/15\n",
974 | "\tTile 15/15\n",
975 | "Testing 2 frame10\n",
976 | "/usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:3680: UserWarning: The default behavior for interpolate/upsample with float scale_factor changed in 1.6.0 to align with other frameworks/libraries, and now uses scale_factor directly, instead of relying on the computed output size. If you wish to restore the old behavior, please set recompute_scale_factor=True. See the documentation of nn.Upsample for details. \n",
977 | " \"The default behavior for interpolate/upsample with float scale_factor changed \"\n",
978 | "\tTile 1/15\n",
979 | "\tTile 2/15\n",
980 | "\tTile 3/15\n",
981 | "\tTile 4/15\n",
982 | "\tTile 5/15\n",
983 | "\tTile 6/15\n",
984 | "\tTile 7/15\n",
985 | "\tTile 8/15\n",
986 | "\tTile 9/15\n",
987 | "\tTile 10/15\n",
988 | "\tTile 11/15\n",
989 | "\tTile 12/15\n",
990 | "\tTile 13/15\n",
991 | "\tTile 14/15\n",
992 | "\tTile 15/15\n",
993 | "Testing 3 frame11\n",
994 | "\tTile 1/15\n",
995 | "\tTile 2/15\n",
996 | "\tTile 3/15\n",
997 | "\tTile 4/15\n",
998 | "\tTile 5/15\n",
999 | "\tTile 6/15\n",
1000 | "\tTile 7/15\n",
1001 | "\tTile 8/15\n",
1002 | "\tTile 9/15\n",
1003 | "\tTile 10/15\n",
1004 | "\tTile 11/15\n",
1005 | "\tTile 12/15\n",
1006 | "\tTile 13/15\n",
1007 | "\tTile 14/15\n",
1008 | "\tTile 15/15\n",
1009 | "Testing 4 frame12\n",
1010 | "\tTile 1/15\n",
1011 | "\tTile 2/15\n",
1012 | "\tTile 3/15\n",
1013 | "\tTile 4/15\n",
1014 | "\tTile 5/15\n",
1015 | "\tTile 6/15\n",
1016 | "\tTile 7/15\n",
1017 | "\tTile 8/15\n",
1018 | "\tTile 9/15\n",
1019 | "\tTile 10/15\n",
1020 | "\tTile 11/15\n",
1021 | "\tTile 12/15\n",
1022 | "\tTile 13/15\n",
1023 | "\tTile 14/15\n",
1024 | "\tTile 15/15\n",
1025 | "Testing 5 frame13\n",
1026 | "\tTile 1/15\n",
1027 | "\tTile 2/15\n",
1028 | "\tTile 3/15\n",
1029 | "\tTile 4/15\n",
1030 | "\tTile 5/15\n",
1031 | "\tTile 6/15\n",
1032 | "\tTile 7/15\n",
1033 | "\tTile 8/15\n",
1034 | "\tTile 9/15\n",
1035 | "\tTile 10/15\n",
1036 | "\tTile 11/15\n",
1037 | "\tTile 12/15\n",
1038 | "\tTile 13/15\n",
1039 | "\tTile 14/15\n",
1040 | "\tTile 15/15\n",
1041 | "Testing 6 frame14\n",
1042 | "\tTile 1/15\n",
1043 | "\tTile 2/15\n",
1044 | "\tTile 3/15\n",
1045 | "\tTile 4/15\n",
1046 | "\tTile 5/15\n",
1047 | "\tTile 6/15\n",
1048 | "\tTile 7/15\n",
1049 | "\tTile 8/15\n",
1050 | "\tTile 9/15\n",
1051 | "\tTile 10/15\n",
1052 | "\tTile 11/15\n",
1053 | "\tTile 12/15\n",
1054 | "\tTile 13/15\n",
1055 | "\tTile 14/15\n",
1056 | "\tTile 15/15\n",
1057 | "Testing 7 frame15\n",
1058 | "\tTile 1/15\n",
1059 | "\tTile 2/15\n",
1060 | "\tTile 3/15\n",
1061 | "\tTile 4/15\n",
1062 | "\tTile 5/15\n",
1063 | "\tTile 6/15\n",
1064 | "\tTile 7/15\n",
1065 | "\tTile 8/15\n",
1066 | "\tTile 9/15\n",
1067 | "\tTile 10/15\n",
1068 | "\tTile 11/15\n",
1069 | "\tTile 12/15\n",
1070 | "\tTile 13/15\n",
1071 | "\tTile 14/15\n",
1072 | "\tTile 15/15\n",
1073 | "Testing 8 frame16\n",
1074 | "\tTile 1/15\n",
1075 | "\tTile 2/15\n",
1076 | "\tTile 3/15\n",
1077 | "\tTile 4/15\n",
1078 | "\tTile 5/15\n",
1079 | "\tTile 6/15\n",
1080 | "\tTile 7/15\n",
1081 | "\tTile 8/15\n",
1082 | "\tTile 9/15\n",
1083 | "\tTile 10/15\n",
1084 | "\tTile 11/15\n",
1085 | "\tTile 12/15\n",
1086 | "\tTile 13/15\n",
1087 | "\tTile 14/15\n",
1088 | "\tTile 15/15\n",
1089 | "Testing 9 frame17\n",
1090 | "\tTile 1/15\n",
1091 | "\tTile 2/15\n",
1092 | "\tTile 3/15\n",
1093 | "\tTile 4/15\n",
1094 | "\tTile 5/15\n",
1095 | "\tTile 6/15\n",
1096 | "\tTile 7/15\n",
1097 | "\tTile 8/15\n",
1098 | "\tTile 9/15\n",
1099 | "\tTile 10/15\n",
1100 | "\tTile 11/15\n",
1101 | "\tTile 12/15\n",
1102 | "\tTile 13/15\n",
1103 | "\tTile 14/15\n",
1104 | "\tTile 15/15\n",
1105 | "Testing 10 frame18\n",
1106 | "\tTile 1/15\n",
1107 | "\tTile 2/15\n",
1108 | "\tTile 3/15\n",
1109 | "\tTile 4/15\n",
1110 | "\tTile 5/15\n",
1111 | "\tTile 6/15\n",
1112 | "\tTile 7/15\n",
1113 | "\tTile 8/15\n",
1114 | "\tTile 9/15\n",
1115 | "\tTile 10/15\n",
1116 | "\tTile 11/15\n",
1117 | "\tTile 12/15\n",
1118 | "\tTile 13/15\n",
1119 | "\tTile 14/15\n",
1120 | "\tTile 15/15\n",
1121 | "Testing 11 frame19\n",
1122 | "\tTile 1/15\n",
1123 | "\tTile 2/15\n",
1124 | "\tTile 3/15\n",
1125 | "\tTile 4/15\n",
1126 | "\tTile 5/15\n",
1127 | "\tTile 6/15\n",
1128 | "\tTile 7/15\n",
1129 | "\tTile 8/15\n",
1130 | "\tTile 9/15\n",
1131 | "\tTile 10/15\n",
1132 | "\tTile 11/15\n",
1133 | "\tTile 12/15\n",
1134 | "\tTile 13/15\n",
1135 | "\tTile 14/15\n",
1136 | "\tTile 15/15\n",
1137 | "Testing 12 frame2\n",
1138 | "\tTile 1/15\n",
1139 | "\tTile 2/15\n",
1140 | "\tTile 3/15\n",
1141 | "\tTile 4/15\n",
1142 | "\tTile 5/15\n",
1143 | "\tTile 6/15\n",
1144 | "\tTile 7/15\n",
1145 | "\tTile 8/15\n",
1146 | "\tTile 9/15\n",
1147 | "\tTile 10/15\n",
1148 | "\tTile 11/15\n",
1149 | "\tTile 12/15\n",
1150 | "\tTile 13/15\n",
1151 | "\tTile 14/15\n",
1152 | "\tTile 15/15\n",
1153 | "Testing 13 frame20\n",
1154 | "\tTile 1/15\n",
1155 | "\tTile 2/15\n",
1156 | "\tTile 3/15\n",
1157 | "\tTile 4/15\n",
1158 | "\tTile 5/15\n",
1159 | "\tTile 6/15\n",
1160 | "\tTile 7/15\n",
1161 | "\tTile 8/15\n",
1162 | "\tTile 9/15\n",
1163 | "\tTile 10/15\n",
1164 | "\tTile 11/15\n",
1165 | "\tTile 12/15\n",
1166 | "\tTile 13/15\n",
1167 | "\tTile 14/15\n",
1168 | "\tTile 15/15\n",
1169 | "Testing 14 frame21\n",
1170 | "\tTile 1/15\n",
1171 | "\tTile 2/15\n",
1172 | "\tTile 3/15\n",
1173 | "\tTile 4/15\n",
1174 | "\tTile 5/15\n",
1175 | "\tTile 6/15\n",
1176 | "\tTile 7/15\n",
1177 | "\tTile 8/15\n",
1178 | "\tTile 9/15\n",
1179 | "\tTile 10/15\n",
1180 | "\tTile 11/15\n",
1181 | "\tTile 12/15\n",
1182 | "\tTile 13/15\n",
1183 | "\tTile 14/15\n",
1184 | "\tTile 15/15\n",
1185 | "Testing 15 frame22\n",
1186 | "\tTile 1/15\n",
1187 | "\tTile 2/15\n",
1188 | "\tTile 3/15\n",
1189 | "\tTile 4/15\n",
1190 | "\tTile 5/15\n",
1191 | "\tTile 6/15\n",
1192 | "\tTile 7/15\n",
1193 | "\tTile 8/15\n",
1194 | "\tTile 9/15\n",
1195 | "\tTile 10/15\n",
1196 | "\tTile 11/15\n",
1197 | "\tTile 12/15\n",
1198 | "\tTile 13/15\n",
1199 | "\tTile 14/15\n",
1200 | "\tTile 15/15\n",
1201 | "Testing 16 frame23\n",
1202 | "\tTile 1/15\n",
1203 | "\tTile 2/15\n",
1204 | "\tTile 3/15\n",
1205 | "\tTile 4/15\n",
1206 | "\tTile 5/15\n",
1207 | "\tTile 6/15\n",
1208 | "\tTile 7/15\n",
1209 | "\tTile 8/15\n",
1210 | "\tTile 9/15\n",
1211 | "\tTile 10/15\n",
1212 | "\tTile 11/15\n",
1213 | "\tTile 12/15\n",
1214 | "\tTile 13/15\n",
1215 | "\tTile 14/15\n",
1216 | "\tTile 15/15\n",
1217 | "Testing 17 frame24\n",
1218 | "\tTile 1/15\n",
1219 | "\tTile 2/15\n",
1220 | "\tTile 3/15\n",
1221 | "\tTile 4/15\n",
1222 | "\tTile 5/15\n",
1223 | "\tTile 6/15\n",
1224 | "\tTile 7/15\n",
1225 | "\tTile 8/15\n",
1226 | "\tTile 9/15\n",
1227 | "\tTile 10/15\n",
1228 | "\tTile 11/15\n",
1229 | "\tTile 12/15\n",
1230 | "\tTile 13/15\n",
1231 | "\tTile 14/15\n",
1232 | "\tTile 15/15\n",
1233 | "Testing 18 frame25\n",
1234 | "\tTile 1/15\n",
1235 | "\tTile 2/15\n",
1236 | "\tTile 3/15\n",
1237 | "\tTile 4/15\n",
1238 | "\tTile 5/15\n",
1239 | "\tTile 6/15\n",
1240 | "\tTile 7/15\n",
1241 | "\tTile 8/15\n",
1242 | "\tTile 9/15\n",
1243 | "\tTile 10/15\n",
1244 | "\tTile 11/15\n",
1245 | "\tTile 12/15\n",
1246 | "\tTile 13/15\n",
1247 | "\tTile 14/15\n",
1248 | "\tTile 15/15\n",
1249 | "Testing 19 frame26\n",
1250 | "\tTile 1/15\n",
1251 | "\tTile 2/15\n",
1252 | "\tTile 3/15\n",
1253 | "\tTile 4/15\n",
1254 | "\tTile 5/15\n",
1255 | "\tTile 6/15\n",
1256 | "\tTile 7/15\n",
1257 | "\tTile 8/15\n",
1258 | "\tTile 9/15\n",
1259 | "\tTile 10/15\n",
1260 | "\tTile 11/15\n",
1261 | "\tTile 12/15\n",
1262 | "\tTile 13/15\n",
1263 | "\tTile 14/15\n",
1264 | "\tTile 15/15\n",
1265 | "Testing 20 frame27\n",
1266 | "\tTile 1/15\n",
1267 | "\tTile 2/15\n",
1268 | "\tTile 3/15\n",
1269 | "\tTile 4/15\n",
1270 | "\tTile 5/15\n",
1271 | "\tTile 6/15\n",
1272 | "\tTile 7/15\n",
1273 | "\tTile 8/15\n",
1274 | "\tTile 9/15\n",
1275 | "\tTile 10/15\n",
1276 | "\tTile 11/15\n",
1277 | "\tTile 12/15\n",
1278 | "\tTile 13/15\n",
1279 | "\tTile 14/15\n",
1280 | "\tTile 15/15\n",
1281 | "Testing 21 frame28\n",
1282 | "\tTile 1/15\n",
1283 | "\tTile 2/15\n",
1284 | "\tTile 3/15\n",
1285 | "\tTile 4/15\n",
1286 | "\tTile 5/15\n",
1287 | "\tTile 6/15\n",
1288 | "\tTile 7/15\n",
1289 | "\tTile 8/15\n",
1290 | "\tTile 9/15\n",
1291 | "\tTile 10/15\n",
1292 | "\tTile 11/15\n",
1293 | "\tTile 12/15\n",
1294 | "\tTile 13/15\n",
1295 | "\tTile 14/15\n",
1296 | "\tTile 15/15\n",
1297 | "Testing 22 frame29\n",
1298 | "\tTile 1/15\n",
1299 | "\tTile 2/15\n",
1300 | "\tTile 3/15\n",
1301 | "\tTile 4/15\n",
1302 | "\tTile 5/15\n",
1303 | "\tTile 6/15\n",
1304 | "\tTile 7/15\n",
1305 | "\tTile 8/15\n",
1306 | "\tTile 9/15\n",
1307 | "\tTile 10/15\n",
1308 | "\tTile 11/15\n",
1309 | "\tTile 12/15\n",
1310 | "\tTile 13/15\n",
1311 | "\tTile 14/15\n",
1312 | "\tTile 15/15\n",
1313 | "Testing 23 frame3\n",
1314 | "\tTile 1/15\n",
1315 | "\tTile 2/15\n",
1316 | "\tTile 3/15\n",
1317 | "\tTile 4/15\n",
1318 | "\tTile 5/15\n",
1319 | "\tTile 6/15\n",
1320 | "\tTile 7/15\n",
1321 | "\tTile 8/15\n",
1322 | "\tTile 9/15\n",
1323 | "\tTile 10/15\n",
1324 | "\tTile 11/15\n",
1325 | "\tTile 12/15\n",
1326 | "\tTile 13/15\n",
1327 | "\tTile 14/15\n",
1328 | "\tTile 15/15\n",
1329 | "Testing 24 frame30\n",
1330 | "\tTile 1/15\n",
1331 | "\tTile 2/15\n",
1332 | "\tTile 3/15\n",
1333 | "\tTile 4/15\n",
1334 | "\tTile 5/15\n",
1335 | "\tTile 6/15\n",
1336 | "\tTile 7/15\n",
1337 | "\tTile 8/15\n",
1338 | "\tTile 9/15\n",
1339 | "\tTile 10/15\n",
1340 | "\tTile 11/15\n",
1341 | "\tTile 12/15\n",
1342 | "\tTile 13/15\n",
1343 | "\tTile 14/15\n",
1344 | "\tTile 15/15\n",
1345 | "Testing 25 frame31\n",
1346 | "\tTile 1/15\n",
1347 | "\tTile 2/15\n",
1348 | "\tTile 3/15\n",
1349 | "\tTile 4/15\n",
1350 | "\tTile 5/15\n",
1351 | "\tTile 6/15\n",
1352 | "\tTile 7/15\n",
1353 | "\tTile 8/15\n",
1354 | "\tTile 9/15\n",
1355 | "\tTile 10/15\n",
1356 | "\tTile 11/15\n",
1357 | "\tTile 12/15\n",
1358 | "\tTile 13/15\n",
1359 | "\tTile 14/15\n",
1360 | "\tTile 15/15\n",
1361 | "Testing 26 frame32\n",
1362 | "\tTile 1/15\n",
1363 | "\tTile 2/15\n",
1364 | "\tTile 3/15\n",
1365 | "\tTile 4/15\n",
1366 | "\tTile 5/15\n",
1367 | "\tTile 6/15\n",
1368 | "\tTile 7/15\n",
1369 | "\tTile 8/15\n",
1370 | "\tTile 9/15\n",
1371 | "\tTile 10/15\n",
1372 | "\tTile 11/15\n",
1373 | "\tTile 12/15\n",
1374 | "\tTile 13/15\n",
1375 | "\tTile 14/15\n",
1376 | "\tTile 15/15\n",
1377 | "Testing 27 frame33\n",
1378 | "\tTile 1/15\n",
1379 | "\tTile 2/15\n",
1380 | "\tTile 3/15\n",
1381 | "\tTile 4/15\n",
1382 | "\tTile 5/15\n",
1383 | "\tTile 6/15\n",
1384 | "\tTile 7/15\n",
1385 | "\tTile 8/15\n",
1386 | "\tTile 9/15\n",
1387 | "\tTile 10/15\n",
1388 | "\tTile 11/15\n",
1389 | "\tTile 12/15\n",
1390 | "\tTile 13/15\n",
1391 | "\tTile 14/15\n",
1392 | "\tTile 15/15\n",
1393 | "Testing 28 frame34\n",
1394 | "\tTile 1/15\n",
1395 | "\tTile 2/15\n",
1396 | "\tTile 3/15\n",
1397 | "\tTile 4/15\n",
1398 | "\tTile 5/15\n",
1399 | "\tTile 6/15\n",
1400 | "\tTile 7/15\n",
1401 | "\tTile 8/15\n",
1402 | "\tTile 9/15\n",
1403 | "\tTile 10/15\n",
1404 | "\tTile 11/15\n",
1405 | "\tTile 12/15\n",
1406 | "\tTile 13/15\n",
1407 | "\tTile 14/15\n",
1408 | "\tTile 15/15\n",
1409 | "Testing 29 frame35\n",
1410 | "\tTile 1/15\n",
1411 | "\tTile 2/15\n",
1412 | "\tTile 3/15\n",
1413 | "\tTile 4/15\n",
1414 | "\tTile 5/15\n",
1415 | "\tTile 6/15\n",
1416 | "\tTile 7/15\n",
1417 | "\tTile 8/15\n",
1418 | "\tTile 9/15\n",
1419 | "\tTile 10/15\n",
1420 | "\tTile 11/15\n",
1421 | "\tTile 12/15\n",
1422 | "\tTile 13/15\n",
1423 | "\tTile 14/15\n",
1424 | "\tTile 15/15\n",
1425 | "Testing 30 frame36\n",
1426 | "\tTile 1/15\n",
1427 | "\tTile 2/15\n",
1428 | "\tTile 3/15\n",
1429 | "\tTile 4/15\n",
1430 | "\tTile 5/15\n",
1431 | "\tTile 6/15\n",
1432 | "\tTile 7/15\n",
1433 | "\tTile 8/15\n",
1434 | "\tTile 9/15\n",
1435 | "\tTile 10/15\n",
1436 | "\tTile 11/15\n",
1437 | "\tTile 12/15\n",
1438 | "\tTile 13/15\n",
1439 | "\tTile 14/15\n",
1440 | "\tTile 15/15\n",
1441 | "Testing 31 frame37\n",
1442 | "\tTile 1/15\n",
1443 | "\tTile 2/15\n",
1444 | "\tTile 3/15\n",
1445 | "\tTile 4/15\n",
1446 | "\tTile 5/15\n",
1447 | "\tTile 6/15\n",
1448 | "\tTile 7/15\n",
1449 | "\tTile 8/15\n",
1450 | "\tTile 9/15\n",
1451 | "\tTile 10/15\n",
1452 | "\tTile 11/15\n",
1453 | "\tTile 12/15\n",
1454 | "\tTile 13/15\n",
1455 | "\tTile 14/15\n",
1456 | "\tTile 15/15\n",
1457 | "Testing 32 frame38\n",
1458 | "\tTile 1/15\n",
1459 | "\tTile 2/15\n",
1460 | "\tTile 3/15\n",
1461 | "\tTile 4/15\n",
1462 | "\tTile 5/15\n",
1463 | "\tTile 6/15\n",
1464 | "\tTile 7/15\n",
1465 | "\tTile 8/15\n",
1466 | "\tTile 9/15\n",
1467 | "\tTile 10/15\n",
1468 | "\tTile 11/15\n",
1469 | "\tTile 12/15\n",
1470 | "\tTile 13/15\n",
1471 | "\tTile 14/15\n",
1472 | "\tTile 15/15\n",
1473 | "Testing 33 frame39\n",
1474 | "\tTile 1/15\n",
1475 | "\tTile 2/15\n",
1476 | "\tTile 3/15\n",
1477 | "\tTile 4/15\n",
1478 | "\tTile 5/15\n",
1479 | "\tTile 6/15\n",
1480 | "\tTile 7/15\n",
1481 | "\tTile 8/15\n",
1482 | "\tTile 9/15\n",
1483 | "\tTile 10/15\n",
1484 | "\tTile 11/15\n",
1485 | "\tTile 12/15\n",
1486 | "\tTile 13/15\n",
1487 | "\tTile 14/15\n",
1488 | "\tTile 15/15\n",
1489 | "Testing 34 frame4\n",
1490 | "\tTile 1/15\n",
1491 | "\tTile 2/15\n",
1492 | "\tTile 3/15\n",
1493 | "\tTile 4/15\n",
1494 | "\tTile 5/15\n",
1495 | "\tTile 6/15\n",
1496 | "\tTile 7/15\n",
1497 | "\tTile 8/15\n",
1498 | "\tTile 9/15\n",
1499 | "\tTile 10/15\n",
1500 | "\tTile 11/15\n",
1501 | "\tTile 12/15\n",
1502 | "\tTile 13/15\n",
1503 | "\tTile 14/15\n",
1504 | "\tTile 15/15\n",
1505 | "Testing 35 frame40\n",
1506 | "\tTile 1/15\n",
1507 | "\tTile 2/15\n",
1508 | "\tTile 3/15\n",
1509 | "\tTile 4/15\n",
1510 | "\tTile 5/15\n",
1511 | "\tTile 6/15\n",
1512 | "\tTile 7/15\n",
1513 | "\tTile 8/15\n",
1514 | "\tTile 9/15\n",
1515 | "\tTile 10/15\n",
1516 | "\tTile 11/15\n",
1517 | "\tTile 12/15\n",
1518 | "\tTile 13/15\n",
1519 | "\tTile 14/15\n",
1520 | "\tTile 15/15\n",
1521 | "Testing 36 frame41\n",
1522 | "\tTile 1/15\n",
1523 | "\tTile 2/15\n",
1524 | "\tTile 3/15\n",
1525 | "\tTile 4/15\n",
1526 | "\tTile 5/15\n",
1527 | "\tTile 6/15\n",
1528 | "\tTile 7/15\n",
1529 | "\tTile 8/15\n",
1530 | "\tTile 9/15\n",
1531 | "\tTile 10/15\n",
1532 | "\tTile 11/15\n",
1533 | "\tTile 12/15\n",
1534 | "\tTile 13/15\n",
1535 | "\tTile 14/15\n",
1536 | "\tTile 15/15\n",
1537 | "Testing 37 frame42\n",
1538 | "\tTile 1/15\n",
1539 | "\tTile 2/15\n",
1540 | "\tTile 3/15\n",
1541 | "\tTile 4/15\n",
1542 | "\tTile 5/15\n",
1543 | "\tTile 6/15\n",
1544 | "\tTile 7/15\n",
1545 | "\tTile 8/15\n",
1546 | "\tTile 9/15\n",
1547 | "\tTile 10/15\n",
1548 | "\tTile 11/15\n",
1549 | "\tTile 12/15\n",
1550 | "\tTile 13/15\n",
1551 | "\tTile 14/15\n",
1552 | "\tTile 15/15\n",
1553 | "Testing 38 frame43\n",
1554 | "\tTile 1/15\n",
1555 | "\tTile 2/15\n",
1556 | "\tTile 3/15\n",
1557 | "\tTile 4/15\n",
1558 | "\tTile 5/15\n",
1559 | "\tTile 6/15\n",
1560 | "\tTile 7/15\n",
1561 | "\tTile 8/15\n",
1562 | "\tTile 9/15\n",
1563 | "\tTile 10/15\n",
1564 | "\tTile 11/15\n",
1565 | "\tTile 12/15\n",
1566 | "\tTile 13/15\n",
1567 | "\tTile 14/15\n",
1568 | "\tTile 15/15\n",
1569 | "Testing 39 frame44\n",
1570 | "\tTile 1/15\n",
1571 | "\tTile 2/15\n",
1572 | "\tTile 3/15\n",
1573 | "\tTile 4/15\n",
1574 | "\tTile 5/15\n",
1575 | "\tTile 6/15\n",
1576 | "\tTile 7/15\n",
1577 | "\tTile 8/15\n",
1578 | "\tTile 9/15\n",
1579 | "\tTile 10/15\n",
1580 | "\tTile 11/15\n",
1581 | "\tTile 12/15\n",
1582 | "\tTile 13/15\n",
1583 | "\tTile 14/15\n",
1584 | "\tTile 15/15\n",
1585 | "Testing 40 frame45\n",
1586 | "\tTile 1/15\n",
1587 | "\tTile 2/15\n",
1588 | "\tTile 3/15\n",
1589 | "\tTile 4/15\n",
1590 | "\tTile 5/15\n",
1591 | "\tTile 6/15\n",
1592 | "\tTile 7/15\n",
1593 | "\tTile 8/15\n",
1594 | "\tTile 9/15\n",
1595 | "\tTile 10/15\n",
1596 | "\tTile 11/15\n",
1597 | "\tTile 12/15\n",
1598 | "\tTile 13/15\n",
1599 | "\tTile 14/15\n",
1600 | "\tTile 15/15\n",
1601 | "Testing 41 frame46\n",
1602 | "\tTile 1/15\n",
1603 | "\tTile 2/15\n",
1604 | "\tTile 3/15\n",
1605 | "\tTile 4/15\n",
1606 | "\tTile 5/15\n",
1607 | "\tTile 6/15\n",
1608 | "\tTile 7/15\n",
1609 | "\tTile 8/15\n",
1610 | "\tTile 9/15\n",
1611 | "\tTile 10/15\n",
1612 | "\tTile 11/15\n",
1613 | "\tTile 12/15\n",
1614 | "\tTile 13/15\n",
1615 | "\tTile 14/15\n",
1616 | "\tTile 15/15\n",
1617 | "Testing 42 frame47\n",
1618 | "\tTile 1/15\n",
1619 | "\tTile 2/15\n",
1620 | "\tTile 3/15\n",
1621 | "\tTile 4/15\n",
1622 | "\tTile 5/15\n",
1623 | "\tTile 6/15\n",
1624 | "\tTile 7/15\n",
1625 | "\tTile 8/15\n",
1626 | "\tTile 9/15\n",
1627 | "\tTile 10/15\n",
1628 | "\tTile 11/15\n",
1629 | "\tTile 12/15\n",
1630 | "\tTile 13/15\n",
1631 | "\tTile 14/15\n",
1632 | "\tTile 15/15\n",
1633 | "Testing 43 frame48\n",
1634 | "\tTile 1/15\n",
1635 | "\tTile 2/15\n",
1636 | "\tTile 3/15\n",
1637 | "\tTile 4/15\n",
1638 | "\tTile 5/15\n",
1639 | "\tTile 6/15\n",
1640 | "\tTile 7/15\n",
1641 | "\tTile 8/15\n",
1642 | "\tTile 9/15\n",
1643 | "\tTile 10/15\n",
1644 | "\tTile 11/15\n",
1645 | "\tTile 12/15\n",
1646 | "\tTile 13/15\n",
1647 | "\tTile 14/15\n",
1648 | "\tTile 15/15\n",
1649 | "Testing 44 frame49\n",
1650 | "\tTile 1/15\n",
1651 | "\tTile 2/15\n",
1652 | "\tTile 3/15\n",
1653 | "\tTile 4/15\n",
1654 | "\tTile 5/15\n",
1655 | "\tTile 6/15\n",
1656 | "\tTile 7/15\n",
1657 | "\tTile 8/15\n",
1658 | "\tTile 9/15\n",
1659 | "\tTile 10/15\n",
1660 | "\tTile 11/15\n",
1661 | "\tTile 12/15\n",
1662 | "\tTile 13/15\n",
1663 | "\tTile 14/15\n",
1664 | "\tTile 15/15\n",
1665 | "Testing 45 frame5\n",
1666 | "\tTile 1/15\n",
1667 | "\tTile 2/15\n",
1668 | "\tTile 3/15\n",
1669 | "\tTile 4/15\n",
1670 | "\tTile 5/15\n",
1671 | "\tTile 6/15\n",
1672 | "\tTile 7/15\n",
1673 | "\tTile 8/15\n",
1674 | "\tTile 9/15\n",
1675 | "\tTile 10/15\n",
1676 | "\tTile 11/15\n",
1677 | "\tTile 12/15\n",
1678 | "\tTile 13/15\n",
1679 | "\tTile 14/15\n",
1680 | "\tTile 15/15\n",
1681 | "Testing 46 frame50\n",
1682 | "\tTile 1/15\n",
1683 | "\tTile 2/15\n",
1684 | "\tTile 3/15\n",
1685 | "\tTile 4/15\n",
1686 | "\tTile 5/15\n",
1687 | "\tTile 6/15\n",
1688 | "\tTile 7/15\n",
1689 | "\tTile 8/15\n",
1690 | "\tTile 9/15\n",
1691 | "\tTile 10/15\n",
1692 | "\tTile 11/15\n",
1693 | "\tTile 12/15\n",
1694 | "\tTile 13/15\n",
1695 | "\tTile 14/15\n",
1696 | "\tTile 15/15\n",
1697 | "Testing 47 frame51\n",
1698 | "\tTile 1/15\n",
1699 | "\tTile 2/15\n",
1700 | "\tTile 3/15\n",
1701 | "\tTile 4/15\n",
1702 | "\tTile 5/15\n",
1703 | "\tTile 6/15\n",
1704 | "\tTile 7/15\n",
1705 | "\tTile 8/15\n",
1706 | "\tTile 9/15\n",
1707 | "\tTile 10/15\n",
1708 | "\tTile 11/15\n",
1709 | "\tTile 12/15\n",
1710 | "\tTile 13/15\n",
1711 | "\tTile 14/15\n",
1712 | "\tTile 15/15\n",
1713 | "Testing 48 frame52\n",
1714 | "\tTile 1/15\n",
1715 | "\tTile 2/15\n",
1716 | "\tTile 3/15\n",
1717 | "\tTile 4/15\n",
1718 | "\tTile 5/15\n",
1719 | "\tTile 6/15\n",
1720 | "\tTile 7/15\n",
1721 | "\tTile 8/15\n",
1722 | "\tTile 9/15\n",
1723 | "\tTile 10/15\n",
1724 | "\tTile 11/15\n",
1725 | "\tTile 12/15\n",
1726 | "\tTile 13/15\n",
1727 | "\tTile 14/15\n",
1728 | "\tTile 15/15\n",
1729 | "Testing 49 frame53\n",
1730 | "\tTile 1/15\n",
1731 | "\tTile 2/15\n",
1732 | "\tTile 3/15\n",
1733 | "\tTile 4/15\n",
1734 | "\tTile 5/15\n",
1735 | "\tTile 6/15\n",
1736 | "\tTile 7/15\n",
1737 | "\tTile 8/15\n",
1738 | "\tTile 9/15\n",
1739 | "\tTile 10/15\n",
1740 | "\tTile 11/15\n",
1741 | "\tTile 12/15\n",
1742 | "\tTile 13/15\n",
1743 | "\tTile 14/15\n",
1744 | "\tTile 15/15\n",
1745 | "Testing 50 frame54\n",
1746 | "\tTile 1/15\n",
1747 | "\tTile 2/15\n",
1748 | "\tTile 3/15\n",
1749 | "\tTile 4/15\n",
1750 | "\tTile 5/15\n",
1751 | "\tTile 6/15\n",
1752 | "\tTile 7/15\n",
1753 | "\tTile 8/15\n",
1754 | "\tTile 9/15\n",
1755 | "\tTile 10/15\n",
1756 | "\tTile 11/15\n",
1757 | "\tTile 12/15\n",
1758 | "\tTile 13/15\n",
1759 | "\tTile 14/15\n",
1760 | "\tTile 15/15\n",
1761 | "Testing 51 frame55\n",
1762 | "\tTile 1/15\n",
1763 | "\tTile 2/15\n",
1764 | "\tTile 3/15\n",
1765 | "\tTile 4/15\n",
1766 | "\tTile 5/15\n",
1767 | "\tTile 6/15\n",
1768 | "\tTile 7/15\n",
1769 | "\tTile 8/15\n",
1770 | "\tTile 9/15\n",
1771 | "\tTile 10/15\n",
1772 | "\tTile 11/15\n",
1773 | "\tTile 12/15\n",
1774 | "\tTile 13/15\n",
1775 | "\tTile 14/15\n",
1776 | "\tTile 15/15\n",
1777 | "Testing 52 frame56\n",
1778 | "\tTile 1/15\n",
1779 | "\tTile 2/15\n",
1780 | "\tTile 3/15\n",
1781 | "\tTile 4/15\n",
1782 | "\tTile 5/15\n",
1783 | "\tTile 6/15\n",
1784 | "\tTile 7/15\n",
1785 | "\tTile 8/15\n",
1786 | "\tTile 9/15\n",
1787 | "\tTile 10/15\n",
1788 | "\tTile 11/15\n",
1789 | "\tTile 12/15\n",
1790 | "\tTile 13/15\n",
1791 | "\tTile 14/15\n",
1792 | "\tTile 15/15\n",
1793 | "Testing 53 frame57\n",
1794 | "\tTile 1/15\n",
1795 | "\tTile 2/15\n",
1796 | "\tTile 3/15\n",
1797 | "\tTile 4/15\n",
1798 | "\tTile 5/15\n",
1799 | "\tTile 6/15\n",
1800 | "\tTile 7/15\n",
1801 | "\tTile 8/15\n",
1802 | "\tTile 9/15\n",
1803 | "\tTile 10/15\n",
1804 | "\tTile 11/15\n",
1805 | "\tTile 12/15\n",
1806 | "\tTile 13/15\n",
1807 | "\tTile 14/15\n",
1808 | "\tTile 15/15\n",
1809 | "Testing 54 frame58\n",
1810 | "\tTile 1/15\n",
1811 | "\tTile 2/15\n",
1812 | "\tTile 3/15\n",
1813 | "\tTile 4/15\n",
1814 | "\tTile 5/15\n",
1815 | "\tTile 6/15\n",
1816 | "\tTile 7/15\n",
1817 | "\tTile 8/15\n",
1818 | "\tTile 9/15\n",
1819 | "\tTile 10/15\n",
1820 | "\tTile 11/15\n",
1821 | "\tTile 12/15\n",
1822 | "\tTile 13/15\n",
1823 | "\tTile 14/15\n",
1824 | "\tTile 15/15\n",
1825 | "Testing 55 frame59\n",
1826 | "\tTile 1/15\n",
1827 | "\tTile 2/15\n",
1828 | "\tTile 3/15\n",
1829 | "\tTile 4/15\n",
1830 | "\tTile 5/15\n",
1831 | "\tTile 6/15\n",
1832 | "\tTile 7/15\n",
1833 | "\tTile 8/15\n",
1834 | "\tTile 9/15\n",
1835 | "\tTile 10/15\n",
1836 | "\tTile 11/15\n",
1837 | "\tTile 12/15\n",
1838 | "\tTile 13/15\n",
1839 | "\tTile 14/15\n",
1840 | "\tTile 15/15\n",
1841 | "Testing 56 frame6\n",
1842 | "\tTile 1/15\n",
1843 | "\tTile 2/15\n",
1844 | "\tTile 3/15\n",
1845 | "\tTile 4/15\n",
1846 | "\tTile 5/15\n",
1847 | "\tTile 6/15\n",
1848 | "\tTile 7/15\n",
1849 | "\tTile 8/15\n",
1850 | "\tTile 9/15\n",
1851 | "\tTile 10/15\n",
1852 | "\tTile 11/15\n",
1853 | "\tTile 12/15\n",
1854 | "\tTile 13/15\n",
1855 | "\tTile 14/15\n",
1856 | "\tTile 15/15\n",
1857 | "Testing 57 frame60\n",
1858 | "\tTile 1/15\n",
1859 | "\tTile 2/15\n",
1860 | "\tTile 3/15\n",
1861 | "\tTile 4/15\n",
1862 | "\tTile 5/15\n",
1863 | "\tTile 6/15\n",
1864 | "\tTile 7/15\n",
1865 | "\tTile 8/15\n",
1866 | "\tTile 9/15\n",
1867 | "\tTile 10/15\n",
1868 | "\tTile 11/15\n",
1869 | "\tTile 12/15\n",
1870 | "\tTile 13/15\n",
1871 | "\tTile 14/15\n",
1872 | "\tTile 15/15\n",
1873 | "Testing 58 frame61\n",
1874 | "\tTile 1/15\n",
1875 | "\tTile 2/15\n",
1876 | "\tTile 3/15\n",
1877 | "\tTile 4/15\n",
1878 | "\tTile 5/15\n",
1879 | "\tTile 6/15\n",
1880 | "\tTile 7/15\n",
1881 | "\tTile 8/15\n",
1882 | "\tTile 9/15\n",
1883 | "\tTile 10/15\n",
1884 | "\tTile 11/15\n",
1885 | "\tTile 12/15\n",
1886 | "\tTile 13/15\n",
1887 | "\tTile 14/15\n",
1888 | "\tTile 15/15\n",
1889 | "Testing 59 frame62\n",
1890 | "\tTile 1/15\n",
1891 | "\tTile 2/15\n",
1892 | "\tTile 3/15\n",
1893 | "\tTile 4/15\n",
1894 | "\tTile 5/15\n",
1895 | "\tTile 6/15\n",
1896 | "\tTile 7/15\n",
1897 | "\tTile 8/15\n",
1898 | "\tTile 9/15\n",
1899 | "\tTile 10/15\n",
1900 | "\tTile 11/15\n",
1901 | "\tTile 12/15\n",
1902 | "\tTile 13/15\n",
1903 | "\tTile 14/15\n",
1904 | "\tTile 15/15\n",
1905 | "Testing 60 frame63\n",
1906 | "\tTile 1/15\n",
1907 | "\tTile 2/15\n",
1908 | "\tTile 3/15\n",
1909 | "\tTile 4/15\n",
1910 | "\tTile 5/15\n",
1911 | "\tTile 6/15\n",
1912 | "\tTile 7/15\n",
1913 | "\tTile 8/15\n",
1914 | "\tTile 9/15\n",
1915 | "\tTile 10/15\n",
1916 | "\tTile 11/15\n",
1917 | "\tTile 12/15\n",
1918 | "\tTile 13/15\n",
1919 | "\tTile 14/15\n",
1920 | "\tTile 15/15\n",
1921 | "Testing 61 frame64\n",
1922 | "\tTile 1/15\n",
1923 | "\tTile 2/15\n",
1924 | "\tTile 3/15\n",
1925 | "\tTile 4/15\n",
1926 | "\tTile 5/15\n",
1927 | "\tTile 6/15\n",
1928 | "\tTile 7/15\n",
1929 | "\tTile 8/15\n",
1930 | "\tTile 9/15\n",
1931 | "\tTile 10/15\n",
1932 | "\tTile 11/15\n",
1933 | "\tTile 12/15\n",
1934 | "\tTile 13/15\n",
1935 | "\tTile 14/15\n",
1936 | "\tTile 15/15\n",
1937 | "Testing 62 frame65\n",
1938 | "\tTile 1/15\n",
1939 | "\tTile 2/15\n",
1940 | "\tTile 3/15\n",
1941 | "\tTile 4/15\n",
1942 | "\tTile 5/15\n",
1943 | "\tTile 6/15\n",
1944 | "\tTile 7/15\n",
1945 | "\tTile 8/15\n",
1946 | "\tTile 9/15\n",
1947 | "\tTile 10/15\n",
1948 | "\tTile 11/15\n",
1949 | "\tTile 12/15\n",
1950 | "\tTile 13/15\n",
1951 | "\tTile 14/15\n",
1952 | "\tTile 15/15\n",
1953 | "Testing 63 frame66\n",
1954 | "\tTile 1/15\n",
1955 | "\tTile 2/15\n",
1956 | "\tTile 3/15\n",
1957 | "\tTile 4/15\n",
1958 | "\tTile 5/15\n",
1959 | "\tTile 6/15\n",
1960 | "\tTile 7/15\n",
1961 | "\tTile 8/15\n",
1962 | "\tTile 9/15\n",
1963 | "\tTile 10/15\n",
1964 | "\tTile 11/15\n",
1965 | "\tTile 12/15\n",
1966 | "\tTile 13/15\n",
1967 | "\tTile 14/15\n",
1968 | "\tTile 15/15\n",
1969 | "Testing 64 frame67\n",
1970 | "\tTile 1/15\n",
1971 | "\tTile 2/15\n",
1972 | "\tTile 3/15\n",
1973 | "\tTile 4/15\n",
1974 | "\tTile 5/15\n",
1975 | "\tTile 6/15\n",
1976 | "\tTile 7/15\n",
1977 | "\tTile 8/15\n",
1978 | "\tTile 9/15\n",
1979 | "\tTile 10/15\n",
1980 | "\tTile 11/15\n",
1981 | "\tTile 12/15\n",
1982 | "\tTile 13/15\n",
1983 | "\tTile 14/15\n",
1984 | "\tTile 15/15\n",
1985 | "Testing 65 frame68\n",
1986 | "\tTile 1/15\n",
1987 | "\tTile 2/15\n",
1988 | "\tTile 3/15\n",
1989 | "\tTile 4/15\n",
1990 | "\tTile 5/15\n",
1991 | "\tTile 6/15\n",
1992 | "\tTile 7/15\n",
1993 | "\tTile 8/15\n",
1994 | "\tTile 9/15\n",
1995 | "\tTile 10/15\n",
1996 | "\tTile 11/15\n",
1997 | "\tTile 12/15\n",
1998 | "\tTile 13/15\n",
1999 | "\tTile 14/15\n",
2000 | "\tTile 15/15\n",
2001 | "Testing 66 frame69\n",
2002 | "\tTile 1/15\n",
2003 | "\tTile 2/15\n",
2004 | "\tTile 3/15\n",
2005 | "\tTile 4/15\n",
2006 | "\tTile 5/15\n",
2007 | "\tTile 6/15\n",
2008 | "\tTile 7/15\n",
2009 | "\tTile 8/15\n",
2010 | "\tTile 9/15\n",
2011 | "\tTile 10/15\n",
2012 | "\tTile 11/15\n",
2013 | "\tTile 12/15\n",
2014 | "\tTile 13/15\n",
2015 | "\tTile 14/15\n",
2016 | "\tTile 15/15\n",
2017 | "Testing 67 frame7\n",
2018 | "\tTile 1/15\n",
2019 | "\tTile 2/15\n",
2020 | "\tTile 3/15\n",
2021 | "\tTile 4/15\n",
2022 | "\tTile 5/15\n",
2023 | "\tTile 6/15\n",
2024 | "\tTile 7/15\n",
2025 | "\tTile 8/15\n",
2026 | "\tTile 9/15\n",
2027 | "\tTile 10/15\n",
2028 | "\tTile 11/15\n",
2029 | "\tTile 12/15\n",
2030 | "\tTile 13/15\n",
2031 | "\tTile 14/15\n",
2032 | "\tTile 15/15\n",
2033 | "Testing 68 frame70\n",
2034 | "\tTile 1/15\n",
2035 | "\tTile 2/15\n",
2036 | "\tTile 3/15\n",
2037 | "\tTile 4/15\n",
2038 | "\tTile 5/15\n",
2039 | "\tTile 6/15\n",
2040 | "\tTile 7/15\n",
2041 | "\tTile 8/15\n",
2042 | "\tTile 9/15\n",
2043 | "\tTile 10/15\n",
2044 | "\tTile 11/15\n",
2045 | "\tTile 12/15\n",
2046 | "\tTile 13/15\n",
2047 | "\tTile 14/15\n",
2048 | "\tTile 15/15\n",
2049 | "Testing 69 frame71\n",
2050 | "\tTile 1/15\n",
2051 | "\tTile 2/15\n",
2052 | "\tTile 3/15\n",
2053 | "\tTile 4/15\n",
2054 | "\tTile 5/15\n",
2055 | "\tTile 6/15\n",
2056 | "\tTile 7/15\n",
2057 | "\tTile 8/15\n",
2058 | "\tTile 9/15\n",
2059 | "\tTile 10/15\n",
2060 | "\tTile 11/15\n",
2061 | "\tTile 12/15\n",
2062 | "\tTile 13/15\n",
2063 | "\tTile 14/15\n",
2064 | "\tTile 15/15\n",
2065 | "Testing 70 frame72\n",
2066 | "\tTile 1/15\n",
2067 | "\tTile 2/15\n",
2068 | "\tTile 3/15\n",
2069 | "\tTile 4/15\n",
2070 | "\tTile 5/15\n",
2071 | "\tTile 6/15\n",
2072 | "\tTile 7/15\n",
2073 | "\tTile 8/15\n",
2074 | "\tTile 9/15\n",
2075 | "\tTile 10/15\n",
2076 | "\tTile 11/15\n",
2077 | "\tTile 12/15\n",
2078 | "\tTile 13/15\n",
2079 | "\tTile 14/15\n",
2080 | "\tTile 15/15\n",
2081 | "Testing 71 frame73\n",
2082 | "\tTile 1/15\n",
2083 | "\tTile 2/15\n",
2084 | "\tTile 3/15\n",
2085 | "\tTile 4/15\n",
2086 | "\tTile 5/15\n",
2087 | "\tTile 6/15\n",
2088 | "\tTile 7/15\n",
2089 | "\tTile 8/15\n",
2090 | "\tTile 9/15\n",
2091 | "\tTile 10/15\n",
2092 | "\tTile 11/15\n",
2093 | "\tTile 12/15\n",
2094 | "\tTile 13/15\n",
2095 | "\tTile 14/15\n",
2096 | "\tTile 15/15\n",
2097 | "Testing 72 frame74\n",
2098 | "\tTile 1/15\n",
2099 | "\tTile 2/15\n",
2100 | "\tTile 3/15\n",
2101 | "\tTile 4/15\n",
2102 | "\tTile 5/15\n",
2103 | "\tTile 6/15\n",
2104 | "\tTile 7/15\n",
2105 | "\tTile 8/15\n",
2106 | "\tTile 9/15\n",
2107 | "\tTile 10/15\n",
2108 | "\tTile 11/15\n",
2109 | "\tTile 12/15\n",
2110 | "\tTile 13/15\n",
2111 | "\tTile 14/15\n",
2112 | "\tTile 15/15\n",
2113 | "Testing 73 frame75\n",
2114 | "\tTile 1/15\n",
2115 | "\tTile 2/15\n",
2116 | "\tTile 3/15\n",
2117 | "\tTile 4/15\n",
2118 | "\tTile 5/15\n",
2119 | "\tTile 6/15\n",
2120 | "\tTile 7/15\n",
2121 | "\tTile 8/15\n",
2122 | "\tTile 9/15\n",
2123 | "\tTile 10/15\n",
2124 | "\tTile 11/15\n",
2125 | "\tTile 12/15\n",
2126 | "\tTile 13/15\n",
2127 | "\tTile 14/15\n",
2128 | "\tTile 15/15\n",
2129 | "Testing 74 frame76\n",
2130 | "\tTile 1/15\n",
2131 | "\tTile 2/15\n",
2132 | "\tTile 3/15\n",
2133 | "\tTile 4/15\n",
2134 | "\tTile 5/15\n",
2135 | "\tTile 6/15\n",
2136 | "\tTile 7/15\n",
2137 | "\tTile 8/15\n",
2138 | "\tTile 9/15\n",
2139 | "\tTile 10/15\n",
2140 | "\tTile 11/15\n",
2141 | "\tTile 12/15\n",
2142 | "\tTile 13/15\n",
2143 | "\tTile 14/15\n",
2144 | "\tTile 15/15\n",
2145 | "Testing 75 frame77\n",
2146 | "\tTile 1/15\n",
2147 | "\tTile 2/15\n",
2148 | "\tTile 3/15\n",
2149 | "\tTile 4/15\n",
2150 | "\tTile 5/15\n",
2151 | "\tTile 6/15\n",
2152 | "\tTile 7/15\n",
2153 | "\tTile 8/15\n",
2154 | "\tTile 9/15\n",
2155 | "\tTile 10/15\n",
2156 | "\tTile 11/15\n",
2157 | "\tTile 12/15\n",
2158 | "\tTile 13/15\n",
2159 | "\tTile 14/15\n",
2160 | "\tTile 15/15\n",
2161 | "Testing 76 frame78\n",
2162 | "\tTile 1/15\n",
2163 | "\tTile 2/15\n",
2164 | "\tTile 3/15\n",
2165 | "\tTile 4/15\n",
2166 | "\tTile 5/15\n",
2167 | "\tTile 6/15\n",
2168 | "\tTile 7/15\n",
2169 | "\tTile 8/15\n",
2170 | "\tTile 9/15\n",
2171 | "\tTile 10/15\n",
2172 | "\tTile 11/15\n",
2173 | "\tTile 12/15\n",
2174 | "\tTile 13/15\n",
2175 | "\tTile 14/15\n",
2176 | "\tTile 15/15\n",
2177 | "Testing 77 frame79\n",
2178 | "\tTile 1/15\n",
2179 | "\tTile 2/15\n",
2180 | "\tTile 3/15\n",
2181 | "\tTile 4/15\n",
2182 | "\tTile 5/15\n",
2183 | "\tTile 6/15\n",
2184 | "\tTile 7/15\n",
2185 | "\tTile 8/15\n",
2186 | "\tTile 9/15\n",
2187 | "\tTile 10/15\n",
2188 | "\tTile 11/15\n",
2189 | "\tTile 12/15\n",
2190 | "\tTile 13/15\n",
2191 | "\tTile 14/15\n",
2192 | "\tTile 15/15\n",
2193 | "Testing 78 frame8\n",
2194 | "\tTile 1/15\n",
2195 | "\tTile 2/15\n",
2196 | "\tTile 3/15\n",
2197 | "\tTile 4/15\n",
2198 | "\tTile 5/15\n",
2199 | "\tTile 6/15\n",
2200 | "\tTile 7/15\n",
2201 | "\tTile 8/15\n",
2202 | "\tTile 9/15\n",
2203 | "\tTile 10/15\n",
2204 | "\tTile 11/15\n",
2205 | "\tTile 12/15\n",
2206 | "\tTile 13/15\n",
2207 | "\tTile 14/15\n",
2208 | "\tTile 15/15\n",
2209 | "Testing 79 frame80\n",
2210 | "\tTile 1/15\n",
2211 | "\tTile 2/15\n",
2212 | "\tTile 3/15\n",
2213 | "\tTile 4/15\n",
2214 | "\tTile 5/15\n",
2215 | "\tTile 6/15\n",
2216 | "\tTile 7/15\n",
2217 | "\tTile 8/15\n",
2218 | "\tTile 9/15\n",
2219 | "\tTile 10/15\n",
2220 | "\tTile 11/15\n",
2221 | "\tTile 12/15\n",
2222 | "\tTile 13/15\n",
2223 | "\tTile 14/15\n",
2224 | "\tTile 15/15\n",
2225 | "Testing 80 frame81\n",
2226 | "\tTile 1/15\n",
2227 | "\tTile 2/15\n",
2228 | "\tTile 3/15\n",
2229 | "\tTile 4/15\n",
2230 | "\tTile 5/15\n",
2231 | "\tTile 6/15\n",
2232 | "\tTile 7/15\n",
2233 | "\tTile 8/15\n",
2234 | "\tTile 9/15\n",
2235 | "\tTile 10/15\n",
2236 | "\tTile 11/15\n",
2237 | "\tTile 12/15\n",
2238 | "\tTile 13/15\n",
2239 | "\tTile 14/15\n",
2240 | "\tTile 15/15\n",
2241 | "Testing 81 frame82\n",
2242 | "\tTile 1/15\n",
2243 | "\tTile 2/15\n",
2244 | "\tTile 3/15\n",
2245 | "\tTile 4/15\n",
2246 | "\tTile 5/15\n",
2247 | "\tTile 6/15\n",
2248 | "\tTile 7/15\n",
2249 | "\tTile 8/15\n",
2250 | "\tTile 9/15\n",
2251 | "\tTile 10/15\n",
2252 | "\tTile 11/15\n",
2253 | "\tTile 12/15\n",
2254 | "\tTile 13/15\n",
2255 | "\tTile 14/15\n",
2256 | "\tTile 15/15\n",
2257 | "Testing 82 frame83\n",
2258 | "\tTile 1/15\n",
2259 | "\tTile 2/15\n",
2260 | "\tTile 3/15\n",
2261 | "\tTile 4/15\n",
2262 | "\tTile 5/15\n",
2263 | "\tTile 6/15\n",
2264 | "\tTile 7/15\n",
2265 | "\tTile 8/15\n",
2266 | "\tTile 9/15\n",
2267 | "\tTile 10/15\n",
2268 | "\tTile 11/15\n",
2269 | "\tTile 12/15\n",
2270 | "\tTile 13/15\n",
2271 | "\tTile 14/15\n",
2272 | "\tTile 15/15\n",
2273 | "Testing 83 frame84\n",
2274 | "\tTile 1/15\n",
2275 | "\tTile 2/15\n",
2276 | "\tTile 3/15\n",
2277 | "\tTile 4/15\n",
2278 | "\tTile 5/15\n",
2279 | "\tTile 6/15\n",
2280 | "\tTile 7/15\n",
2281 | "\tTile 8/15\n",
2282 | "\tTile 9/15\n",
2283 | "\tTile 10/15\n",
2284 | "\tTile 11/15\n",
2285 | "\tTile 12/15\n",
2286 | "\tTile 13/15\n",
2287 | "\tTile 14/15\n",
2288 | "\tTile 15/15\n",
2289 | "Testing 84 frame85\n",
2290 | "\tTile 1/15\n",
2291 | "\tTile 2/15\n",
2292 | "\tTile 3/15\n",
2293 | "\tTile 4/15\n",
2294 | "\tTile 5/15\n",
2295 | "\tTile 6/15\n",
2296 | "\tTile 7/15\n",
2297 | "\tTile 8/15\n",
2298 | "\tTile 9/15\n",
2299 | "\tTile 10/15\n",
2300 | "\tTile 11/15\n",
2301 | "\tTile 12/15\n",
2302 | "\tTile 13/15\n",
2303 | "\tTile 14/15\n",
2304 | "\tTile 15/15\n",
2305 | "Testing 85 frame86\n",
2306 | "\tTile 1/15\n",
2307 | "\tTile 2/15\n",
2308 | "\tTile 3/15\n",
2309 | "\tTile 4/15\n",
2310 | "\tTile 5/15\n",
2311 | "\tTile 6/15\n",
2312 | "\tTile 7/15\n",
2313 | "\tTile 8/15\n",
2314 | "\tTile 9/15\n",
2315 | "\tTile 10/15\n",
2316 | "\tTile 11/15\n",
2317 | "\tTile 12/15\n",
2318 | "\tTile 13/15\n",
2319 | "\tTile 14/15\n",
2320 | "\tTile 15/15\n",
2321 | "Testing 86 frame87\n",
2322 | "\tTile 1/15\n",
2323 | "\tTile 2/15\n",
2324 | "\tTile 3/15\n",
2325 | "\tTile 4/15\n",
2326 | "\tTile 5/15\n",
2327 | "\tTile 6/15\n",
2328 | "\tTile 7/15\n",
2329 | "\tTile 8/15\n",
2330 | "\tTile 9/15\n",
2331 | "\tTile 10/15\n",
2332 | "\tTile 11/15\n",
2333 | "\tTile 12/15\n",
2334 | "\tTile 13/15\n",
2335 | "\tTile 14/15\n",
2336 | "\tTile 15/15\n",
2337 | "Testing 87 frame88\n",
2338 | "\tTile 1/15\n",
2339 | "\tTile 2/15\n",
2340 | "\tTile 3/15\n",
2341 | "\tTile 4/15\n",
2342 | "\tTile 5/15\n",
2343 | "\tTile 6/15\n",
2344 | "\tTile 7/15\n",
2345 | "\tTile 8/15\n",
2346 | "\tTile 9/15\n",
2347 | "\tTile 10/15\n",
2348 | "\tTile 11/15\n",
2349 | "\tTile 12/15\n",
2350 | "\tTile 13/15\n",
2351 | "\tTile 14/15\n",
2352 | "\tTile 15/15\n",
2353 | "Testing 88 frame89\n",
2354 | "\tTile 1/15\n",
2355 | "\tTile 2/15\n",
2356 | "\tTile 3/15\n",
2357 | "\tTile 4/15\n",
2358 | "\tTile 5/15\n",
2359 | "\tTile 6/15\n",
2360 | "\tTile 7/15\n",
2361 | "\tTile 8/15\n",
2362 | "\tTile 9/15\n",
2363 | "\tTile 10/15\n",
2364 | "\tTile 11/15\n",
2365 | "\tTile 12/15\n",
2366 | "\tTile 13/15\n",
2367 | "\tTile 14/15\n",
2368 | "\tTile 15/15\n",
2369 | "Testing 89 frame9\n",
2370 | "\tTile 1/15\n",
2371 | "\tTile 2/15\n",
2372 | "\tTile 3/15\n",
2373 | "\tTile 4/15\n",
2374 | "\tTile 5/15\n",
2375 | "\tTile 6/15\n",
2376 | "\tTile 7/15\n",
2377 | "\tTile 8/15\n",
2378 | "\tTile 9/15\n",
2379 | "\tTile 10/15\n",
2380 | "\tTile 11/15\n",
2381 | "\tTile 12/15\n",
2382 | "\tTile 13/15\n",
2383 | "\tTile 14/15\n",
2384 | "\tTile 15/15\n",
2385 | "Testing 90 frame90\n",
2386 | "\tTile 1/15\n",
2387 | "\tTile 2/15\n",
2388 | "\tTile 3/15\n",
2389 | "\tTile 4/15\n",
2390 | "\tTile 5/15\n",
2391 | "\tTile 6/15\n",
2392 | "\tTile 7/15\n",
2393 | "\tTile 8/15\n",
2394 | "\tTile 9/15\n",
2395 | "\tTile 10/15\n",
2396 | "\tTile 11/15\n",
2397 | "\tTile 12/15\n",
2398 | "\tTile 13/15\n",
2399 | "\tTile 14/15\n",
2400 | "\tTile 15/15\n",
2401 | "Testing 91 frame91\n",
2402 | "\tTile 1/15\n",
2403 | "\tTile 2/15\n",
2404 | "\tTile 3/15\n",
2405 | "\tTile 4/15\n",
2406 | "\tTile 5/15\n",
2407 | "\tTile 6/15\n",
2408 | "\tTile 7/15\n",
2409 | "\tTile 8/15\n",
2410 | "\tTile 9/15\n",
2411 | "\tTile 10/15\n",
2412 | "\tTile 11/15\n",
2413 | "\tTile 12/15\n",
2414 | "\tTile 13/15\n",
2415 | "\tTile 14/15\n",
2416 | "\tTile 15/15\n",
2417 | "Testing 92 frame92\n",
2418 | "\tTile 1/15\n",
2419 | "\tTile 2/15\n",
2420 | "\tTile 3/15\n",
2421 | "\tTile 4/15\n",
2422 | "\tTile 5/15\n",
2423 | "\tTile 6/15\n",
2424 | "\tTile 7/15\n",
2425 | "\tTile 8/15\n",
2426 | "\tTile 9/15\n",
2427 | "\tTile 10/15\n",
2428 | "\tTile 11/15\n",
2429 | "\tTile 12/15\n",
2430 | "\tTile 13/15\n",
2431 | "\tTile 14/15\n",
2432 | "\tTile 15/15\n",
2433 | "Testing 93 frame93\n",
2434 | "\tTile 1/15\n",
2435 | "\tTile 2/15\n",
2436 | "\tTile 3/15\n",
2437 | "\tTile 4/15\n",
2438 | "\tTile 5/15\n",
2439 | "\tTile 6/15\n",
2440 | "\tTile 7/15\n",
2441 | "\tTile 8/15\n",
2442 | "\tTile 9/15\n",
2443 | "\tTile 10/15\n",
2444 | "\tTile 11/15\n",
2445 | "\tTile 12/15\n",
2446 | "\tTile 13/15\n",
2447 | "\tTile 14/15\n",
2448 | "\tTile 15/15\n",
2449 | "Testing 94 frame94\n",
2450 | "\tTile 1/15\n",
2451 | "\tTile 2/15\n",
2452 | "\tTile 3/15\n",
2453 | "\tTile 4/15\n",
2454 | "\tTile 5/15\n",
2455 | "\tTile 6/15\n",
2456 | "\tTile 7/15\n",
2457 | "\tTile 8/15\n",
2458 | "\tTile 9/15\n",
2459 | "\tTile 10/15\n",
2460 | "\tTile 11/15\n",
2461 | "\tTile 12/15\n",
2462 | "\tTile 13/15\n",
2463 | "\tTile 14/15\n",
2464 | "\tTile 15/15\n",
2465 | "Testing 95 frame95\n",
2466 | "\tTile 1/15\n",
2467 | "\tTile 2/15\n",
2468 | "\tTile 3/15\n",
2469 | "\tTile 4/15\n",
2470 | "\tTile 5/15\n",
2471 | "\tTile 6/15\n",
2472 | "\tTile 7/15\n",
2473 | "\tTile 8/15\n",
2474 | "\tTile 9/15\n",
2475 | "\tTile 10/15\n",
2476 | "\tTile 11/15\n",
2477 | "\tTile 12/15\n",
2478 | "\tTile 13/15\n",
2479 | "\tTile 14/15\n",
2480 | "\tTile 15/15\n",
2481 | "Testing 96 frame96\n",
2482 | "\tTile 1/15\n",
2483 | "\tTile 2/15\n",
2484 | "\tTile 3/15\n",
2485 | "\tTile 4/15\n",
2486 | "\tTile 5/15\n",
2487 | "\tTile 6/15\n",
2488 | "\tTile 7/15\n",
2489 | "\tTile 8/15\n",
2490 | "\tTile 9/15\n",
2491 | "\tTile 10/15\n",
2492 | "\tTile 11/15\n",
2493 | "\tTile 12/15\n",
2494 | "\tTile 13/15\n",
2495 | "\tTile 14/15\n",
2496 | "\tTile 15/15\n",
2497 | "/content/Real-ESRGAN/results/frame0.jpg\n",
2498 | "/content/Real-ESRGAN/results/frame1.jpg\n",
2499 | "/content/Real-ESRGAN/results/frame2.jpg\n",
2500 | "/content/Real-ESRGAN/results/frame3.jpg\n",
2501 | "/content/Real-ESRGAN/results/frame4.jpg\n",
2502 | "/content/Real-ESRGAN/results/frame5.jpg\n",
2503 | "/content/Real-ESRGAN/results/frame6.jpg\n",
2504 | "/content/Real-ESRGAN/results/frame7.jpg\n",
2505 | "/content/Real-ESRGAN/results/frame8.jpg\n",
2506 | "/content/Real-ESRGAN/results/frame9.jpg\n",
2507 | "/content/Real-ESRGAN/results/frame10.jpg\n",
2508 | "/content/Real-ESRGAN/results/frame11.jpg\n",
2509 | "/content/Real-ESRGAN/results/frame12.jpg\n",
2510 | "/content/Real-ESRGAN/results/frame13.jpg\n",
2511 | "/content/Real-ESRGAN/results/frame14.jpg\n",
2512 | "/content/Real-ESRGAN/results/frame15.jpg\n",
2513 | "/content/Real-ESRGAN/results/frame16.jpg\n",
2514 | "/content/Real-ESRGAN/results/frame17.jpg\n",
2515 | "/content/Real-ESRGAN/results/frame18.jpg\n",
2516 | "/content/Real-ESRGAN/results/frame19.jpg\n",
2517 | "/content/Real-ESRGAN/results/frame20.jpg\n",
2518 | "/content/Real-ESRGAN/results/frame21.jpg\n",
2519 | "/content/Real-ESRGAN/results/frame22.jpg\n",
2520 | "/content/Real-ESRGAN/results/frame23.jpg\n",
2521 | "/content/Real-ESRGAN/results/frame24.jpg\n",
2522 | "/content/Real-ESRGAN/results/frame25.jpg\n",
2523 | "/content/Real-ESRGAN/results/frame26.jpg\n",
2524 | "/content/Real-ESRGAN/results/frame27.jpg\n",
2525 | "/content/Real-ESRGAN/results/frame28.jpg\n",
2526 | "/content/Real-ESRGAN/results/frame29.jpg\n",
2527 | "/content/Real-ESRGAN/results/frame30.jpg\n",
2528 | "/content/Real-ESRGAN/results/frame31.jpg\n",
2529 | "/content/Real-ESRGAN/results/frame32.jpg\n",
2530 | "/content/Real-ESRGAN/results/frame33.jpg\n",
2531 | "/content/Real-ESRGAN/results/frame34.jpg\n",
2532 | "/content/Real-ESRGAN/results/frame35.jpg\n",
2533 | "/content/Real-ESRGAN/results/frame36.jpg\n",
2534 | "/content/Real-ESRGAN/results/frame37.jpg\n",
2535 | "/content/Real-ESRGAN/results/frame38.jpg\n",
2536 | "/content/Real-ESRGAN/results/frame39.jpg\n",
2537 | "/content/Real-ESRGAN/results/frame40.jpg\n",
2538 | "/content/Real-ESRGAN/results/frame41.jpg\n",
2539 | "/content/Real-ESRGAN/results/frame42.jpg\n",
2540 | "/content/Real-ESRGAN/results/frame43.jpg\n",
2541 | "/content/Real-ESRGAN/results/frame44.jpg\n",
2542 | "/content/Real-ESRGAN/results/frame45.jpg\n",
2543 | "/content/Real-ESRGAN/results/frame46.jpg\n",
2544 | "/content/Real-ESRGAN/results/frame47.jpg\n",
2545 | "/content/Real-ESRGAN/results/frame48.jpg\n",
2546 | "/content/Real-ESRGAN/results/frame49.jpg\n",
2547 | "/content/Real-ESRGAN/results/frame50.jpg\n",
2548 | "/content/Real-ESRGAN/results/frame51.jpg\n",
2549 | "/content/Real-ESRGAN/results/frame52.jpg\n",
2550 | "/content/Real-ESRGAN/results/frame53.jpg\n",
2551 | "/content/Real-ESRGAN/results/frame54.jpg\n",
2552 | "/content/Real-ESRGAN/results/frame55.jpg\n",
2553 | "/content/Real-ESRGAN/results/frame56.jpg\n",
2554 | "/content/Real-ESRGAN/results/frame57.jpg\n",
2555 | "/content/Real-ESRGAN/results/frame58.jpg\n",
2556 | "/content/Real-ESRGAN/results/frame59.jpg\n",
2557 | "/content/Real-ESRGAN/results/frame60.jpg\n",
2558 | "/content/Real-ESRGAN/results/frame61.jpg\n",
2559 | "/content/Real-ESRGAN/results/frame62.jpg\n",
2560 | "/content/Real-ESRGAN/results/frame63.jpg\n",
2561 | "/content/Real-ESRGAN/results/frame64.jpg\n",
2562 | "/content/Real-ESRGAN/results/frame65.jpg\n",
2563 | "/content/Real-ESRGAN/results/frame66.jpg\n",
2564 | "/content/Real-ESRGAN/results/frame67.jpg\n",
2565 | "/content/Real-ESRGAN/results/frame68.jpg\n",
2566 | "/content/Real-ESRGAN/results/frame69.jpg\n",
2567 | "/content/Real-ESRGAN/results/frame70.jpg\n",
2568 | "/content/Real-ESRGAN/results/frame71.jpg\n",
2569 | "/content/Real-ESRGAN/results/frame72.jpg\n",
2570 | "/content/Real-ESRGAN/results/frame73.jpg\n",
2571 | "/content/Real-ESRGAN/results/frame74.jpg\n",
2572 | "/content/Real-ESRGAN/results/frame75.jpg\n",
2573 | "/content/Real-ESRGAN/results/frame76.jpg\n",
2574 | "/content/Real-ESRGAN/results/frame77.jpg\n",
2575 | "/content/Real-ESRGAN/results/frame78.jpg\n",
2576 | "/content/Real-ESRGAN/results/frame79.jpg\n",
2577 | "/content/Real-ESRGAN/results/frame80.jpg\n",
2578 | "/content/Real-ESRGAN/results/frame81.jpg\n",
2579 | "/content/Real-ESRGAN/results/frame82.jpg\n",
2580 | "/content/Real-ESRGAN/results/frame83.jpg\n",
2581 | "/content/Real-ESRGAN/results/frame84.jpg\n",
2582 | "/content/Real-ESRGAN/results/frame85.jpg\n",
2583 | "/content/Real-ESRGAN/results/frame86.jpg\n",
2584 | "/content/Real-ESRGAN/results/frame87.jpg\n",
2585 | "/content/Real-ESRGAN/results/frame88.jpg\n",
2586 | "/content/Real-ESRGAN/results/frame89.jpg\n",
2587 | "/content/Real-ESRGAN/results/frame90.jpg\n",
2588 | "/content/Real-ESRGAN/results/frame91.jpg\n",
2589 | "/content/Real-ESRGAN/results/frame92.jpg\n",
2590 | "/content/Real-ESRGAN/results/frame93.jpg\n",
2591 | "/content/Real-ESRGAN/results/frame94.jpg\n",
2592 | "/content/Real-ESRGAN/results/frame95.jpg\n",
2593 | "/content/Real-ESRGAN/results/frame96.jpg\n",
2594 | "[INFO] 1 video3.avi\n",
2595 | "[INFO] 1 /content/Real-ESRGAN/results_videos/video3.avi\n"
2596 | ]
2597 | }
2598 | ]
2599 | },
2600 | {
2601 | "cell_type": "markdown",
2602 | "metadata": {
2603 | "id": "nKH0syu9ZAwV"
2604 | },
2605 | "source": [
2606 | "# 4. Download Results\n",
2607 | "\n",
2608 | "\n",
2609 | "\n",
2610 | "* All your upscaled .mp4 files will be inside the results_mp4_videos folder (inside Real-ESRGAN folder)\n",
2611 | "\n",
2612 | "\n",
2613 | "* You can right click on the needed file and download it from there.\n",
2614 | "\n",
2615 | "\n",
2616 | "\n",
2617 | "\n"
2618 | ]
2619 | },
2620 | {
2621 | "cell_type": "markdown",
2622 | "metadata": {
2623 | "id": "dUJ_0fQ5YYm2"
2624 | },
2625 | "source": [
2626 | "# 5. Run this cell after the batch of videos have been upscaled \n",
2627 | "# (WARNING : Deletes processed data)\n",
2628 | "\n",
2629 | "\n",
2630 | "\n",
2631 | "* IMPORTANT : Read the comments inside the code section , because this DELETES previous frames and videos\n"
2632 | ]
2633 | },
2634 | {
2635 | "cell_type": "code",
2636 | "metadata": {
2637 | "id": "7IMD5vhOYp68"
2638 | },
2639 | "source": [
2640 | "\n",
2641 | "\n",
2642 | "#deletes frames from previous video\n",
2643 | "for f in os.listdir(upload_folder): \n",
2644 | " os.remove(os.path.join(upload_folder, f))\n",
2645 | "\n",
2646 | "#deletes upscaled frames from previous video\n",
2647 | "for f in os.listdir(result_folder): \n",
2648 | " os.remove(os.path.join(result_folder, f))\n",
2649 | "\n",
2650 | "#deletes all the videos you uploaded for upscaling\n",
2651 | "for f in os.listdir(video_folder): \n",
2652 | " os.remove(os.path.join(video_folder, f))\n",
2653 | "\n",
2654 | "#clearing previous .avi files\n",
2655 | "for f in os.listdir(video_result_folder): \n",
2656 | " os.remove(os.path.join(video_result_folder, f))\n",
2657 | " \n",
2658 | "#clearing .mp4 result files\n",
2659 | "for f in os.listdir(video_mp4_result_folder): \n",
2660 | " os.remove(os.path.join(video_mp4_result_folder, f))"
2661 | ],
2662 | "execution_count": null,
2663 | "outputs": []
2664 | }
2665 | ]
2666 | }
--------------------------------------------------------------------------------